Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Jul 2007 14:39:52 -0700
From:      Chuck Swiger <cswiger@mac.com>
To:        Stephen.Clark@seclark.us
Cc:        freebsd-stable@freebsd.org
Subject:   Re: pmtud + ipnat RELENG_6_2 appears to be broken
Message-ID:  <3C09F7E4-C15A-4B9E-94A3-C4997C73C0BD@mac.com>
In-Reply-To: <46969129.60409@seclark.us>
References:  <469624D1.20108@seclark.us> <4696823B.9020107@seclark.us> <AF67C2DA-4E77-48C5-B380-56D5D39043F4@mac.com> <46969129.60409@seclark.us>

next in thread | previous in thread | raw e-mail | index | archive | help
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





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3C09F7E4-C15A-4B9E-94A3-C4997C73C0BD>