tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: ICMP_UNREACH_NEEDFRAG returns iface MTU instead of route?



On Sat, Dec 28, 2013 at 10:55:53AM -0500, Greg Troxel wrote:
> I disagree; there seems to be no notion in the standards that discovered
> MTUs for routes are to be propagated.   The entire notion of "route MTU"
> is just an implementation detail to store PMTU-D information.

Is it? That seems like the root of the problem then... the routing
table is used to store routing information, including info on how to
route forwarded packets. PTMU-D info should be stored elsewhere... or
at least it should be marked with some flag tht the kernel can look at
to know whether it's a PMTU cache entry or an actual route. AFAICT,
neither Linux nor Windows uses the routing table for its PMTU cache.

> I agree that the combination of declining to forward a packet via a
> route and returning an interface MTU greater than the route MTU is
> broken.
> 
> The real question is:
> 
>   Why is it ok to decline to forward packets because they are bigger
>   than the route MTU, when the route MTU is about PMTU-D to be used for
>   locally-sourced packest?

I don't think it's OK, but that's an orthogonal issue. If someone
wants to fix that, I'm all for it. However, I don't think that's a
prerequisite for fixing the issue I'm reporting: if NetBSD is going to
drop a packet because it exceeds the MTU, it needs to properly report
what that MTU is.
-- 
Name: Dave Huang         |  Mammal, mammal / their names are called /
INet: khym%azeotrope.org@localhost |  they raise a paw / the bat, the cat /
FurryMUCK: Dahan         |  dolphin and dog / koala bear and hog -- TMBG
Dahan: Hani G Y+C 38 Y++ L+++ W- C++ T++ A+ E+ S++ V++ F- Q+++ P+ B+ PA+ PL++


Home | Main Index | Thread Index | Old Index