> and the tl;dr is that IPv6 supports per protocol, rather than interface.
the ipv6 mtu is for situations where the host's ipv6 connection uses (at some point down the line) ipv6 tunneling, for example 6in4 or 6rd. The ipv6 mtu is strictly a subset of the device mtu; it can never be more than the device mtu. For cases where the system has native ipv6 connectivity, typically the device mtu == ipv6 mtu, so the device mtu should be set and the ipv6 mtu should not be changed. Anytime the device mtu is set, the ipv6 mtu is also changed to match it. I think the ifupdown api is not actually in sync with what the ipv6 mtu really means. Part of this comes from the fact that ifupdown separates conf into "inet" for ipv4 and "inet6" for ipv6, but mtu isn't actually a networking layer setting; it's a link layer setting. Within the inet/ipv4 and inet6/ipv6 constraints, one possibility is instead of setting the ipv6 mtu for all cases of a "inet6" section, ifupdown should restore the original behavior of setting the device mtu for either a "inet" or "inet6" section mtu param, and an additional "mtu6" param, valid only in the "inet6" section, should be added. That new param should be used to configure a lower ipv6 mtu for cases of ipv6 tunneling. Something like: iface eth1 inet manual mtu 1500 iface eth1 inet6 manual mtu 1500 # this is equivalent to the "inet" section mtu mtu6 1480 However, that's obviously an api change that may require other changes to things that create ifupdown configuration. Alternately, ifupdown could add logic to decide whether or not to change the device mtu or the ipv6 mtu, e.g. pseudocode: if (interface_does_not_have_inet_section) # the "inet6" mtu really meant device mtu, not ipv6 mtu device_mtu = inet6_section_mtu else if (inet_section_has_mtu) device_mtu = inet_section_mtu ipv6_mtu = inet6_section_mtu else # interface has inet config, # but mtu specified only in ipv6, # must infer meaning if (current_device_mtu < inet6_section_mtu) # assume large device mtu desired device_mtu = inet6_section_mtu else # assume ipv6 tunneling ipv6_mtu = inet6_section_mtu -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. 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 -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs