Bug 15530 - ipip6 MTU cannot be set lower than 1280
Summary: ipip6 MTU cannot be set lower than 1280
Status: RESOLVED OBSOLETE
Alias: None
Product: Networking
Classification: Unclassified
Component: IPV6 (show other bugs)
Hardware: All Linux
: P1 low
Assignee: Hideaki YOSHIFUJI
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-03-13 14:38 UTC by Bernhard Schmidt
Modified: 2013-12-10 18:13 UTC (History)
2 users (show)

See Also:
Kernel Version: 2.6.32
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Bernhard Schmidt 2010-03-13 14:38:36 UTC
The (inner) MTU of a ipip6 (IPv4-in-IPv6) tunnel cannot be set below 1280, which is the minimum MTU in IPv6. However, there should be no IPv6 on the tunnel interface at all (ipip6 cannot transport it), so the IPv6 rules should not apply.

root@pest:~# ip -6 tunnel add test1 mode ipip6 remote 2001:xxxx::26 local 2001:xxx::1:1
root@pest:~# ip link set test1 mtu 1280
root@pest:~# ip link set test1 mtu 1279
RTNETLINK answers: Invalid argument

This prevents the tunnel from work on paths that only support a (outer) IPv6 MTU of 1280, since the tunnel adds an additional overhead of 40 bytes.

Setting net.ipv6.conf.<if>.disable_ipv6=1 and/or removing the IPv6 link-local address on the tunnel interface does not help.
Comment 1 Andrew Morton 2010-03-19 21:21:01 UTC
(switched to email.  Please respond via emailed reply-to-all, not via the
bugzilla web interface).

On Sat, 13 Mar 2010 14:38:54 GMT
bugzilla-daemon@bugzilla.kernel.org wrote:

> http://bugzilla.kernel.org/show_bug.cgi?id=15530
> 
>            Summary: ipip6 MTU cannot be set lower than 1280
>            Product: Networking
>            Version: 2.5
>     Kernel Version: 2.6.32
>           Platform: All
>         OS/Version: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: low
>           Priority: P1
>          Component: IPV6
>         AssignedTo: yoshfuji@linux-ipv6.org
>         ReportedBy: berni@birkenwald.de
>         Regression: No
> 
> 
> The (inner) MTU of a ipip6 (IPv4-in-IPv6) tunnel cannot be set below 1280,
> which is the minimum MTU in IPv6. However, there should be no IPv6 on the
> tunnel interface at all (ipip6 cannot transport it), so the IPv6 rules should
> not apply.
> 
> root@pest:~# ip -6 tunnel add test1 mode ipip6 remote 2001:xxxx::26 local
> 2001:xxx::1:1
> root@pest:~# ip link set test1 mtu 1280
> root@pest:~# ip link set test1 mtu 1279
> RTNETLINK answers: Invalid argument
> 
> This prevents the tunnel from work on paths that only support a (outer) IPv6
> MTU of 1280, since the tunnel adds an additional overhead of 40 bytes.
> 
> Setting net.ipv6.conf.<if>.disable_ipv6=1 and/or removing the IPv6 link-local
> address on the tunnel interface does not help.
>
Comment 2 Oussama Ghorbel 2013-09-26 19:36:35 UTC
I have submitted a patch to netdev/linux-kernel mailing lists and to the subsystem maintainers.

Subject is: [PATCH] IPv6: Allow the MTU of ipip6 tunnel to be set below 1280

It can also be viewed here:
http://marc.info/?l=linux-netdev&m=138020715711239&w=2

Regards

Note You need to log in before you can comment on or make changes to this bug.