gif interface not passing IPv6 packets

Matt Smith matt at xtaz.co.uk
Mon Sep 26 12:28:38 UTC 2011


On 26 September 2011 12:46, Bjoern A. Zeeb
<bzeeb-lists at lists.zabbadoz.net> wrote:
> Given you are using NAT make sure that works as expected for the gif
> from the remote end.   It might be worth, if you can, do tcpdump on
> the external interface of your router.
>
> Also make sure you can reach the IPv4 tunnel destination.

I am using NAT yes however as I mentioned, this configuration has
worked perfectly before for a good 6 months so I know it works OK
usually. Unfortunately it's only a consumer ADSL router so I can't run
tcpdump on it but I can reach the remote end:

64 bytes from 77.75.104.126: icmp_seq=0 ttl=59 time=20.521 ms

The thing is even if the tunnel was down I should still be able to
ping and use the IP on the local end of the tunnel. I've tested this
on another FreeBSD box and even making up a fake tunnel using the same
commands I mentioned in the previous email it works fine and I can
ping abc::2 from it. On this box that doesn't work.

> There's your problem most likely.  What happens if you remove and re-add the address like:
> ifconfig gif0 inet6 2a01:348:6:45c::2 -alias
> ifconfig gif0 inet6 -accept_rtadv
> ifconfig gif0 inet6 2a01:348:6:45c::2 2a01:348:6:45c::1 alias

The deprecated thing I should have deleted actually before I posted
the last email. I figured someone would pick up on that! I deprecate
the interface so that it chooses another IP that I have on another
interface as the IP to source outgoing traffic from. Again, usually
this works fine. I have however tested removing that just in case and
it made no difference. You can see the second example I made on the
original email when I made a fake gif1 interface using 2abc::

root at tao[~]# ifconfig gif0 inet6 2a01:348:6:45c::2 -alias
root at tao[~]# ifconfig gif0 inet6 -accept_rtadv
root at tao[~]# ifconfig gif0 inet6 2a01:348:6:45c::2 2a01:348:6:45c::1 alias
ifconfig: ioctl (SIOCAIFADDR): Invalid argument
root at tao[~]# ifconfig gif0 inet6 2a01:348:6:45c::2 2a01:348:6:45c::1
prefixlen 128
root at tao[~]# ping6 2a01:348:6:45c::2
PING6(56=40+8+8 bytes) 2a01:348:6:45c::2 --> 2a01:348:6:45c::2
^C
--- 2a01:348:6:45c::2 ping6 statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss
root at tao[~]# ifconfig gif0
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1280
        tunnel inet 192.168.1.2 --> 77.75.104.126
        inet6 fe80::240:63ff:fee8:793e%gif0 prefixlen 64 scopeid 0x5
        inet6 2a01:348:6:45c::2 --> 2a01:348:6:45c::1 prefixlen 128
        nd6 options=1<PERFORMNUD>
        options=1<ACCEPT_REV_ETHIP_VER>


More information about the freebsd-net mailing list