netdev
[Top] [All Lists]

Re: hard_start_xmit and Linux bridging

To: Lewis Adam-CAL022 <Adam.Lewis@xxxxxxxxxxxx>
Subject: Re: hard_start_xmit and Linux bridging
From: Ben Greear <greearb@xxxxxxxxxxxxxxx>
Date: Thu, 09 Sep 2004 16:30:10 -0700
Cc: netdev@xxxxxxxxxxx
In-reply-to: <FD52892BD296D71183B400065BFCB6900EDB4C74@il02exm12>
Organization: Candela Technologies
References: <FD52892BD296D71183B400065BFCB6900EDB4C74@il02exm12>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.2) Gecko/20040803
Lewis Adam-CAL022 wrote:
Hi all,

I tried going to the bridge@xxxxxxxxxxxxxx for this question but got no 
response, I'm hoping somebody here has had a similar experience as me.

Basically, I put my wlan0 driver in a bridge with eth0. When my hard_start_xmit() function is called (as a result of a packet received on eth0 and bridged to my driver), the skb that I am passed contains an extra four bytes (e.g. the Ethernet FCS).

In my mind, this should be stripped off.  But I have looked at all the open 
source net drivers I could find and nobody seems to care.  Is there a way to 
know if the skb has been forwarded by a bridged interface?  If I forward on the 
extra bytes, then a 1500 byte packet becomes 1504 and fails the MTU check on 
the other side of the wireless interface (when it is passed back to eth0).

TIA,
Adam

I added some ioctls to allow one to turn on the ability to receive the CRC, but I don't know of any drivers that include it by default.

What driver/hardware is your eth0 device?

How are you determining the size, by the skb->len ?

Does tcpdump/ethereal show the extra 4 bytes if you sniff eth0 w/out bridging?

Ben

--
Ben Greear <greearb@xxxxxxxxxxxxxxx>
Candela Technologies Inc  http://www.candelatech.com


<Prev in Thread] Current Thread [Next in Thread>