FreeBSD discarding received packets > MTU

David Christensen davidch at broadcom.com
Fri Sep 7 10:51:43 PDT 2007


> > It could certainly be argued by some that Cisco is not standards
> > compliant in this case for sending an oversized Ethernet frame
> > and expecting everyone to accept it.  Hardware has limitations
> > and assuming that all Ethernet controllers can support frames
> > greater than 1522 bytes is not reasonable.  Fortunately there is
> > a suitable workaround which is setting a larger MTU for the 
> > interface.  What size do you use?  How did you arrive at that
> > value?
> 
> I use 1550 to make it work in the test harness.
> 
> The trouble is that if I set the mtu to 1550, and the machine 
> talks to another
> such machine with it's mtu also set to 1550 then they 
> negotiate a maximum sized
> packet based on 1550, and the problem hits me again. This is 
> a web proxy 
> and that problem occurs when there are two layers of proxy 
> and one proxy talks to 
> another. I really just need it to to silently accept a packet some 
> 32 bytes or so larger than the stated MTU.
> 
> I see no reason for the driver to not do what the em driver 
> does and allow 
> itself to receive any packet up to the MCLBYTES size.
> 
> We only hit this problem recently because the data interfaces on our
> devices are usually em NICs and we only just recently started 
> allowing the 
> users to use the built in (on DELL 2950) bce interfaces for 
> this purpose.
> 

I'm not completely opposed to making such a change, but I don't want
to make a default change in the driver's behavior that other people 
may be depending upon (whether they are aware of it or not).  A
tunable driver value could be the answer but I'm not entirely sure
how it would fare in the hardware at the high end of MTU values such 
as 9000.

Dave



More information about the freebsd-net mailing list