Maybe I should let slaacd run in the foreground till IPv6 stops working and see if that give out clues.

The output of slaacd looks completely normal. Like this over and over again:

ICMPv6 type(134), code(0) from fe80::2a0:57ff:fe3a:ac77%vio0 of length 112
update_iface_ra_dfr, dfr state: PROPOSAL_CONFIGURED, rl: 1800
dfr_proposal_state_transition[vio0] PROPOSAL_CONFIGURED -> PROPOSAL_CONFIGURED, timo: 1788
update_iface_ra_prefix, addr state: PROPOSAL_CONFIGURED
updating address
configure_address: 1
iface_state_transition[vio0] IF_BOUND -> IF_BOUND, timo: -1
addr_proposal_state_transition[vio0] PROPOSAL_CONFIGURED -> PROPOSAL_CONFIGURED, timo: 60477
update_iface_ra_prefix, addr state: PROPOSAL_CONFIGURED
updating address
configure_address: 1
iface_state_transition[vio0] IF_BOUND -> IF_BOUND, timo: -1
addr_proposal_state_transition[vio0] PROPOSAL_CONFIGURED -> PROPOSAL_CONFIGURED, timo: 604788
update_iface_ra_rdns, rdns state: PROPOSAL_CONFIGURED, rl: 1800
rdns_proposal_state_transition[vio0] PROPOSAL_CONFIGURED -> PROPOSAL_CONFIGURED, timo: 1788
configure_interface: vio0
configure_interface: vio0


I also dug into the debug output of my router.
Echo request goes out, reply comes back and is routed/forwarded to the OpenBSD host.

[IPv6-Router] 2024/06/23 18:03:27,197 Devicetime: 2024/06/23 18:03:27,639 [INTERNET (14)]
IP packet, scope global, routing tag 0:
IPv6: 2a00:1450:4005:801::200e -> 2a02:810d:5fc0:f2a:bb4d:6e1a:d2f:c576, Payload-Len: 64
  ICMP: Echo (ping) reply (129), ID: 18553, Seq: 0
--> Firewall: accepted, forwarded unicast via HOST_MAIL1 (6)


(The log-output is indistinguishable from when it is working.) Yet I don't see them arriving with tcpdump:

# tcpdump -n -i vio0 ip6
tcpdump: listening on vio0, link-type EN10MB
18:29:38.703181 fe80::be24:11ff:fe10:5272.46404 > fe80::2a0:57ff:fe3a:ac77.53: 29603+ AAAA? google.com.(28) [flowlabel 0xe0681] 18:29:38.731683 fe80::2a0:57ff:fe3a:ac77.53 > fe80::be24:11ff:fe10:5272.46404: 29603 1/0/0 AAAA[|domain] 18:29:38.731839 fd00:172:17:170:c57c:a20c:2d74:124 > 2a00:1450:4005:801::200e: icmp6: echo request 18:29:39.740141 fd00:172:17:170:c57c:a20c:2d74:124 > 2a00:1450:4005:801::200e: icmp6: echo request 18:29:40.740110 fd00:172:17:170:c57c:a20c:2d74:124 > 2a00:1450:4005:801::200e: icmp6: echo request 18:29:42.980121 fe80::be24:11ff:fe10:5272 > fe80::2a0:57ff:fe3a:ac77: icmp6: neighbor sol: who has fe80::2a0:57ff:fe3a:ac77 18:29:42.980551 fe80::2a0:57ff:fe3a:ac77 > fe80::be24:11ff:fe10:5272: icmp6: neighbor adv: tgt is fe80::2a0:57ff:fe3a:ac77 18:29:43.731733 fe80::2a0:57ff:fe3a:ac77 > fe80::be24:11ff:fe10:5272: icmp6: neighbor sol: who has fe80::be24:11ff:fe10:5272 18:29:43.731774 fe80::be24:11ff:fe10:5272 > fe80::2a0:57ff:fe3a:ac77: icmp6: neighbor adv: tgt is fe80::be24:11ff:fe10:5272
^C
47 packets received by filter
0 packets dropped by kernel



Again if I restart the host it works (for about a day):

# tcpdump -n -i vio0 ip6
tcpdump: listening on vio0, link-type EN10MB
18:36:23.536231 fe80::be24:11ff:fe10:5272.40542 > fe80::2a0:57ff:fe3a:ac77.53: 31164+ AAAA? google.com.(28) [flowlabel 0xb2311] 18:36:23.578447 fe80::2a0:57ff:fe3a:ac77.53 > fe80::be24:11ff:fe10:5272.40542: 31164 1/0/0 AAAA[|domain] 18:36:23.579030 fd00:172:17:170:202c:9944:920d:70dd > 2a00:1450:4005:801::200e: icmp6: echo request 18:36:23.612097 fe80::2a0:57ff:fe3a:ac77 > ff02::1:ff0d:70dd: icmp6: neighbor sol: who has fd00:172:17:170:202c:9944:920d:70dd 18:36:23.612132 fe80::be24:11ff:fe10:5272 > fe80::2a0:57ff:fe3a:ac77: icmp6: neighbor adv: tgt is fd00:172:17:170:202c:9944:920d:70dd 18:36:23.612433 2a00:1450:4005:801::200e > fd00:172:17:170:202c:9944:920d:70dd: icmp6: echo reply 18:36:24.580102 fd00:172:17:170:202c:9944:920d:70dd > 2a00:1450:4005:801::200e: icmp6: echo request 18:36:24.612662 2a00:1450:4005:801::200e > fd00:172:17:170:202c:9944:920d:70dd: icmp6: echo reply 18:36:25.580090 fd00:172:17:170:202c:9944:920d:70dd > 2a00:1450:4005:801::200e: icmp6: echo request 18:36:25.611510 2a00:1450:4005:801::200e > fd00:172:17:170:202c:9944:920d:70dd: icmp6: echo reply
^C
79 packets received by filter
0 packets dropped by kernel


Strange




On 23 Jun 2024, at 2:27 AM, Thomas Bohl <openbsd-misc-518...@aloof.de> wrote:

Hello,

I'm using ULAs for my local IPv6 networks. The hosts have internet access via the router doing NPTv6.

After around 20 to 24 hours of uptime the OpenBSD hosts (three in total) are no longer able to reach the IPv6 internet. A restart of the affected hosts usually helps. In rare cases a double restart is required. Linux and Windows don't show this problem.

Any ideas? What information should I provide in order to debug this further?

# uname -a
OpenBSD mail1 7.5 GENERIC#79 amd64

# cat /etc/hostname.vio0
# BEGIN ANSIBLE MANAGED BLOCK IPv6
inet6 -soii
inet6 autoconf
# END ANSIBLE MANAGED BLOCK IPv6
# BEGIN ANSIBLE MANAGED BLOCK IPv4
inet 172.17.17.2 255.255.255.252
!route add default 172.17.17.1
# END ANSIBLE MANAGED BLOCK IPv4


When things are working:

# uptime
  5:11PM  up 9 mins, 1 user, load averages: 0.00, 0.01, 0.00


# ifconfig vio0
vio0: flags=648843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6TEMP,AUTOCONF6,INET6_NOSOII> mtu 1500
         lladdr bc:24:11:10:52:72
         index 1 priority 0 llprio 3
         groups: egress
         media: Ethernet autoselect
         status: active
         inet6 fe80::be24:11ff:fe10:5272%vio0 prefixlen 64 scopeid 0x1
         inet 172.17.17.2 netmask 0xfffffffc broadcast 172.17.17.3
         inet6 fd00:172:17:170:be24:11ff:fe10:5272 prefixlen 64 autoconf pltime 604644 vltime 2591844          inet6 fd00:172:17:170:1fa3:a3db:db4a:707d prefixlen 64 autoconf temporary pltime 74422 vltime 172248


# ping6 -vn -c 3 google.com
PING google.com (fd00:172:17:170:1fa3:a3db:db4a:707d --> 2a00:1450:4005:801::200e): 56 data bytes 64 bytes from 2a00:1450:4005:801::200e: icmp_seq=0 hlim=114 time=27.533 ms 64 bytes from 2a00:1450:4005:801::200e: icmp_seq=1 hlim=114 time=30.263 ms 64 bytes from 2a00:1450:4005:801::200e: icmp_seq=2 hlim=114 time=30.143 ms

--- google.com ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 27.533/29.313/30.263/1.260 ms


# traceroute6 -vn google.com
traceroute6 to google.com (2a00:1450:4005:801::200e), 64 hops max, 60 byte packets   1  fd00:172:17:170:2a0:57ff:fe3a:ac77 68 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d  0.227 ms  0.159 ms  0.136 ms   2  2a02:810d:1:bf::3 68 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d  13.606 ms 2a02:810d:1:bf::2 68 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d  15.823 ms 2a02:810d:1:bf::3 68 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d 14.467 ms
  3  * * *
  4  * * *
  5  * * *
  6  2001:4860:1:1::2a4 68 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d  16.263 ms  12.806 ms  14.327 ms   7  * 2001:4860:0:1::839f 68 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d  15.828 ms *
  8  * * *
  9  2001:4860::c:4003:4958 152 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d  27.715 ms  29.765 ms  30.264 ms 10  2001:4860::c:4002:f990 152 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d  31.119 ms 2001:4860::c:4002:f991 152 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d  29.906 ms 2001:4860::c:4002:f990 152 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d  36.316 ms 11  2001:4860::c:4001:ebf 152 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d  29.679 ms 2001:4860::c:4002:7869 152 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d  33.901 ms  31.045 ms 12  2001:4860::9:4001:ecb 68 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d  29.68 ms 2001:4860::9:4001:ec0 68 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d  29.575 ms 2001:4860::9:4001:ecb 68 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d  36.681 ms 13  2001:4860:0:1::6b65 68 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d  29.283 ms * * 14  2001:4860:0:1::6b65 68 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d  30.595 ms 2a00:1450:4005:801::200e 68 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d  40.122 ms 2001:4860:0:1::6b65 68 bytes to fd00:172:17:170:1fa3:a3db:db4a:707d  30.369 ms


# route -n show -inet6
Routing tables

Internet6:
Destination Gateway                                 Flags   Refs Use Mtu  Prio Iface default fe80::2a0:57ff:fe3a:ac77%vio0           UGS        0        8 -     8 vio0 ::/96 ::1                                     UGRS       0        0 32768     8 lo0 ::1 ::1                                     UHhl      10       20 32768     1 lo0 ::ffff:0.0.0.0/96 ::1                                     UGRS 0        0 32768     8 lo0 2002::/24 ::1                                     UGRS       0 0 32768     8 lo0 2002:7f00::/24 ::1                                     UGRS 0        0 32768     8 lo0 2002:e000::/20 ::1                                     UGRS 0        0 32768     8 lo0 2002:ff00::/24 ::1                                     UGRS 0        0 32768     8 lo0 fd00:172:17:170::/64 fd00:172:17:170:be24:11ff:fe10:5272 UCPn       0        1 -     4 vio0 fd00:172:17:170::/64 fd00:172:17:170:1fa3:a3db:db4a:707d UCPn       0        0 -     4 vio0 fd00:172:17:170:1fa3:a3db:db4a:707d bc:24:11:10:52:72                       UHLl       0      193 -     1 vio0 fd00:172:17:170:be24:11ff:fe10:5272 bc:24:11:10:52:72                       UHLl       0        0 -     1 vio0 fe80::/10 ::1                                     UGRS       0 1 32768     8 lo0 fec0::/10 ::1                                     UGRS       0 0 32768     8 lo0 fe80::%vio0/64 fe80::be24:11ff:fe10:5272%vio0          UCn 1        0 -     4 vio0 fe80::2a0:57ff:fe3a:ac77%vio0 00:a0:57:3a:ac:77 UHLch      1       91 -     3 vio0 fe80::be24:11ff:fe10:5272%vio0 bc:24:11:10:52:72                       UHLl       0        8 -     1 vio0 fe80::1%lo0 fe80::1%lo0                             UHl 0        0 32768     1 lo0 ff01::/16 ::1                                     UGRS       0 1 32768     8 lo0 ff01::%vio0/32 fe80::be24:11ff:fe10:5272%vio0          Um 0        2 -     4 vio0 ff01::%lo0/32 fe80::1%lo0                             Um 0        1 32768     4 lo0 ff02::/16 ::1                                     UGRS       0 1 32768     8 lo0 ff02::%vio0/32 fe80::be24:11ff:fe10:5272%vio0          Um 0        5 -     4 vio0 ff02::%lo0/32 fe80::1%lo0                             Um 0        1 32768     4 lo0



######
And when things don't work:

# uptime
  5:12PM  up 1 day,  1:53, 1 user, load averages: 0.00, 0.00, 0.00


# ifconfig vio0
vio0: flags=648843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6TEMP,AUTOCONF6,INET6_NOSOII> mtu 1500
         lladdr bc:24:11:10:52:72
         index 1 priority 0 llprio 3
         groups: egress
         media: Ethernet autoselect
         status: active
         inet6 fe80::be24:11ff:fe10:5272%vio0 prefixlen 64 scopeid 0x1
         inet 172.17.17.2 netmask 0xfffffffc broadcast 172.17.17.3
         inet6 fd00:172:17:170:be24:11ff:fe10:5272 prefixlen 64 autoconf pltime 604500 vltime 2591700          inet6 fd00:172:17:170:60b3:77d:dae4:601a prefixlen 64 deprecated autoconf temporary pltime 0 vltime 80513          inet6 fd00:172:17:170:5e06:a3a:7788:d154 prefixlen 64 autoconf temporary pltime 45077 vltime 160314


# ping6 -vn -c 10 google.com
PING google.com (fd00:172:17:170:5e06:a3a:7788:d154 --> 2a00:1450:4005:801::200e): 56 data bytes
32 bytes from fe80::2a0:57ff:fe3a:ac77%vio0: Neighbor Advertisement
32 bytes from fe80::2a0:57ff:fe3a:ac77%vio0: Neighbor Solicitation

--- google.com ping statistics ---
10 packets transmitted, 0 packets received, 100.0% packet loss


