6.2 mtu now limits size of incomming packet

Sam Leffler sam at errno.com
Sat Jul 14 20:32:46 UTC 2007

Mike Karels wrote:
>> In -CURRENT my changes to the ethernet input path maintain the use of 
>> ETHER_MAX_FRAME() however the check is folded under #ifdef DIAGNOSTIC. I 
>> don't recall adding this conditional or touching it so it seems to be 
>> something which was already thereo radded by someone else.
> It has been there at least since 6.0.  The issue is that ETHER_MAX_FRAME
> is computed using ifp->if_mtu, as opposed to something like ETHER_MAX_LEN.
> This is under #ifdef DIAGNOSTIC in -current, not in -stable.
>> Could be pilot error; its use in -CURRENT seems to apply strictly to the 
>> use of large-receive offload (LRO).
> LRO relaxes the requirement, otherwise LRO packets would never pass the
> check.

I can't recall if I brought the check in when I moved a lot of common 
logic out of 802.3 drivers' rx intr handler or if it pre-dated that.  I 
believe the code is shared with netbsd (which I cross-checked when I did 
that cleanup work).

I think removing it is fine.  As has been said mtu was never intended to 
  be applied to the rx path.


More information about the freebsd-net mailing list