On Tue, Aug 9, 2016 at 12:56 PM, Dan Streetman < [email protected]> wrote:
> > I understand this scenario; however, what I don't understand is why > > if we're setting mtu 9002 on the underlying devices, why the mtu on the > > "virtual" device (bond0) > > matters vs. the mtu setting of the ipv6 link, especially since this is > ipv6 > > only. > > I think the slave interface mtu will be used. > > > I'm testing this post-up hook which I think covers all of the cases. > > yep that script looks good. > > only thing i can think of is, what if an interface's inet6 section is > specified (and setup) first, before the interface's inet section? e.g. > > auto eth0 > iface eth0 inet6 static > address 2001:dbe::1/64 > mtu 1480 > > iface eth0 inet static > address 10.0.0.1 > mtu 1500 > > would that cause the device mtu to be (re)set to 1500, after the ipv6 > Testing the above scenario works fine. The interface has 1500 mtu, and sysctl shows ipv6 link at 1480. However, if we have a higher mtu onthe ipv6 link, like 4800, then the inet section mtu setting clobbers it and they both end up at 1500. Now, that case I still believe is *invalid* configuration; > mtu had been set? That would reset the ipv6 mtu to 1500. Can the > ordering of inet/inet6 sections always be inet before inet6? > Curtin can provide some ordering here, but ifupdown always runs from top-down. > > -- > You received this bug notification because you are subscribed to the bug > report. > https://bugs.launchpad.net/bugs/1609367 > > Title: > ifupdown does not set ipv6-only large mtu > > To manage notifications about this bug go to: > https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/ > 1609367/+subscriptions > -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to ifupdown in Ubuntu. https://bugs.launchpad.net/bugs/1609367 Title: ifupdown does not set ipv6-only large mtu Status in ifupdown package in Ubuntu: Incomplete Bug description: ifupdown changes a device's mtu differently, between "inet" section mtu and "inet6" section mtu. For "inet", ifupdown changes the device's mtu, using 'ip link set DEV mtu NNN'. However for "inet6", ifupdown changes the interface's IPv6 mtu, using 'sysctl -q -e -w net.ipv6.conf.DEV.mtu=NNN'. The problem is that a device's ipv6 mtu cannot be larger than the device mtu. Normally this is not a problem; the main reason a device needs a separate ipv6 mtu is to support ipv6 tunneling inside ipv4 (e.g. 6in4 or 6rd), so ifupdown would also have a ipv4 "inet" section that contained a larger mtu (or, the ipv6 section would have a lower- than-default mtu). But, in the case of an interface that is configured only for ipv6 *and* large frames (e.g. 9000 mtu), there is only an "inet6" section in the ifupdown config, and so ifupdown fails to set the device's mtu, which causes its attempt to set the ipv6 mtu to fail. I believe the correct behavior is for ifupdown to check if there is any "inet" config section for the same device as the "inet6" section, and if there is not then it should change the device mtu as well as the ipv6 mtu. Additionally, the "inet6" configuration must be done after the "inet" configuration for the same device, since the ipv6 mtu can't be higher than the device mtu. I don't see any easy way to add that logic to inet6.defn, however... To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1609367/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : [email protected] Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp

