Subject: Recent ipv6 changes and gif breakage
To: None <tech-net@netbsd.org>
From: Martijn van Buul <pino@dohd.org>
List: tech-net
Date: 01/25/2006 21:14:03
Hello

The recent changes to the IPv6 stack seems to have killed my gif tunnel.
Although I'm not 100% convinced that my slightly odd configuration[1]
plays no role, I don't think it's the major issue.

What happens is that I do see traffic coming *into* the tunnel as well
as traffic going *out* of the tunnel, but that neighbour discovery seems
to go very wrong. My tunnel endpoint (2001:610:1108:5001::3f) is doing
a neighbour request for the remote endpoint (2001:610:1108:5001::3e), but
there's no response.  Likewise, I see 2001:610:1108:5001::3e asking for
2001:610:1008:5001::3f, but ::3f isn't responding.

This means that if I do a tcpdump on gif0, and ping a known to be working
machine on the outside, I can see my ping requests pass by. If I do a tcpdump
on the external interface of my machine, I see them as well. But there's no
response. Likewise, if I try to ping my endpoint (or a machine in my 
allocated range) from the outside, I can see the ping requests arrive at my
host (both on gif0 and the external interface), but nothing is being
transmitted back.

Any suggestions would be welcome. I might be able to convince the system
administration of my tunnel endpoint to do some diagnostics on their side of
the tunnel, if that would be helpful.

For the record, my ifconfig:

re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	capabilities=3d80<TSO4,IP4CSUM_Rx,TCP4CSUM_Rx,TCP4CSUM_Tx,UDP4CSUM_Rx,UDP4CSUM_Tx>
	enabled=0
	address: 00:40:f4:ce:5b:43
	media: Ethernet autoselect (1000baseT full-duplex)
	status: active
	inet 192.168.64.1 netmask 0xffffff80 broadcast 192.168.64.127
	inet6 fe80::240:f4ff:fece:5b43%re0 prefixlen 64 scopeid 0x1
	inet6 2001:610:1108:5220:8000::1 prefixlen 65
ral0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	ssid pienjo nwkey *****
	powersave off
	bssid 00:0c:f6:18:7f:0e chan 2
	address: 00:0c:f6:18:7f:0e
	media: IEEE802.11 autoselect hostap (autoselect mode 11b hostap)
	status: active
	inet 192.168.64.129 netmask 0xffffff80 broadcast 192.168.64.255
	inet6 fe80::20c:f6ff:fe18:7f0e%ral0 prefixlen 64 scopeid 0x2
	inet6 2001:610:1108:5220::1 prefixlen 65
rtk0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	address: 00:50:fc:f0:60:58
	media: Ethernet autoselect (100baseTX full-duplex)
	status: active
	inet 192.168.5.2 netmask 0xffffff00 broadcast 192.168.5.255
	inet6 fe80::250:fcff:fef0:6058%rtk0 prefixlen 64 scopeid 0x3
lo0: flags=8009<UP,LOOPBACK,MULTICAST> mtu 33648
	inet 127.0.0.1 netmask 0xff000000
	inet alias 85.145.84.197 netmask 0xff000000
	inet6 ::1 prefixlen 128
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
	inet6 2001:610:1108:5220:250:fcff:fef0:6058 prefixlen 64
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
	tunnel inet 85.145.84.197 --> 131.155.141.2
	inet6 2001:610:1108:5001::3f ->  prefixlen 64
	inet6 fe80::240:f4ff:fece:5b43%gif0 ->  prefixlen 64 scopeid 0x5

Default IPv6 route is 2001:610:1108:510::3e, default IPv4 route is
192.168.5.1. And yes, I know that this is a private address, but no, I can't
change it.

This setup works using a kernel built friday last week, but doesn't when
using a kernel built today.

Kind regards,

Martijn.
[1] My local tunnel endpoint is an alias of lo0, for various reasons.
-- 
    Martijn van Buul - pino@dohd.org - http://www.stack.nl/~martijnb/
	 Geek code: G--  - Visit OuterSpace: mud.stack.nl 3333
 The most exciting phrase to hear in science, the one that heralds new
discoveries, is not 'Eureka!' (I found it!) but 'That's funny ...' Isaac Asimov