On Wed, Apr 1, 2015, at 19:55, David Miller wrote: > From: Roman Gushchin <kl...@yandex-team.ru> > Date: Wed, 01 Apr 2015 12:58:50 +0300 > > > 31.03.2015, 23:49, "David Miller" <da...@davemloft.net>: > >> From: Hannes Frederic Sowa <han...@stressinduktion.org> > >> Date: Tue, 31 Mar 2015 22:35:48 +0200 > >>> Could you quickly comment on what you had in mind? I guess it is about > >>> handling RA in user space on the end hosts and overwriting MTU during > >>> insertion of the routes? > >> > >> Even after reading your email I have no idea why you can't just have > >> RA provide a 1500 byte MTU, everything else uses the device's 9000 > >> MTU, problem solved? > > > > Because the MTU (provided by RA) is assigned to the device. > > Ok, that severely limits the usefulness of this option I guess. > > The next question I have is about the behavior of the new setting > in the presence of an RA MTU option. It seems like the sysctl > doesn't override that RA MTU option, but rather just clamps it. > > And then if it's in range, this controls only whether the default > route has it's MTU adjusted. > > That doesn't make any sense to me if we then go and do the > rt6_mtu_change() call unconditionally. The route metric update > and the rt6_mtu_change() go hand in hand.
Agreed but that gets interesting: I guess during testing the cnf.mtu6 value was equal to the newly announced mtu value, so the rt6_mtu_change call does not happen. We update cnf.mtu6 so a second RA packet would actually bring the system into the desired state but we have a moment where the default route carries a too big MTU. That's not good. Easiest solution is to reorder those calls but that also leaves us with a time frame where we carry the incorrect MTU on the default route. Otherwise we must conditionally filter out the default routes. Roman, any ideas? Thanks, Hannes -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/