I have an MTU of 16110 set on eth0 on a network where the MTU is 1500 as set by RAs. One of the other hosts on the network has an MRU/MTU of 7200 so I have a specific route to it with this MTU. If I add the route early (i.e. on startup) before address autoconfiguration takes place, when the first RA is received the kernel changes the MTU on my route - this should not happen.
Reply-To: simon@fire.lp0.eu On 15/07/07 10:29, Simon Arlott wrote: > On 14/07/07 23:09, Andrew Morton wrote: >> On Sat, 14 Jul 2007 14:54:32 -0700 (PDT) bugme-daemon@bugzilla.kernel.org >> wrote: >>> http://bugzilla.kernel.org/show_bug.cgi?id=8754 >>> >>> I have an MTU of 16110 set on eth0 on a network where the MTU is 1500 as >>> set by >>> RAs. One of the other hosts on the network has an MRU/MTU of 7200 so I have >>> a >>> specific route to it with this MTU. >>> >>> If I add the route early (i.e. on startup) before address autoconfiguration >>> takes place, when the first RA is received the kernel changes the MTU on my >>> route - this should not happen. > > This also happens whenever I change the MTU on eth0 - it will alter the > MTU on routes *I* have added too. While this is valid behaviour for a > new MTU that is too low for the route it is not for an MTU above the route. > > Changing the MTU also allows the "next RA with MTU set changes > non-kernel routes too" problem to occur again. The problem seems to be that because the IPv6 code maintains its own MTU for each interface, which is set from RAs (router advertisements) and when the interface MTU is set (it's also improperly modifiable via sysctl when it shouldn't be, but that's another bug), it uses that to limit the MTU of every route. I propose that it should use the real interface MTU as the limit for non-kernel routes and the RA MTU for kernel routes. Since IPv6 routes (appear to) always have an MTU (IPv4 routes don't and hence inherit from the interface) this would have the side effect that a user-added route's automatically set MTU would not be lowered by the RA MTU. New user IPv6 routes without an explicit MTU should not have one set and use the RA MTU automatically. Is this ok? I'll send a patch to do this some time this week when I get around to it.
How can this be closed as REJECTED INSUFFICIENT_DATA when no data was requested?