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.