Date: Thu, 09 May 2013 09:33:21 +0100 From: Jason Mann <jason@b0rken.org> To: freebsd-net@freebsd.org Subject: IPv6 tunnel MTU of 1480 not effective Message-ID: <518B5F51.8020804@b0rken.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?518B5F51.8020804>