Subject: Re: incorrect need-frag ICMPs?
To: None <tech-net@netbsd.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: tech-net
Date: 06/28/2000 13:23:39
In the small hours this morning, I wrote

> Under what circumstances can NetBSD generate need-frag ICMP
> unreachables incorrectly (ie, when the packet does fit the
> interface)?
[...]
> I did add a log() call to ip_output(), where EMSGSIZE is generated if
> DF is set, and it seems that the mtu it's comparing the packet length
> against is 1024, not 1300.  The only place I can see that this might
> possibly have come from is encap1, which does have MTU 1024 - but
> [...]

I have since noticed another possible place.

On stone - the gateway off my house LAN - the packets for omega don't
match any more specific route, so they take the default route - and
that route has MTU 1024.

This then raises two questions: (1) why do 1300-byte packets *ever*
work and (2) why, if that route's MTU matters, does the need-frag
packet report the interface's MTU of 1300 rather than the route's MTU
of 1024?  (There's actually also (3) why does that route have MTU 1024,
but that's a question for me to address to the software which maintains
it, but it's my own code, so that's not really a question for the list.)

					der Mouse

			       mouse@rodents.montreal.qc.ca
		     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B