On Thu, 2016-10-20 at 14:51 +0000, Jon Maloy wrote:
[...]
quoted
At this point we're about to copy INT_H_SIZE + mhsz bytes into the
first fragment. If that's already limited to be less than or equal to
MAX_H_SIZE, comparing with MAX_H_SIZE would be fine. But if MAX_H_SIZE
is the maximum value of mhsz, that won't be good enough.
MAX_H_SIZE is 60 bytes, but in practice you will never see an mhsz larger than the biggest header we are actually using, which is MCAST_H_SIZE (==44 bytes).
INT_H_SIZE is 40 bytes, so you are in reality testing for whether we have an mtu < 84 bytes.
You won't find any interfaces or protocols that come even close to this limitation, so to me this test is redundant.
But I can easily create such an interface:
$ unshare -n -U -r
# ip l set lo mtu 1
Ben.
--
Ben Hutchings
Never put off till tomorrow what you can avoid all together.