Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Mar 2009 18:36:09 +0100
From:      Martin <nakal@web.de>
To:        stable@freebsd.org
Subject:   IPv6 gif(4) MTU: manpage vs src inconsistency?
Message-ID:  <20090316183609.2b948933@zelda.local>

next in thread | raw e-mail | index | archive | help

Hi,

it seems I have trouble to reach some websites using IPv6 through a gif
tunnel. Most websites work, except for these two:

www.freebsd.org
www.kame.net

I've searched for problems and it seems, I cannot send ping packets
larger than 1232 from the host behind my router. That's why I wanted to
decrease the MTU on gif from 1280 to 1240, as the manpage gif(4)
suggests:

"If the outer protocol is IPv6, path MTU discovery for encapsulated
packets may affect communication over the interface.  The first
bigger-than- pmtu packet may be lost.  To avoid the problem, you may
want to set the interface MTU for gif to 1240 or smaller, when the
outer header is IPv6 and the inner header is IPv4."

And I tried it:

# ifconfig gif0 mtu 1240
ifconfig: ioctl (set mtu): Invalid argument

It does not work, because in source, you can find:
if_gif.h:

#define GIF_MTU		(1280) /* Default MTU */
#define	GIF_MTU_MIN	(1280) /* Minimum MTU */
#define GIF_MTU_MAX	(8192) /* Maximum MTU */

What now? One of the values is wrong, in my opinion.


I still don't know the exact cause of the IPv6 website
problems. Is there anyone who has a solution for this? I can access ALL
WEBSITES from my router directly that has configured the gif tunnel.
But all hosts that use the router for default route cannot access the
two websites. I have also no issues with traffic to IRC server and so
on. I've just found these two hosts that are "different" somehow.

This is confusing.


Router configuration:
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
	inet xx.xx.xx.xx --> yy.yy.yy.yy netmask 0xffffffff 
	Opened by PID 433
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1280
	tunnel inet xx.xx.xx.xx --> 192.88.99.1
	inet6 2002:xxxx:xxxx::1 prefixlen 64 

Host behind the router that chokes on the two websites:
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu
1500
	options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
	ether zz:zz:zz:zz:zz:zz
	inet6 fe80::zzzz:zzzz:zzzz:zzzz%re0 prefixlen 64 scopeid 0x1 
	inet 192.168.0.12 netmask 0xffffff00 broadcast 192.168.0.255
	inet6 fde2:zzzz:zzzz:zzzz:zzzz:zzzz:zzzz:zzzz prefixlen 64
	autoconf 
	inet6 2002:xxxx:xxxx:1:zzzz:zzzz:zzzz:zzzz prefixlen 64
	autoconf 
	media: Ethernet autoselect (100baseTX <full-duplex>)
	status: active

--
Martin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090316183609.2b948933>