# traceroute6 -vn google.com
traceroute6 to google.com (2a00:1450:4005:801::200e), 64 hops max, 60 byte packets   1  fd00:172:17:170:2a0:57ff:fe3a:ac77 68 bytes to fd00:172:17:170:5e06:a3a:7788:d154  0.25 ms  0.163 ms  0.145 ms

32 bytes from fe80::2a0:57ff:fe3a:ac77%vio0 to fe80::be24:11ff:fe10:5272: icmp type 136 (OUT-OF-RANGE) code 0
0000: fe800000 00000000 02a057ff fe3aac77
0010: 020100a0 573aac77 2a001450 40050801

32 bytes from fe80::2a0:57ff:fe3a:ac77%vio0 to fe80::be24:11ff:fe10:5272: icmp type 135 (OUT-OF-RANGE) code 0
0000: fe800000 00000000 be2411ff fe105272
0010: 010100a0 573aac77 2a001450 40050801
64  * * *


# route -n show -inet6
Routing tables

Internet6:
Destination Gateway                                 Flags   Refs Use Mtu  Prio Iface default fe80::2a0:57ff:fe3a:ac77%vio0           UGS        0      123 -     8 vio0 ::/96 ::1                                     UGRS       0        0 32768     8 lo0 ::1 ::1                                     UHhl      10       20 32768     1 lo0 ::ffff:0.0.0.0/96 ::1                                     UGRS 0        0 32768     8 lo0 2002::/24 ::1                                     UGRS       0 0 32768     8 lo0 2002:7f00::/24 ::1                                     UGRS 0        0 32768     8 lo0 2002:e000::/20 ::1                                     UGRS 0        0 32768     8 lo0 2002:ff00::/24 ::1                                     UGRS 0        0 32768     8 lo0 fd00:172:17:170::/64 fd00:172:17:170:be24:11ff:fe10:5272 UCPn       1        2 -     4 vio0 fd00:172:17:170::/64 fd00:172:17:170:60b3:77d:dae4:601a UCPn       0        0 -     4 vio0 fd00:172:17:170::/64 fd00:172:17:170:5e06:a3a:7788:d154 UCPn       0        0 -     4 vio0 fd00:172:17:170:4727:605a:938:42 link#1                                  UHLc       0        4 -     3 vio0 fd00:172:17:170:5e06:a3a:7788:d154 bc:24:11:10:52:72                       UHLl       0        9 -     1 vio0 fd00:172:17:170:60b3:77d:dae4:601a bc:24:11:10:52:72                       UHLl       0      113 -     1 vio0 fd00:172:17:170:be24:11ff:fe10:5272 bc:24:11:10:52:72                       UHLl       0        0 -     1 vio0 fe80::/10 ::1                                     UGRS       0 1 32768     8 lo0 fec0::/10 ::1                                     UGRS       0 0 32768     8 lo0 fe80::%vio0/64 fe80::be24:11ff:fe10:5272%vio0          UCn 1        0 -     4 vio0 fe80::2a0:57ff:fe3a:ac77%vio0 00:a0:57:3a:ac:77 UHLch      1     5196 -     3 vio0 fe80::be24:11ff:fe10:5272%vio0 bc:24:11:10:52:72                       UHLl       0      262 -     1 vio0 fe80::1%lo0 fe80::1%lo0                             UHl 0        0 32768     1 lo0 ff01::/16 ::1                                     UGRS       0 1 32768     8 lo0 ff01::%vio0/32 fe80::be24:11ff:fe10:5272%vio0          Um 0        3 -     4 vio0 ff01::%lo0/32 fe80::1%lo0                             Um 0        1 32768     4 lo0 ff02::/16 ::1                                     UGRS       0 1 32768     8 lo0 ff02::%vio0/32 fe80::be24:11ff:fe10:5272%vio0          Um 0        7 -     4 vio0 ff02::%lo0/32 fe80::1%lo0                             Um 0        1 32768     4 lo0


# ping6 -n -c 3 fe80::2a0:57ff:fe3a:ac77%vio0
PING fe80::2a0:57ff:fe3a:ac77%vio0 (fe80::2a0:57ff:fe3a:ac77%vio0): 56 data bytes 64 bytes from fe80::2a0:57ff:fe3a:ac77%vio0: icmp_seq=0 hlim=64 time=0.395 ms 64 bytes from fe80::2a0:57ff:fe3a:ac77%vio0: icmp_seq=1 hlim=64 time=0.273 ms 64 bytes from fe80::2a0:57ff:fe3a:ac77%vio0: icmp_seq=2 hlim=64 time=0.286 ms

--- fe80::2a0:57ff:fe3a:ac77%vio0 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.273/0.318/0.395/0.055 ms




Reply via email to