Re: [PATCH v3] net: sysctl for RA default route MTU
From: Hannes Frederic Sowa <hidden>
Date: 2015-04-01 19:33:08
Also in:
lkml
On Wed, Apr 1, 2015, at 19:55, David Miller wrote:
From: Roman Gushchin <redacted> Date: Wed, 01 Apr 2015 12:58:50 +0300quoted
31.03.2015, 23:49, "David Miller" [off-list ref]:quoted
From: Hannes Frederic Sowa <redacted> Date: Tue, 31 Mar 2015 22:35:48 +0200quoted
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