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