Hi,

First, I am unsure to properly report the problem, so sorry about that.
Feel free to require additionnal commands output...

Since approx 1 mounth, I experiment ipv6 connectivity failure on
localnet.

Symptoms are simple:

clyde$ ping6 bert
PING bert (2001:41d0:fe39:c05c:215:c5ff:fe0b:8b7a): 56 data bytes
^C
--- bert ping statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss


clyde$ ndp -na
Neighbor                             Linklayer Address   Netif Expire    S Flags
2001:41d0:fe39:c05c:21b:38ff:fe33:97b0 00:1b:38:33:97:b0  bge0 permanent R l
2001:41d0:fe39:c05c:8083:2db8:b1dd:fa5f 00:1b:38:33:97:b0 bge0 permanent R l
2001:41d0:fe39:c05c:cabe:19ff:fee2:2ced c8:be:19:e2:2c:ed bge0 23h51m2s  S R
2001:41d0:fe39:c05c:fc3b:24a4:b062:a5f1 00:1b:38:33:97:b0 bge0 permanent R l
fe80::21b:38ff:fe33:97b0%bge0        00:1b:38:33:97:b0    bge0 permanent R l
fe80::cabe:19ff:fee2:2ced%bge0       c8:be:19:e2:2c:ed    bge0 23h50m57s S R

clyde$ ifconfig bge0
bge0: flags=208843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6> mtu 1500
        lladdr 00:1b:38:33:97:b0
        index 1 priority 0 llprio 3
        groups: egress
        media: Ethernet autoselect (1000baseT full-duplex,rxpause,txpause)
        status: active
        inet 192.168.92.12 netmask 0xffffff00 broadcast 192.168.92.255
        inet6 fe80::21b:38ff:fe33:97b0%bge0 prefixlen 64 scopeid 0x1
        inet6 2001:41d0:fe39:c05c:21b:38ff:fe33:97b0 prefixlen 64 autoconf 
pltime 604798 vltime 2591998
        inet6 2001:41d0:fe39:c05c:8083:2db8:b1dd:fa5f prefixlen 64 deprecated 
autoconf autoconfprivacy pltime 0 vltime 500421
        inet6 2001:41d0:fe39:c05c:fc3b:24a4:b062:a5f1 prefixlen 64 autoconf 
autoconfprivacy pltime 67986 vltime 586575

The ipv4 works well. So I am able to ssh to other side, and run
commands.

bert$ ifconfig bce0
bce0: 
flags=208b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST,AUTOCONF6> 
mtu 1500
        lladdr 00:15:c5:0b:8b:7a
        index 2 priority 0 llprio 3
        groups: egress
        media: Ethernet autoselect (100baseTX full-duplex)
        status: active
        inet 192.168.92.11 netmask 0xffffff00 broadcast 192.168.92.255
        inet6 fe80::215:c5ff:fe0b:8b7a%bce0 prefixlen 64 scopeid 0x2
        inet6 2001:41d0:fe39:c05c:215:c5ff:fe0b:8b7a prefixlen 64 autoconf 
pltime 604787 vltime 2591987
        inet6 2001:41d0:fe39:c05c:cc7d:ea48:8c60:cde4 prefixlen 64 deprecated 
autoconf autoconfprivacy pltime 0 vltime 500418
        inet6 2001:41d0:fe39:c05c:b445:a71f:4841:3cad prefixlen 64 autoconf 
autoconfprivacy pltime 67916 vltime 586758

bert$ ndp -na
Neighbor                             Linklayer Address   Netif Expire    S Flags
2001:41d0:fe39:c05c:215:c5ff:fe0b:8b7a 00:15:c5:0b:8b:7a  bce0 permanent R l
2001:41d0:fe39:c05c:b445:a71f:4841:3cad 00:15:c5:0b:8b:7a bce0 permanent R l
2001:41d0:fe39:c05c:cc7d:ea48:8c60:cde4 00:15:c5:0b:8b:7a bce0 permanent R l
fe80::215:c5ff:fe0b:8b7a%bce0        00:15:c5:0b:8b:7a    bce0 permanent R l
fe80::cabe:19ff:fee2:2ced%bce0       c8:be:19:e2:2c:ed    bce0 expired   I R

bert$ ping6 google.com
PING google.com (2a00:1450:4013:c03::8a): 56 data bytes
^C
--- google.com ping statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss

(whereas on clyde, the same command works).


bert$ tcpdump -i bce0 ip6
11:53:57.026648 fe80::cabe:19ff:fee2:2ced > ff02::1: icmp6: router advertisement
11:54:03.079325 2001:41d0:fe39:c05c:fc3b:24a4:b062:a5f1 > ff02::1:ff0b:8b7a: 
icmp6: neighbor sol: who has 2001:41d0:fe39:c05c:215:c5ff:fe0b:8b7a
11:54:04.073044 2001:41d0:fe39:c05c:fc3b:24a4:b062:a5f1 > ff02::1:ff0b:8b7a: 
icmp6: neighbor sol: who has 2001:41d0:fe39:c05c:215:c5ff:fe0b:8b7a
11:54:05.073059 2001:41d0:fe39:c05c:fc3b:24a4:b062:a5f1 > ff02::1:ff0b:8b7a: 
icmp6: neighbor sol: who has 2001:41d0:fe39:c05c:215:c5ff:fe0b:8b7a
11:54:06.073202 2001:41d0:fe39:c05c:fc3b:24a4:b062:a5f1 > ff02::1:ff0b:8b7a: 
icmp6: neighbor sol: who has 2001:41d0:fe39:c05c:215:c5ff:fe0b:8b7a

bert saw the "neighbor sol" from clyde, but don't reply.
it saw also route advertisement from alf (the gateway - openbsd too).
note that even with the route advertisement, the ndp entry for
"c8:be:19:e2:2c:ed" is still expired (but I dunno if it should be
updated by route adv.).


