IPv6 tunnel MTU of 1480 not effective
Jason Mann
jason at b0rken.org
Thu May 9 08:34:40 UTC 2013
Hello list,
I have a dedicated server running FreeBSD 9.1-RELEASE hosted with an
IPv4-only hosting company and have set up a Hurricane Electric IPv6
tunnel to it. It's mostly working fine.
However I'm only able to send IPv6 packets from my host that fit an MTU
of 1280 even though I've set the tunnel interface and per-route MTU to
1480, based on the "outer" ethernet connection having an MTU of 1500.
Hurricane Electric supports this and I've set the MTU to 1480 on their
side as well.
This issue is evident when I try to send IPv6 pings larger than 1280
bytes to the remote tunnel peer. The outgoing echo request is chopped
into two fragments, while the response comes back in one fragment, as
follows:
% ping6 -c 1 -s 1432 2001:470:1f08:84f::1
PING6(1480=40+8+1432 bytes) 2001:470:1f09:84f::2 --> 2001:470:1f08:84f::1
1440 bytes from 2001:470:1f08:84f::1, icmp_seq=0 hlim=64 time=1.514 ms
--- 2001:470:1f08:84f::1 ping6 statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 1.514/1.514/1.514/0.000 ms
The corresponding tcpdump output:
09:10:30.368328 IP6 2001:470:1f09:84f::2 > 2001:470:1f08:84f::1: frag
(0|1232) ICMP6, echo request, seq 0, length 1232
09:10:30.368337 IP6 2001:470:1f09:84f::2 > 2001:470:1f08:84f::1: frag
(1232|208)
09:10:30.369740 IP6 2001:470:1f08:84f::1 > 2001:470:1f09:84f::2: ICMP6,
echo reply, seq 0, length 1440
Here's my config:
% ifconfig gif0
gif0: flags=8151<UP,POINTOPOINT,RUNNING,PROMISC,MULTICAST> metric 0 mtu 1480
tunnel inet <ipv4 address> --> 216.66.80.26
inet6 fe80::be30:5bff:feda:b396%gif0 prefixlen 64 scopeid 0x6
inet6 2001:470:1f08:84f::2 --> 2001:470:1f08:84f::1 prefixlen 128
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
options=1<ACCEPT_REV_ETHIP_VER>
% route -n get -inet6 default
route to: ::
destination: ::
mask: default
gateway: 2001:470:1f08:84f::1
interface: gif0
flags: <UP,GATEWAY,DONE,STATIC>
recvpipe sendpipe ssthresh rtt,msec mtu weight expire
0 0 0 0 1480 1 0
Can anyone advise on what I may have done wrong or misunderstood here?
I realise that an MTU of 1280 is the minimum supported by IPv6, but I
don't see why I shouldn't be able to increase the MTU as high as the
outer transport will support to improve efficiency.
Thanks,
JM
More information about the freebsd-net
mailing list