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
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to