pmtud + ipnat RELENG_6_2 appears to be broken
cswiger at mac.com
Thu Jul 12 21:39:52 UTC 2007
On Jul 12, 2007, at 1:38 PM, Stephen Clark wrote:
>> The MTU is actually defined in reference to a network segment such
>> as an "ethernet collision domain", and applies to all machines
>> sending traffic to that segment. If the MTU is really 1280,
>> nobody else should be sending larger packets, and the drivers
>> will drop any larger packets they receive and generate the
>> appropriate ICMP error....
> First thanks for responding but thats the problem,
> this did't generate an icmp when the packet was dropped.
> kernel: rl0: discard oversize frame (ether type 800 flags 3 len
> 1514 > max
> This message did not result in any icmp packet.
> I was running tcpdump looking for them.
Taking a quick look at ether_input() in src/sys/net/if_ethersubr.c
suggests that you are right-- if the incoming packet exceeds the MTU
being set, the input errors count for that interface is incremented,
but no ICMP_UNREACH_NEEDFRAG is generated even if DF flag is set.
You might file a PR and see whether you can get Andre or one of the
other networking gurus interested in fixing this. Or maybe I'll give
it a try myself if I can get some free time.... :-)
More information about the freebsd-stable