I have this comportement for all hosts (amd64 and i386) on my network,
if they don't actively use ipv6. clyde has not problem for example, but
it has "family inet6 inet4" in resolv.conf, and is regulary used (it is
my laptop).

bert is a build host, so have only few outgoing connection (and it
prefers inet4).


I had recorded a tcpdump session for all ip6 from yesterday (when it
still worked) to today (when it didn't work), and also a ndp -tnA 5
session. So I am able to extract some elements on demand (but as I don't
know what to search...)


As I administrate all my network using ipv6, I think to be able to
approximatively locate the problem in the time (because I am unable to
connect to my hosts when I want to upgrade them).

On other amd64 host (which has same problem), it has followed the snapshot
upgrades:

- OpenBSD 6.0-current (GENERIC.MP) #198: Mon Feb 27 09:18:18 MST 2017
- OpenBSD 6.0-current (GENERIC.MP) #204: Thu Mar  2 11:20:38 MST 2017
        should have worked (#198 at least - not sure anymore for #204)

- OpenBSD 6.1-beta (GENERIC.MP) #224: Thu Mar  9 18:50:15 MST 2017
- OpenBSD 6.1-beta (GENERIC.MP) #49: Wed Mar 22 04:40:48 MDT 2017
        doesn't work some time

All the hosts with the problem has 'expired' ndp entry for the gateway.


Here the configuration of the gateway (alf):

alf$ ifconfig vlan92                                                            
                                                  
vlan92: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr c8:be:19:e2:2c:ed
        index 16 priority 0 llprio 3
        vlan: 92 parent interface: re0
        vnetid: 92
        parent: re0
        groups: vlan with_internet horaire
        status: active
        inet 192.168.92.2 netmask 0xffffff00 broadcast 192.168.92.255
        inet6 fe80::cabe:19ff:fee2:2ced%vlan92 prefixlen 64 scopeid 0x10
        inet6 2001:41d0:fe39:c05c:cabe:19ff:fee2:2ced prefixlen 64
        inet6 2001:41d0:fe39:c05c::1 prefixlen 64

rtadvd(8) is used for distribute router advertisement on differents vlans.


I am able to recover by removing inet6 from interface, and re-adds it.

flynn$ ndp -na
Neighbor                             Linklayer Address   Netif Expire    S Flags
2001:41d0:fe39:c05c:8cb8:dd30:2e74:5585 d0:50:99:a7:c8:cd  re0 permanent R l
2001:41d0:fe39:c05c:d250:99ff:fea7:c8cd d0:50:99:a7:c8:cd  re0 permanent R l
2001:41d0:fe39:c05c:dc86:bc8:11c8:e75d d0:50:99:a7:c8:cd   re0 permanent R l
fe80::cabe:19ff:fee2:2ced%re0        c8:be:19:e2:2c:ed     re0 expired   I R
fe80::d250:99ff:fea7:c8cd%re0        d0:50:99:a7:c8:cd     re0 permanent R l

flynn$ ifconfig re0
re0: flags=208843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6> mtu 1500    
                                                             
        lladdr d0:50:99:a7:c8:cd                                                
                                                             
        index 1 priority 0 llprio 3                                             
                                                             
        groups: egress                                                          
                                                             
        media: Ethernet autoselect (1000baseT full-duplex)
        status: active                                                          
        inet 192.168.92.16 netmask 0xffffff00 broadcast 192.168.92.255      
        inet6 fe80::d250:99ff:fea7:c8cd%re0 prefixlen 64 scopeid 0x1        
        inet6 2001:41d0:fe39:c05c:d250:99ff:fea7:c8cd prefixlen 64 autoconf 
pltime 604787 vltime 2591987
        inet6 2001:41d0:fe39:c05c:8cb8:dd30:2e74:5585 prefixlen 64 deprecated 
autoconf autoconfprivacy pltime 0 vltime 459917
        inet6 2001:41d0:fe39:c05c:dc86:bc8:11c8:e75d prefixlen 64 autoconf 
autoconfprivacy pltime 27713 vltime 546216

flynn$ doas ifconfig re0 -inet6
flynn$ doas ifconfig re0 inet6 autoconf

flynn$ ndp -na
Neighbor                             Linklayer Address   Netif Expire    S Flags
2001:41d0:fe39:c05c:bc8b:ed6f:930d:fc2a d0:50:99:a7:c8:cd  re0 permanent R l
2001:41d0:fe39:c05c:d250:99ff:fea7:c8cd d0:50:99:a7:c8:cd  re0 permanent R l
fe80::cabe:19ff:fee2:2ced%re0        c8:be:19:e2:2c:ed     re0 23h59m59s S R
fe80::d250:99ff:fea7:c8cd%re0        d0:50:99:a7:c8:cd     re0 permanent R l

flynn$ ifconfig re0
re0: flags=208843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6> mtu 1500
        lladdr d0:50:99:a7:c8:cd
        index 1 priority 0 llprio 3
        groups: egress
        media: Ethernet autoselect (1000baseT full-duplex)
        status: active
        inet 192.168.92.16 netmask 0xffffff00 broadcast 192.168.92.255
        inet6 fe80::d250:99ff:fea7:c8cd%re0 prefixlen 64 scopeid 0x1
        inet6 2001:41d0:fe39:c05c:d250:99ff:fea7:c8cd prefixlen 64 autoconf 
pltime 604799 vltime 2591999
        inet6 2001:41d0:fe39:c05c:bc8b:ed6f:930d:fc2a prefixlen 64 autoconf 
autoconfprivacy pltime 86040 vltime 604739

Thanks.
-- 
Sebastien Marie

Reply via email to