pmtud + ipnat RELENG_6_2 appears to be broken

Chuck Swiger 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
> 1294)
>
> 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....  :-)

-- 
-Chuck




More information about the freebsd-stable mailing list