[Bug 1609367] Re: ifupdown does not set ipv6-only large mtu

Ryan Harper 1609367 at bugs.launchpad.net
Fri Aug 5 01:07:24 UTC 2016


On Thu, Aug 4, 2016 at 5:21 PM, Dan Streetman <
dan.streetman+launchpad at canonical.com> wrote:

> > In the original bug where one is comparing ip output of MTU; is there
> something *not* working ?
>
> in that original bug, the user is trying to set up ipv6 tunneling:
>
> "This scenario is quiet common when using tunnels (e.g. Sixxs) to provide
> IPv6
> connectivity. My IPv6 MTU needs to be 20 bytes smaller than may IPv4 MTU
> because of the tunnel's overhead."
>
> > 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?
>
> this isn't bonding-specific, the example from bug 1609861 just happens
> to use bonding.  But an regular interface configured with a "inet6"
> section mtu of e.g. 9000 and no "inet" section (or an "inet" section but
> no mtu in it) will not correctly set the device mtu to 9000.
>

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.

Do we see packets actually get fragmented at the bond ?


>
> --
> 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
Foundations Bugs, 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



More information about the foundations-bugs mailing list