Subject: Re: Neighbour Discovery Bug?
To: None <current-users@netbsd.org>
From: Feico Dillema <dillema@acm.org>
List: current-users
Date: 07/21/1999 13:44:27
On Tue, Jul 20, 1999 at 08:33:45PM +0200, Feico Dillema wrote:
> On Wed, Jul 21, 1999 at 03:24:02AM +0900, itojun@iijlab.net wrote:
> > I believe you meant 'unnumbered IPv6-over-IPv4 tunnel" to say that
> > "tunnel interface without global IPv6 address". It can be configured
> That's more or less what I meant, yep.
Apologies for my inaccuracies in my initial report. I'm behind the offending
machine again, and I tried to reproduce it. I'll try to give you all
relevant information.
what I see is:
- auto configuration works fine (both address and default route)
- ND seems ok, the other side is detected as it appears in routing table
- but ND cache doesn't get updated for gif0 (see below)
here's the config and info:
first the host:
2 spam:~> ifconfig gif0
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
inet6 fe80:9::10:4bff:fea4:548c -> :: prefixlen 64
inet6 3ffe:2a00:100:3002:10:4bff:fea4:548c -> :: prefixlen 64
3 spam:~> gifconfig gif0
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
inet6 fe80:9::10:4bff:fea4:548c prefixlen 64
inet6 3ffe:2a00:100:3002:10:4bff:fea4:548c prefixlen 64
physical address inet 129.242.17.148 --> 129.242.16.231
4 spam:~> netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Mtu Interface
default 129.242.17.145 UGS 4 1787 1500 ep0
127.0.0.1 127.0.0.1 UH 1 110 32976 lo0
129.242.17/24 link#1 UC 0 0 1500 ep0
129.242.17.145 00:60:8c:c2:49:66 UHL 1 0 1500 ep0
Internet6:
Destination Gateway Flags Refs Use Mtu Interface
default fe80:9::210:4bff:fe32:7df7 UG 0 7 1280 gif0
::1 ::1 UH 0 0 32976 lo0
3ffe:2a00:100:3002::/64 link#9 UC 0 0 1280 gif0
fe80:1::/64 link#1 UC 0 0 1500 ep0
fe80:2::/64 fe80:2::1 U 0 0 32976 lo0
fe80:9::/64 fe80:9::10:4bff:fea4:548c U 1 0 1280 gif0
fe80:9::10:4bff:fea4:548c ::1 UH 1 0 32976 lo0
fe80:9::210:4bff:fe32:7df7 fe80:9::10:4bff:fea4:548c UHL 0 3 1280 gif0
5 spam:~> ndp -a
Neighbor Linklayer Address Netif Expire St Flgs Prbs
ndp: ioctl: Device not configured
ndp: failed to get neighbor information
fe80:9::210:4bff:fe32:7df7 (incomplete) (null)
7 spam:~> ping6 -c 1 fe80:9::210:4bff:fe32:7df7
PING6(56=40+8+8 bytes) fe80::10:4bff:fea4:548c --> fe80:9::210:4bff:fe32:7df7
16 bytes from fe80::210:4bff:fe32:7df7, icmp_seq=0 hlim=64 time=34.229 ms
--- fe80:9::210:4bff:fe32:7df7 ping6 statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 34.229/34.229/34.229 ms
8 spam:~> ping6 -c 1 3ffe:2a00:100:3002::1
PING6(56=40+8+8 bytes) 3ffe:2a00:100:3002:10:4bff:fea4:548c --> 3ffe:2a00:100:3002::1
^C
--- 3ffe:2a00:100:3002::1 ping6 statistics ---
1 packets transmitted, 0 packets received, 100% packet loss
9 spam:~> ping6 pastaws0
PING6(56=40+8+8 bytes) 3ffe:2a00:100:3002:10:4bff:fea4:548c --> 3ffe:2a00:100:3001::2
^C
--- pastaws0.pasta.cs.uit.no ping6 statistics ---
2 packets transmitted, 0 packets received, 100% packet loss
+++++++++++++++++++++++++++++++++++++++++
and the other end of the tunnel, acting sa router, pastaws0:
it runs:
rtadvd xl0 gif2
with an empty rtadvd.conf (I never really figured that one out,
and the defaults seem to work fine for interface xl0)
bash-2.02# ifconfig vx0
vx0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80:2::2c0:4fff:fed9:226d prefixlen 64
inet6 3ffe:2a00:100:3001:: prefixlen 64 anycast
inet6 3ffe:2a00:100:3001::2 prefixlen 64
ether 00:c0:4f:d9:22:6d
bash-2.02# ifconfig xl0
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80:1::210:4bff:fe32:7df7 prefixlen 64
inet 129.242.16.231 netmask 0xffffff00 broadcast 129.242.16.255
inet6 3ffe:2a00:100:3002:: prefixlen 64 anycast
inet6 3ffe:2a00:100:3002::1 prefixlen 64
ether 00:10:4b:32:7d:f7
media: 100baseTX <half-duplex>
supported media: autoselect 100baseTX <full-duplex> 100baseTX <half-duplex> 100baseTX 10baseT/UTP <full-duplex> 10baseT/UTP 10baseT/UTP <half-duplex>
bash-2.02# ifconfig gif2
gif2: flags=8151<UP,POINTOPOINT,RUNNING,PROMISC,MULTICAST> mtu 1280
inet6 fe80:6::210:4bff:fe32:7df7 prefixlen 64
bash-2.02# gifconfig gif2
gif2: flags=8151<UP,POINTOPOINT,RUNNING,PROMISC,MULTICAST> mtu 1280
inet6 fe80:6::210:4bff:fe32:7df7 prefixlen 64
physical address inet 129.242.16.231 --> 129.242.17.148
bash-2.02# ndp -a
Neighbor Linklayer Address Netif Expire St Flgs Prbs
^C
bash-2.02# ndp -an
Neighbor Linklayer Address Netif Expire St Flgs Prbs
3ffe:2a00:100:3001::1 0:80:1c:5d:30:10 vx0 expired S R
3ffe:2a00:100:3001::2 0:c0:4f:d9:22:6d vx0 permanent R
3ffe:2a00:100:3001::3 0:60:b0:b5:66:43 vx0 expired S
3ffe:2a00:100:3001:280:1cff:f 0:80:1c:5d:30:10 vx0 expired S R
3ffe:2a00:100:3001:2c0:4fff:f 0:c0:4f:d9:22:6d vx0 permanent R
3ffe:2a00:100:3002::1 0:10:4b:32:7d:f7 xl0 permanent R
3ffe:2a00:100:3002::2 0:60:b0:a4:da:73 xl0 expired S
3ffe:2a00:100:3002::1:1 0:10:4b:a4:54:8c xl0 expired S
3ffe:2a00:100:3002:210:4bff:f 0:10:4b:32:7d:f7 xl0 permanent R
3ffe:2a00:100:3002:260:b0ff:f 0:60:b0:a4:da:73 xl0 expired S
3ffe:2a00:100:3002:260:b0ff:f 0:60:b0:c1:59:44 xl0 expired S
fe80:1::210:4bff:fe32:7df7 0:10:4b:32:7d:f7 xl0 permanent R
fe80:1::210:4bff:fea4:548c 0:10:4b:a4:54:8c xl0 expired S
fe80:1::210:a4ff:fef7:6413 0:10:a4:f7:64:13 xl0 expired S
fe80:1::260:b0ff:fea4:da73 0:60:b0:a4:da:73 xl0 expired S
fe80:1::260:b0ff:feb5:666e 0:60:b0:b5:66:6e xl0 expired S
fe80:1::260:b0ff:fec1:5944 0:60:b0:c1:59:44 xl0 expired S
fe80:2::260:b0ff:feb5:6643 0:60:b0:b5:66:43 vx0 expired S
fe80:2::280:1cff:fe5d:3010 0:80:1c:5d:30:10 vx0 15s R R
fe80:2::2c0:4fff:fed9:226d 0:c0:4f:d9:22:6d vx0 permanent R
ndp: ioctl: Device not configured
ndp: failed to get neighbor information
fe80:6::10:4bff:fea4:548c (incomplete) (null)
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default 129.242.16.1 UGSc xl0
127.0.0.1 127.0.0.1 UH lo0
129.242.16/24 link#1 UC xl0
<snip>
Internet6:
Destination Gateway Flags Netif Expire
default fe80:2::280:1cff:fe5d:3010 UGc vx0
::1 ::1 UH lo0
<snip>
3ffe:2a00:100:3001::/64 link#2 UC vx0
3ffe:2a00:100:3001::1 0:80:1c:5d:30:10 UHLW vx0
3ffe:2a00:100:3001::2 0:c0:4f:d9:22:6d UHLW lo0
3ffe:2a00:100:3001::3 0:60:b0:b5:66:43 UHLW vx0
3ffe:2a00:100:3001:280:1cff:fe5d:3010 0:80:1c:5d:30:10 UHLW vx0
3ffe:2a00:100:3001:2c0:4fff:fed9:226d 0:c0:4f:d9:22:6d UHLW lo0
3ffe:2a00:100:3002::/64 link#1 UC xl0
3ffe:2a00:100:3002::1 0:10:4b:32:7d:f7 UHLW lo0
3ffe:2a00:100:3002::2 0:60:b0:a4:da:73 UHLW xl0
3ffe:2a00:100:3002::1:1 0:10:4b:a4:54:8c UHLW xl0
3ffe:2a00:100:3002:210:4bff:fe32:7df7 0:10:4b:32:7d:f7 UHLW lo0
3ffe:2a00:100:3002:260:b0ff:fea4:da73 0:60:b0:a4:da:73 UHLW xl0
3ffe:2a00:100:3002:260:b0ff:fec1:5944 0:60:b0:c1:59:44 UHLW xl0
<snip>
fe80:6::/64 fe80:6::210:4bff:fe32:7df7 Uc gif2
fe80:6::10:4bff:fea4:548c fe80:6::210:4bff:fe32:7df7 UHL gif2
fe80:6::210:4bff:fe32:7df7 ::1 UH lo0
<snip>
bash-2.02# ping6 -I gif2 ff02::1
PING6(56=40+8+8 bytes) fe80::210:4bff:fe32:7df7 --> ff02::1
16 bytes from fe80::210:4bff:fe32:7df7, icmp_seq=0 hlim=64 time=0.376 ms
16 bytes from fe80::10:4bff:fea4:548c, icmp_seq=0 hlim=64 time=22.473 ms(DUP!)
16 bytes from fe80::210:4bff:fe32:7df7, icmp_seq=1 hlim=64 time=0.221 ms
16 bytes from fe80::10:4bff:fea4:548c, icmp_seq=1 hlim=64 time=18.748 ms(DUP!)
^C
--- ff02::1 ping6 statistics ---
2 packets transmitted, 2 packets received, +2 duplicates, 0% packet loss
round-trip min/avg/max = 0.221/10.454/22.473 ms
+++++++++++++++++++++++++++++++++++
that's about all. I hoped the above would work, but it doesn't really.
Maybe I'm trying to do something illegal, but then I'd like to know
why... BTW, I notice that on pastaws0, the FreeBSD router, there's
no route in the table for the autoconfiged IPv6 address at the
other side of the tunnel.
spam is cleanly configured, i.e. the above shows how it is after a
reboot. pastaws0 has been up for two months with quite some
modifcations to v6 config (and tunnel configs) in that time,
so maybe it is time for a reboot of that machine. I hate to do
it, but if you think it might help, please tell me...
thanks for all your help,
Feico.