Subject: Gianfar : Drop a long frame

From: "voncken" <[email-masked]>
Date: Wed, 30 Jan 2013 14:43:36 +0100

Hi Claudiu, 

	I have a problem with the gianfar driver.

	My test conditions are:
		- Disable rxvlan hardware acceleration (ethtool -K ethx
rxvlan off)
		- Receive frame contains a VLAN tag and with a frame len set
to the MTU (1500 bytes).

	In this condition, when I received a long frame the bdp->length is
set to 1538 bytes. 
	I guess it is composed of:
		1500 bytes: L3 data bytes
		 + 14 bytes:  Ethernet header 
		 + 4 bytes:  Vlan Tag header 
		 + 8 bytes: FCB structure size GMAC_FCB_LEN
		 + 8 bytes: eTSEC padding
		 + 4 bytes: Frames CRC (FCS)

	The Maximum frame len is set to 1536 because the function
gfar_change_mtu does not integrate the FCS in the computed frame size.
	In this condition this frame is dropped with the test line 2792
function gfar_clean_rx_ring 
		if (unlikely(!(bdp->status & RXBD_ERR) &&
				bdp->length > priv->rx_buffer_size))
			bdp->status = RXBD_LARGE;
	
	How I can receive this frame correctly?
	
	Best regards

Cedric Voncken | R&d Engineer
----------------------------------------------------------------------------
------------------------------
T : +33 1 30 56 46 52 
[email-masked] | www.acksys.fr
----------------------------------------------------------------------------
------------------------------

ZA Val Joyeux - 10 rue des Entrepreneurs - 78450 VILLEPREUX - France
----------------------------------------------------------------------------
----------