Subject: Re: Gianfar : Drop a long frame

From: Claudiu Manoil <[email-masked]>
Date: Wed, 30 Jan 2013 17:55:44 +0200

On 1/30/2013 3:43 PM, voncken wrote:
> 	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

Hi Cedric Voncken,
Is the 802.1Q support activated on the receiving host? (see
CONFIG_VLAN_8021Q)