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.
Sam
More information about the freebsd-net
mailing list