Can you explain which part fails? "ifupdown fails to set the device's mtu, which causes its attempt to set the ipv6 mtu to fail"
This is the change that drove the use of sysctl to set mtu: https://anonscm.debian.org/git/collab- maint/ifupdown.git/commit/?id=a1b2c5555fea935d91961dc2df3ac5cfe6668bcf which comes from bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=809714 and the tl;dr is that IPv6 supports per protocol, rather than interface. It appears that we want the opposite here; so it's not quite clear how to resolve this. In the case that the user doesn't want the underlying interface MTU to change, then the sysctl is needed to change the MTU *only* for IPv6. In the original bug where one is comparing ip output of MTU; is there something *not* working ? Or did we just observe that the bond interface isn't the same MTU? Can we confirm that without the bond interface itself set to MTU 9202 that we don't see the correct jumbo frames over ipv6? ** Bug watch added: Debian Bug tracker #809714 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=809714 ** Changed in: ifupdown (Ubuntu) Status: Confirmed => Incomplete -- 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 : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp