Troubleshooting packet loss

Since replacing the router of my ISP with a dedicated modem in bridge mode and an OpenWrt router, I have significant packet loss I'm trying to troubleshoot.

When testing with ping, the packet loss sometimes seems random with up to 80%, sometimes it is very regular, like this test shows:

# ping6 heise.de
PING heise.de (2a02:2e0:3fe:1001:302::): 56 data bytes
64 bytes from 2a02:2e0:3fe:1001:302::: seq=0 ttl=57 time=17.556 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=1 ttl=57 time=2216.467 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=2 ttl=57 time=1220.436 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=3 ttl=57 time=220.281 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=4 ttl=57 time=15.672 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=5 ttl=57 time=20.234 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=6 ttl=57 time=15.188 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=7 ttl=57 time=14.546 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=8 ttl=57 time=18.034 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=9 ttl=57 time=16.970 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=10 ttl=57 time=16.341 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=11 ttl=57 time=16.138 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=15 ttl=57 time=244.938 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=16 ttl=57 time=14.679 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=17 ttl=57 time=14.573 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=18 ttl=57 time=13.830 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=19 ttl=57 time=17.910 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=20 ttl=57 time=17.226 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=21 ttl=57 time=17.063 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=22 ttl=57 time=16.362 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=23 ttl=57 time=15.397 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=27 ttl=57 time=273.743 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=28 ttl=57 time=13.939 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=29 ttl=57 time=13.952 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=30 ttl=57 time=13.412 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=31 ttl=57 time=17.251 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=32 ttl=57 time=16.758 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=33 ttl=57 time=16.566 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=34 ttl=57 time=16.367 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=35 ttl=57 time=15.981 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=40 ttl=57 time=14.442 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=41 ttl=57 time=13.643 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=42 ttl=57 time=13.029 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=43 ttl=57 time=16.756 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=44 ttl=57 time=16.601 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=45 ttl=57 time=17.038 ms
^C
--- heise.de ping statistics ---
46 packets transmitted, 36 packets received, 21% packet loss
round-trip min/avg/max = 13.029/129.703/2216.467 ms

I also installed tcpdump and looked at the wan traffic, which revealed that indeed my OpenWrt router does not send the ping at all. Here is the filtered output of wireshark showing the ping above.

No.     Time           Protocol Length Info
    549 21.335786      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=0, hop limit=64 (reply in 552)
    552 21.352725      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=0, hop limit=57 (request in 549)
    641 24.535473      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=1, hop limit=64 (reply in 647)
    642 24.536528      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=2, hop limit=64 (reply in 648)
    643 24.536565      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=3, hop limit=64 (reply in 649)
    647 24.552192      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=1, hop limit=57 (request in 641)
    648 24.556523      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=2, hop limit=57 (request in 642)
    649 24.556524      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=3, hop limit=57 (request in 643)
    650 25.337210      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=4, hop limit=64 (reply in 651)
    651 25.352344      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=4, hop limit=57 (request in 650)
    677 26.337568      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=5, hop limit=64 (reply in 678)
    678 26.357303      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=5, hop limit=57 (request in 677)
    681 27.337936      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=6, hop limit=64 (reply in 682)
    682 27.352616      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=6, hop limit=57 (request in 681)
    729 28.338416      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=7, hop limit=64 (reply in 730)
    730 28.352455      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=7, hop limit=57 (request in 729)
    750 29.339957      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=8, hop limit=64 (reply in 751)
    751 29.357472      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=8, hop limit=57 (request in 750)
    779 30.340320      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=9, hop limit=64 (reply in 780)
    780 30.356788      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=9, hop limit=57 (request in 779)
    804 31.340679      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=10, hop limit=64 (reply in 805)
    805 31.356525      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=10, hop limit=57 (request in 804)
    810 32.341114      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=11, hop limit=64 (reply in 811)
    811 32.356742      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=11, hop limit=57 (request in 810)
    923 36.568116      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=15, hop limit=64 (reply in 925)
    925 36.586737      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=15, hop limit=57 (request in 923)
    927 37.342803      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=16, hop limit=64 (reply in 929)
    929 37.356977      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=16, hop limit=57 (request in 927)
    971 38.343167      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=17, hop limit=64 (reply in 972)
    972 38.357260      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=17, hop limit=57 (request in 971)
    984 39.343519      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=18, hop limit=64 (reply in 985)
    985 39.356855      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=18, hop limit=57 (request in 984)
   1011 40.343889      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=19, hop limit=64 (reply in 1012)
   1012 40.361290      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=19, hop limit=57 (request in 1011)
   1036 41.344450      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=20, hop limit=64 (reply in 1037)
   1037 41.361153      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=20, hop limit=57 (request in 1036)
   1045 42.344855      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=21, hop limit=64 (reply in 1046)
   1046 42.361388      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=21, hop limit=57 (request in 1045)
   1097 43.345306      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=22, hop limit=64 (reply in 1098)
   1098 43.361145      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=22, hop limit=57 (request in 1097)
   1112 44.345682      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=23, hop limit=64 (reply in 1113)
   1113 44.360575      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=23, hop limit=57 (request in 1112)
   1229 48.599835      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=27, hop limit=64 (reply in 1231)
   1231 48.620089      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=27, hop limit=57 (request in 1229)
   1233 49.347276      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=28, hop limit=64 (reply in 1234)
   1234 49.360658      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=28, hop limit=57 (request in 1233)
   1266 50.347652      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=29, hop limit=64 (reply in 1267)
   1267 50.361001      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=29, hop limit=57 (request in 1266)
   1294 51.348012      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=30, hop limit=64 (reply in 1295)
   1295 51.360936      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=30, hop limit=57 (request in 1294)
   1305 52.348399      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=31, hop limit=64 (reply in 1306)
   1306 52.365143      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=31, hop limit=57 (request in 1305)
   1355 53.348750      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=32, hop limit=64 (reply in 1356)
   1356 53.365016      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=32, hop limit=57 (request in 1355)
   1379 54.349160      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=33, hop limit=64 (reply in 1380)
   1380 54.365219      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=33, hop limit=57 (request in 1379)
   1414 55.349514      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=34, hop limit=64 (reply in 1415)
   1415 55.365399      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=34, hop limit=57 (request in 1414)
   1448 56.349885      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=35, hop limit=64 (reply in 1449)
   1449 56.365358      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=35, hop limit=57 (request in 1448)
   1575 61.351522      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=40, hop limit=64 (reply in 1576)
   1576 61.365463      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=40, hop limit=57 (request in 1575)
   1582 62.351908      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=41, hop limit=64 (reply in 1583)
   1583 62.364921      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=41, hop limit=57 (request in 1582)
   1626 63.352255      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=42, hop limit=64 (reply in 1627)
   1627 63.364752      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=42, hop limit=57 (request in 1626)
   1641 64.352854      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=43, hop limit=64 (reply in 1642)
   1642 64.369104      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=43, hop limit=57 (request in 1641)
   1670 65.353209      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=44, hop limit=64 (reply in 1671)
   1671 65.369318      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=44, hop limit=57 (request in 1670)
   1699 66.353583      ICMPv6   118    Echo (ping) request id=0x0ee4, seq=45, hop limit=64 (reply in 1700)
   1700 66.370108      ICMPv6   118    Echo (ping) reply id=0x0ee4, seq=45, hop limit=57 (request in 1699)

I tried already two different devices, namely TP-Link TL-WDR3600 v1 and TP-Link Archer C5 AC1200 v1, each with a fresh install of both 21.02.3 and 22.03.0. My ISP uses ds-lite to provide IPv4 and I have to install the ds-lite package to get any access to the internet at all. Both devices show the same packet loss.

So I assume there is a software issue with OpenWrt. How could I troubleshoot this problem?

dmesg doesn't seem to show anything suspicious:

# dmesg
[    0.000000] Linux version 5.10.138 (builder@buildhost) (mips-openwrt-linux-musl-gcc (OpenWrt GCC 11.2.0 r19685-512e76967f) 11.2.0, GNU ld (GNU Binutils) 2.37) #0 Sat Sep 3 02:55:34 2022
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 0001974c (MIPS 74Kc)
[    0.000000] MIPS: machine is TP-Link TL-WDR3600 v1
[    0.000000] SoC: Atheros AR9344 rev 2
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] On node 0 totalpages: 32768
[    0.000000]   Normal zone: 288 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 32768 pages, LIFO batch:7
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32480
[    0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 121088K/131072K available (5848K kernel code, 605K rwdata, 744K rodata, 1240K init, 209K bss, 9984K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 51
[    0.000000] CPU clock: 560.000 MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6825930166 ns
[    0.000010] sched_clock: 32 bits at 280MHz, resolution 3ns, wraps every 7669584382ns
[    0.008382] Calibrating delay loop... 278.93 BogoMIPS (lpj=1394688)
[    0.084993] pid_max: default: 32768 minimum: 301
[    0.090079] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.097868] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.108387] dyndbg: Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE build
[    0.119934] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.130449] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.137792] pinctrl core: initialized pinctrl subsystem
[    0.147966] NET: Registered protocol family 16
[    0.153557] thermal_sys: Registered thermal governor 'step_wise'
[    0.211370] clocksource: Switched to clocksource MIPS
[    0.224458] NET: Registered protocol family 2
[    0.229358] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.237990] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.247010] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.255195] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.262718] TCP: Hash tables configured (established 1024 bind 1024)
[    0.269615] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.276629] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.284365] NET: Registered protocol family 1
[    0.289039] PCI: CLS 0 bytes, default 32
[    0.299889] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    0.311631] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.317845] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.330303] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.341557] pinctrl-single 1804002c.pinmux: 544 pins, size 68
[    0.348506] gpio-export gpio-export: 4 gpio(s) exported
[    0.354932] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.364324] printk: console [ttyS0] disabled
[    0.368961] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 9, base_baud = 2500000) is a 16550A
[    0.378206] printk: console [ttyS0] enabled
[    0.387112] printk: bootconsole [early0] disabled
[    0.417076] spi-nor spi0.0: s25fl064k (8192 Kbytes)
[    0.422161] 3 fixed-partitions partitions found on MTD device spi0.0
[    0.428606] Creating 3 MTD partitions on "spi0.0":
[    0.433502] 0x000000000000-0x000000020000 : "u-boot"
[    0.442833] 0x000000020000-0x0000007f0000 : "firmware"
[    0.449435] 2 tplink-fw partitions found on MTD device firmware
[    0.455522] Creating 2 MTD partitions on "firmware":
[    0.460577] 0x000000000000-0x000000223f11 : "kernel"
[    0.465628] mtd: partition "kernel" doesn't end on an erase/write block -- force read-only
[    0.476689] 0x000000223f14-0x0000007d0000 : "rootfs"
[    0.481792] mtd: partition "rootfs" doesn't start on an erase/write block boundary -- force read-only
[    0.492181] mtd: device 3 (rootfs) set to be root filesystem
[    0.498891] 1 squashfs-split partitions found on MTD device rootfs
[    0.505236] 0x0000005c0000-0x0000007d0000 : "rootfs_data"
[    0.511796] 0x0000007f0000-0x000000800000 : "art"
[    0.907802] switch0: Atheros AR8327 rev. 4 switch registered on mdio.0
[    1.561547] ag71xx 19000000.eth: connected to PHY at mdio.0:00 [uid=004dd034, driver=Atheros AR8216/AR8236/AR8316]
[    1.572733] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: rgmii
[    1.579405] i2c /dev entries driver
[    1.585453] NET: Registered protocol family 10
[    1.599019] Segment Routing with IPv6
[    1.602929] NET: Registered protocol family 17
[    1.607535] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.620715] 8021q: 802.1Q VLAN Support v1.8
[    1.626063] PCI host bridge /ahb/pcie-controller@180c0000 ranges:
[    1.632337]  MEM 0x0000000010000000..0x0000000013ffffff
[    1.637645]   IO 0x0000000000000000..0x0000000000000000
[    1.643156] PCI host bridge to bus 0000:00
[    1.647330] pci_bus 0000:00: root bus resource [mem 0x10000000-0x13ffffff]
[    1.654342] pci_bus 0000:00: root bus resource [io  0x0000]
[    1.660003] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[    1.666909] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    1.675016] pci 0000:00:00.0: [168c:0033] type 00 class 0x028000
[    1.681147] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x0001ffff 64bit]
[    1.688108] pci 0000:00:00.0: reg 0x30: [mem 0x00000000-0x0000ffff pref]
[    1.695015] pci 0000:00:00.0: supports D1
[    1.699092] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[    1.706491] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[    1.713283] pci 0000:00:00.0: BAR 0: assigned [mem 0x10000000-0x1001ffff 64bit]
[    1.720717] pci 0000:00:00.0: BAR 6: assigned [mem 0x10020000-0x1002ffff pref]
[    1.740363] VFS: Mounted root (squashfs filesystem) readonly on device 31:3.
[    1.753252] Freeing unused kernel memory: 1240K
[    1.757854] This architecture does not have kernel memory protection.
[    1.764424] Run /sbin/init as init process
[    1.768579]   with arguments:
[    1.768585]     /sbin/init
[    1.768589]   with environment:
[    1.768595]     HOME=/
[    1.768600]     TERM=linux
[    2.549341] init: Console is alive
[    2.553366] init: - watchdog -
[    3.873770] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    3.933196] usbcore: registered new interface driver usbfs
[    3.938839] usbcore: registered new interface driver hub
[    3.944407] usbcore: registered new device driver usb
[    3.957795] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    3.968117] ehci-fsl: Freescale EHCI Host controller driver
[    3.975754] ehci-platform: EHCI generic platform driver
[    3.981519] ehci-platform 1b000000.usb: EHCI Host Controller
[    3.987314] ehci-platform 1b000000.usb: new USB bus registered, assigned bus number 1
[    3.995404] ehci-platform 1b000000.usb: irq 3, io mem 0x1b000000
[    4.031403] ehci-platform 1b000000.usb: USB 2.0 started, EHCI 1.00
[    4.038698] hub 1-0:1.0: USB hub found
[    4.043420] hub 1-0:1.0: 1 port detected
[    4.053808] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    4.071713] init: - preinit -
[    4.445035] usb 1-1: new high-speed USB device number 2 using ehci-platform
[    4.916205] hub 1-1:1.0: USB hub found
[    4.932086] hub 1-1:1.0: 4 ports detected
[    5.061193] random: procd: uninitialized urandom read (4 bytes read)
[    6.013525] random: jshn: uninitialized urandom read (4 bytes read)
[    6.384503] random: jshn: uninitialized urandom read (4 bytes read)
[    6.666898] random: jshn: uninitialized urandom read (4 bytes read)
[    6.850952] random: jshn: uninitialized urandom read (4 bytes read)
[    8.349559] Atheros AR8216/AR8236/AR8316 mdio.0:00: Port 1 is up
[    8.355863] Atheros AR8216/AR8236/AR8316 mdio.0:00: Port 2 is up
[    8.363819] eth0: link up (1000Mbps/Full duplex)
[    8.382942] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    8.389787] IPv6: ADDRCONF(NETDEV_CHANGE): eth0.1: link becomes ready
[   12.874880] jffs2: notice: (520) jffs2_build_xattr_subsystem: complete building xattr subsystem, 64 of xdatum (40 unchecked, 24 orphan) and 84 of xref (10 dead, 16 orphan) found.
[   12.895856] mount_root: switching to jffs2 overlay
[   12.907368] overlayfs: upper fs does not support tmpfile.
[   12.924614] urandom-seed: Seeding with /etc/urandom.seed
[   13.091798] eth0: link down
[   13.121796] procd: - early -
[   13.125106] procd: - watchdog -
[   13.893937] procd: - watchdog -
[   13.898729] procd: - ubus -
[   14.016055] random: ubusd: uninitialized urandom read (4 bytes read)
[   14.025734] random: ubusd: uninitialized urandom read (4 bytes read)
[   14.032929] random: ubusd: uninitialized urandom read (4 bytes read)
[   14.043906] procd: - init -
[   15.377874] random: jshn: uninitialized urandom read (4 bytes read)
[   15.440847] random: ubusd: uninitialized urandom read (4 bytes read)
[   15.981919] urngd: v1.0.2 started.
[   16.251232] random: crng init done
[   16.254771] random: 24 urandom warning(s) missed due to ratelimiting
[   16.379805] kmodloader: loading kernel modules from /etc/modules.d/*
[   16.854850] GACT probability on
[   16.860755] Mirror/redirect action on
[   16.884860] u32 classifier
[   16.887623]     input device check on
[   16.891334]     Actions configured
[   16.960646] Loading modules backported from Linux version v5.15.58-0-g7d8048d4e064
[   16.968388] Backport generated by backports.git v5.15.58-1-0-g42a95ce7
[   17.257975] xt_time: kernel timezone is -0000
[   17.569575] PPP generic driver version 2.4.2
[   17.586590] NET: Registered protocol family 24
[   17.654262] ath: EEPROM regdomain: 0x0
[   17.654277] ath: EEPROM indicates default country code should be used
[   17.654283] ath: doing EEPROM country->regdmn map search
[   17.654300] ath: country maps to regdmn code: 0x3a
[   17.654309] ath: Country alpha2 being used: US
[   17.654315] ath: Regpair used: 0x3a
[   17.667474] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[   17.669663] ieee80211 phy0: Atheros AR9340 Rev:2 mem=0xb8100000, irq=12
[   17.676834] ath9k 0000:00:00.0: enabling device (0000 -> 0002)
[   17.716922] ath: EEPROM regdomain: 0x0
[   17.716936] ath: EEPROM indicates default country code should be used
[   17.716942] ath: doing EEPROM country->regdmn map search
[   17.716959] ath: country maps to regdmn code: 0x3a
[   17.716968] ath: Country alpha2 being used: US
[   17.716975] ath: Regpair used: 0x3a
[   17.727126] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht'
[   17.729456] ieee80211 phy1: Atheros AR9300 Rev:4 mem=0xb0000000, irq=14
[   17.781949] kmodloader: done loading kernel modules from /etc/modules.d/*
[   43.536685] eth0: link up (1000Mbps/Full duplex)
[   43.561469] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   43.570603] br-lan: port 1(eth0.1) entered blocking state
[   43.576159] br-lan: port 1(eth0.1) entered disabled state
[   43.581983] device eth0.1 entered promiscuous mode
[   43.586861] device eth0 entered promiscuous mode
[   43.638101] br-lan: port 1(eth0.1) entered blocking state
[   43.643650] br-lan: port 1(eth0.1) entered forwarding state
[   44.581462] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   48.125623] ath: EEPROM regdomain: 0x8114
[   48.125637] ath: EEPROM indicates we should expect a country code
[   48.125645] ath: doing EEPROM country->regdmn map search
[   48.125652] ath: country maps to regdmn code: 0x37
[   48.125661] ath: Country alpha2 being used: DE
[   48.125667] ath: Regpair used: 0x37
[   48.125676] ath: regdomain 0x8114 dynamically updated by user
[   48.125754] ath: EEPROM regdomain: 0x8114
[   48.125760] ath: EEPROM indicates we should expect a country code
[   48.125766] ath: doing EEPROM country->regdmn map search
[   48.125773] ath: country maps to regdmn code: 0x37
[   48.125780] ath: Country alpha2 being used: DE
[   48.125785] ath: Regpair used: 0x37
[   48.125792] ath: regdomain 0x8114 dynamically updated by user
[   52.266223] br-lan: port 2(wlan0) entered blocking state
[   52.271680] br-lan: port 2(wlan0) entered disabled state
[   52.277450] device wlan0 entered promiscuous mode
[   52.694887] br-lan: port 3(wlan1) entered blocking state
[   52.700293] br-lan: port 3(wlan1) entered disabled state
[   52.706113] device wlan1 entered promiscuous mode
[   52.711026] br-lan: port 3(wlan1) entered blocking state
[   52.716474] br-lan: port 3(wlan1) entered forwarding state
[   53.181695] br-lan: port 3(wlan1) entered disabled state
[   53.709658] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready
[   53.716541] br-lan: port 3(wlan1) entered blocking state
[   53.722029] br-lan: port 3(wlan1) entered forwarding state
[   64.142329] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   64.149081] br-lan: port 2(wlan0) entered blocking state
[   64.154581] br-lan: port 2(wlan0) entered forwarding state
[ 2308.732392] device eth0.2 entered promiscuous mode
[ 2431.452272] device eth0.2 left promiscuous mode

logread contains quite a lot of private information, so I'm not posting it here. One possibly relevant thing I spotted is

Thu Sep 22 18:55:10 2022 daemon.notice netifd: wan6 (2292): cat: write error: Broken pipe
Thu Sep 22 18:55:18 2022 daemon.notice netifd: wan6 (2292): cat: write error: Broken pipe
Thu Sep 22 18:55:34 2022 daemon.notice netifd: wan6 (2292): cat: write error: Broken pipe
Thu Sep 22 18:55:50 2022 daemon.notice netifd: wan6 (2292): cat: write error: Broken pipe

There are several bursts like these in the logs. If the whole output of logread is necessary, I'll filter it and post it.

I looked at the traceroute to google.de and picked the first IP not in my network and pinged it aswell as google.de. While there is packet loss to google:

# date && ping6 google.de
Thu Sep 22 23:46:00 UTC 2022
PING google.de (2a00:1450:4001:80b::2003): 56 data bytes
64 bytes from 2a00:1450:4001:80b::2003: seq=0 ttl=60 time=17.442 ms
64 bytes from 2a00:1450:4001:80b::2003: seq=1 ttl=60 time=21.146 ms
64 bytes from 2a00:1450:4001:80b::2003: seq=2 ttl=60 time=16.266 ms
64 bytes from 2a00:1450:4001:80b::2003: seq=3 ttl=60 time=16.305 ms
64 bytes from 2a00:1450:4001:80b::2003: seq=4 ttl=60 time=18.561 ms
64 bytes from 2a00:1450:4001:80b::2003: seq=9 ttl=60 time=30.539 ms
64 bytes from 2a00:1450:4001:80b::2003: seq=10 ttl=60 time=15.601 ms
64 bytes from 2a00:1450:4001:80b::2003: seq=11 ttl=60 time=15.927 ms
64 bytes from 2a00:1450:4001:80b::2003: seq=12 ttl=60 time=15.949 ms
64 bytes from 2a00:1450:4001:80b::2003: seq=13 ttl=60 time=18.532 ms
64 bytes from 2a00:1450:4001:80b::2003: seq=14 ttl=60 time=18.580 ms
64 bytes from 2a00:1450:4001:80b::2003: seq=15 ttl=60 time=18.379 ms
64 bytes from 2a00:1450:4001:80b::2003: seq=16 ttl=60 time=17.925 ms
^C
--- google.de ping statistics ---
19 packets transmitted, 13 packets received, 31% packet loss
round-trip min/avg/max = 15.601/18.550/30.539 ms

there is no packet loss to the other ip

# date && ping6 [redacted]
Thu Sep 22 23:46:00 UTC 2022
PING [redacted] ([redacted]): 56 data bytes
64 bytes from [redacted]: seq=0 ttl=64 time=9.919 ms
64 bytes from [redacted]: seq=1 ttl=64 time=9.744 ms
64 bytes from [redacted]: seq=2 ttl=64 time=10.284 ms
64 bytes from [redacted]: seq=3 ttl=64 time=30.434 ms
64 bytes from [redacted]: seq=4 ttl=64 time=8.358 ms
64 bytes from [redacted]: seq=5 ttl=64 time=8.279 ms
64 bytes from [redacted]: seq=6 ttl=64 time=8.631 ms
64 bytes from [redacted]: seq=7 ttl=64 time=7.811 ms
64 bytes from [redacted]: seq=8 ttl=64 time=41.626 ms
64 bytes from [redacted]: seq=9 ttl=64 time=10.969 ms
64 bytes from [redacted]: seq=10 ttl=64 time=12.932 ms
64 bytes from [redacted]: seq=11 ttl=64 time=10.516 ms
64 bytes from [redacted]: seq=12 ttl=64 time=10.056 ms
64 bytes from [redacted]: seq=13 ttl=64 time=9.605 ms
64 bytes from [redacted]: seq=14 ttl=64 time=15.686 ms
64 bytes from [redacted]: seq=15 ttl=64 time=9.180 ms
64 bytes from [redacted]: seq=16 ttl=64 time=8.577 ms
64 bytes from [redacted]: seq=17 ttl=64 time=7.917 ms
^C
--- [redacted] ping statistics ---
18 packets transmitted, 18 packets received, 0% packet loss
round-trip min/avg/max = 7.811/12.806/41.626 ms

I checked the routes with "ip -6 r" every second while pinging and there was no change in the routes.

Looking at the network neighbors with "ip n s" revealed something interesting:

# while true; do date && ip n s d eth0.2; echo; sleep 1; done
Fri Sep 23 01:18:28 UTC 2022
[fe80::ip0] lladdr [mac of isp router] router used 0/0/0 probes 3 STALE
[fe80::ip1] lladdr [mac of isp router] router used 0/0/0 probes 1 STALE
[fe80::ip2] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 2 PROBE
[first ip in traceroutes] lladdr [mac of isp router] router used 0/0/0 probes 1 STALE
[my fe80:: ip] lladdr [my mac] used 0/0/0 probes 0 STALE

Fri Sep 23 01:18:29 UTC 2022
[fe80::ip0] lladdr [mac of isp router] router used 0/0/0 probes 3 STALE
[fe80::ip1] lladdr [mac of isp router] router used 0/0/0 probes 1 STALE
[fe80::ip2] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 3 PROBE
[first ip in traceroutes] lladdr [mac of isp router] router used 0/0/0 probes 1 STALE
[my fe80:: ip] lladdr [my mac] used 0/0/0 probes 0 STALE

Fri Sep 23 01:18:30 UTC 2022
[fe80::ip0] lladdr [mac of isp router] router used 0/0/0 probes 3 STALE
[fe80::ip1] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 1 DELAY
[fe80::ip2]  router ref 1 used 0/0/0 probes 4 INCOMPLETE
[first ip in traceroutes] lladdr [mac of isp router] router used 0/0/0 probes 1 STALE
[my fe80:: ip] lladdr [my mac] used 0/0/0 probes 0 STALE

Fri Sep 23 01:18:31 UTC 2022
[fe80::ip0] lladdr [mac of isp router] router used 0/0/0 probes 3 STALE
[fe80::ip1] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 1 DELAY
[fe80::ip2]  router ref 1 used 0/0/0 probes 5 INCOMPLETE
[first ip in traceroutes] lladdr [mac of isp router] router used 0/0/0 probes 1 STALE
[my fe80:: ip] lladdr [my mac] used 0/0/0 probes 0 STALE

Fri Sep 23 01:18:32 UTC 2022
[fe80::ip0] lladdr [mac of isp router] router used 0/0/0 probes 3 STALE
[fe80::ip1] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 1 DELAY
[fe80::ip2]  router ref 1 used 0/0/0 probes 6 INCOMPLETE
[first ip in traceroutes] lladdr [mac of isp router] router used 0/0/0 probes 1 STALE
[my fe80:: ip] lladdr [my mac] used 0/0/0 probes 0 STALE

Fri Sep 23 01:18:33 UTC 2022
[fe80::ip0] lladdr [mac of isp router] router used 0/0/0 probes 3 STALE
[fe80::ip1] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 1 DELAY
[fe80::ip2]  router ref 1 used 0/0/0 probes 4 INCOMPLETE
[first ip in traceroutes] lladdr [mac of isp router] router used 0/0/0 probes 1 STALE
[my fe80:: ip] lladdr [my mac] used 0/0/0 probes 0 STALE

Fri Sep 23 01:18:34 UTC 2022
[fe80::ip0] lladdr [mac of isp router] router used 0/0/0 probes 3 STALE
[fe80::ip1] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 1 DELAY
[fe80::ip2] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 4 DELAY
[first ip in traceroutes] lladdr [mac of isp router] router used 0/0/0 probes 1 STALE
[my fe80:: ip] lladdr [my mac] used 0/0/0 probes 0 STALE

Fri Sep 23 01:18:35 UTC 2022
[fe80::ip0] lladdr [mac of isp router] router used 0/0/0 probes 3 STALE
[fe80::ip1] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 1 REACHABLE
[fe80::ip2] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 4 DELAY
[first ip in traceroutes] lladdr [mac of isp router] router used 0/0/0 probes 1 STALE
[my fe80:: ip] lladdr [my mac] used 0/0/0 probes 0 STALE

Fri Sep 23 01:18:36 UTC 2022
[fe80::ip0] lladdr [mac of isp router] router used 0/0/0 probes 3 STALE
[fe80::ip1] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 1 REACHABLE
[fe80::ip2] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 4 DELAY
[first ip in traceroutes] lladdr [mac of isp router] router used 0/0/0 probes 1 STALE
[my fe80:: ip] lladdr [my mac] used 0/0/0 probes 0 STALE

Fri Sep 23 01:18:37 UTC 2022
[fe80::ip0] lladdr [mac of isp router] router used 0/0/0 probes 3 STALE
[fe80::ip1] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 1 REACHABLE
[fe80::ip2] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 4 DELAY
[first ip in traceroutes] lladdr [mac of isp router] router used 0/0/0 probes 1 STALE
[my fe80:: ip] lladdr [my mac] used 0/0/0 probes 0 STALE

Fri Sep 23 01:18:39 UTC 2022
[fe80::ip0] lladdr [mac of isp router] router used 0/0/0 probes 3 STALE
[fe80::ip1] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 1 REACHABLE
[fe80::ip2] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 4 DELAY
[first ip in traceroutes] lladdr [mac of isp router] router used 0/0/0 probes 1 STALE
[my fe80:: ip] lladdr [my mac] used 0/0/0 probes 0 STALE

Fri Sep 23 01:18:40 UTC 2022
[fe80::ip0] lladdr [mac of isp router] router used 0/0/0 probes 3 STALE
[fe80::ip1] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 1 REACHABLE
[fe80::ip2] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 1 PROBE
[first ip in traceroutes] lladdr [mac of isp router] router used 0/0/0 probes 1 STALE
[my fe80:: ip] lladdr [my mac] used 0/0/0 probes 0 STALE

Fri Sep 23 01:18:41 UTC 2022
[fe80::ip0] lladdr [mac of isp router] router used 0/0/0 probes 3 STALE
[fe80::ip1] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 1 REACHABLE
[fe80::ip2] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 2 PROBE
[first ip in traceroutes] lladdr [mac of isp router] router used 0/0/0 probes 1 STALE
[my fe80:: ip] lladdr [my mac] used 0/0/0 probes 0 STALE

Fri Sep 23 01:18:42 UTC 2022
[fe80::ip0] lladdr [mac of isp router] router used 0/0/0 probes 3 STALE
[fe80::ip1] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 1 REACHABLE
[fe80::ip2] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 3 PROBE
[first ip in traceroutes] lladdr [mac of isp router] router used 0/0/0 probes 1 STALE
[my fe80:: ip] lladdr [my mac] used 0/0/0 probes 0 STALE

Fri Sep 23 01:18:43 UTC 2022
[fe80::ip0] lladdr [mac of isp router] router used 0/0/0 probes 3 STALE
[fe80::ip1] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 1 REACHABLE
[fe80::ip2]  router ref 1 used 0/0/0 probes 4 INCOMPLETE
[first ip in traceroutes] lladdr [mac of isp router] router used 0/0/0 probes 1 STALE
[my fe80:: ip] lladdr [my mac] used 0/0/0 probes 0 STALE

Fri Sep 23 01:18:44 UTC 2022
[fe80::ip0] lladdr [mac of isp router] router used 0/0/0 probes 3 STALE
[fe80::ip1] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 1 REACHABLE
[fe80::ip2]  router ref 1 used 0/0/0 probes 5 INCOMPLETE
[first ip in traceroutes] lladdr [mac of isp router] router used 0/0/0 probes 1 STALE
[my fe80:: ip] lladdr [my mac] used 0/0/0 probes 0 STALE

Fri Sep 23 01:18:45 UTC 2022
[fe80::ip0] lladdr [mac of isp router] router used 0/0/0 probes 3 STALE
[fe80::ip1] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 1 REACHABLE
[fe80::ip2]  router ref 1 used 0/0/0 probes 6 INCOMPLETE
[first ip in traceroutes] lladdr [mac of isp router] router used 0/0/0 probes 1 STALE
[my fe80:: ip] lladdr [my mac] used 0/0/0 probes 0 STALE

Fri Sep 23 01:18:46 UTC 2022
[fe80::ip0] lladdr [mac of isp router] router used 0/0/0 probes 3 STALE
[fe80::ip1] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 1 REACHABLE
[fe80::ip2] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 4 DELAY
[first ip in traceroutes] lladdr [mac of isp router] router used 0/0/0 probes 1 STALE
[my fe80:: ip] lladdr [my mac] used 0/0/0 probes 0 STALE

Fri Sep 23 01:18:47 UTC 2022
[fe80::ip0] lladdr [mac of isp router] router used 0/0/0 probes 3 STALE
[fe80::ip1] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 1 REACHABLE
[fe80::ip2] lladdr [mac of isp router] router ref 1 used 0/0/0 probes 4 DELAY
[first ip in traceroutes] lladdr [mac of isp router] router used 0/0/0 probes 1 STALE
[my fe80:: ip] lladdr [my mac] used 0/0/0 probes 0 STALE

^C
# date && ping6 google.de
Fri Sep 23 01:18:28 UTC 2022
PING google.de (2a00:1450:4001:813::2003): 56 data bytes
64 bytes from 2a00:1450:4001:813::2003: seq=0 ttl=117 time=16.190 ms
64 bytes from 2a00:1450:4001:813::2003: seq=1 ttl=117 time=16.469 ms
64 bytes from 2a00:1450:4001:813::2003: seq=6 ttl=117 time=17.914 ms
64 bytes from 2a00:1450:4001:813::2003: seq=7 ttl=117 time=17.504 ms
64 bytes from 2a00:1450:4001:813::2003: seq=8 ttl=117 time=17.367 ms
64 bytes from 2a00:1450:4001:813::2003: seq=9 ttl=117 time=17.119 ms
64 bytes from 2a00:1450:4001:813::2003: seq=10 ttl=117 time=16.372 ms
64 bytes from 2a00:1450:4001:813::2003: seq=11 ttl=117 time=15.972 ms
64 bytes from 2a00:1450:4001:813::2003: seq=12 ttl=117 time=16.158 ms
64 bytes from 2a00:1450:4001:813::2003: seq=13 ttl=117 time=15.523 ms
64 bytes from 2a00:1450:4001:813::2003: seq=18 ttl=117 time=15.304 ms
64 bytes from 2a00:1450:4001:813::2003: seq=19 ttl=117 time=18.531 ms
^C
--- google.de ping statistics ---
20 packets transmitted, 12 packets received, 40% packet loss
round-trip min/avg/max = 15.304/16.701/18.531 ms

It seems the first router of the ISP after my network has multiple IPs which are changing state between REACHABLE, DELAY, STALE, INCOMPLETE and PROBE.

And when [fe80::ip2] changes to INCOMPLETE, packets are lost. As soon as it returns to PROBE or DELAY no packets are lost.

I guess I have to investigate the ICMPv6 traffic in more detail and see why OpenWrt has problems with its neighbours.

Installing ip-full and setting the link of [fe80::ip2] manually to PERMANENT via "ip n change [fe80::ip2] dev eth0.2" solves the packet loss, for now. I should figure out why OpenWrt feels not connected to [fe80::ip2]. And why I see multiple routers and which one I'm supposed to use. And why I get errors by ifnetd in logread. And why I don't even get IPv6 access to the internet without installing ds-lite.

I took a look at the ICMPv6 with wireshark. The three link-local addresses [fe80::ip0], [fe80::ip1], and [fe80::ip2] send router advertisements around every 4 seconds, each valid for 12 seconds. This value of 12 seconds might explain why there was connectivity for 12 seconds.

Even when disabling the rate limit for ICMPv6-Input in the firewall, my OpenWrt router feels insecure about the connections

# ip mo n dev eth0.2
[fe80::ip0] lladdr [mac of isp router] router PROBE
[fe80::ip0]  router FAILED
[fe80::ip0]  router FAILED
[fe80::ip0] lladdr [mac of isp router] router DELAY
[fe80::ip1] lladdr [mac of isp router] router PROBE
[fe80::ip0] lladdr [mac of isp router] router PROBE
[fe80::ip1]  router FAILED
[fe80::ip0]  router FAILED
[fe80::ip1] lladdr [mac of isp router] router STALE
[fe80::ip0]  router FAILED
[fe80::ip0] lladdr [mac of isp router] router DELAY
[fe80::ip2] lladdr [mac of isp router] router PROBE
[fe80::ip2] lladdr [mac of isp router] router REACHABLE
[fe80::ip0] lladdr [mac of isp router] router PROBE
[fe80::ip0]  router FAILED
[fe80::ip0]  router FAILED
[fe80::ip0] lladdr [mac of isp router] router DELAY
[fe80::ip1] lladdr [mac of isp router] router PROBE
[fe80::ip0] lladdr [mac of isp router] router PROBE
[fe80::ip1]  router FAILED
^C

It seems I have to debug the receiving and processing of router advertisements by OpenWrt. If anybody knows where to start, please chime in.

For the sake of helping others find this information, I'll provide some more information. The ISP is the five eyes collaborator Vodafone. I replaced the default Connect Box from Vodafone with the DOCSIS 3.1 modem TC4400-EU.

As a workaround to ensure connectivity, I assured my OpenWrt router to feel connected to its isp neighbors by this script at startup:

while true; do
    ip n c [fe80:ip1] lladdr [isp_mac] dev eth0.2
    ip n c [fe80:ip0] lladdr [isp_mac] dev eth0.2
    ip n c [fe80:ip2] lladdr [isp_mac] dev eth0.2
    sleep 1
    if [ $(ip n s | grep PERMANENT | wc -l) -eq 3 ]; then
        break
    fi
done

To further debug this problem, I undid these settings and restarted the router. The packet loss appeared again. This is now how my router feels about its isp neighbors:

root@OpenWrt:~# while true; do date && ip n s dev eth0.2; sleep 1; done
Sat Sep 24 16:02:52 UTC 2022
[my_openwrt_fe80:ip] lladdr [my_openwrt_mac] STALE
[fe80:ip1] lladdr [isp_mac] router STALE
[fe80:ip0] lladdr [isp_mac] router DELAY
[fe80:ip2] lladdr [isp_mac] router STALE
[isp_2a02:ip] lladdr [isp_mac] router STALE
Sat Sep 24 16:02:53 UTC 2022
[my_openwrt_fe80:ip] lladdr [my_openwrt_mac] STALE
[fe80:ip1] lladdr [isp_mac] router STALE
[fe80:ip0] lladdr [isp_mac] router DELAY
[fe80:ip2] lladdr [isp_mac] router STALE
[isp_2a02:ip] lladdr [isp_mac] router STALE
Sat Sep 24 16:02:54 UTC 2022
[my_openwrt_fe80:ip] lladdr [my_openwrt_mac] STALE
[fe80:ip1] lladdr [isp_mac] router STALE
[fe80:ip0] lladdr [isp_mac] router PROBE
[fe80:ip2] lladdr [isp_mac] router STALE
[isp_2a02:ip] lladdr [isp_mac] router STALE
Sat Sep 24 16:02:55 UTC 2022
[my_openwrt_fe80:ip] lladdr [my_openwrt_mac] STALE
[fe80:ip1] lladdr [isp_mac] router STALE
[fe80:ip0] lladdr [isp_mac] router PROBE
[fe80:ip2] lladdr [isp_mac] router STALE
[isp_2a02:ip] lladdr [isp_mac] router STALE
Sat Sep 24 16:02:56 UTC 2022
[my_openwrt_fe80:ip] lladdr [my_openwrt_mac] STALE
[fe80:ip1] lladdr [isp_mac] router STALE
[fe80:ip0] lladdr [isp_mac] router PROBE
[fe80:ip2] lladdr [isp_mac] router STALE
[isp_2a02:ip] lladdr [isp_mac] router STALE
Sat Sep 24 16:02:57 UTC 2022
[my_openwrt_fe80:ip] lladdr [my_openwrt_mac] STALE
[fe80:ip1] lladdr [isp_mac] router STALE
[fe80:ip0]  router INCOMPLETE
[fe80:ip2] lladdr [isp_mac] router DELAY
[isp_2a02:ip] lladdr [isp_mac] router STALE
Sat Sep 24 16:02:58 UTC 2022
[my_openwrt_fe80:ip] lladdr [my_openwrt_mac] STALE
[fe80:ip1] lladdr [isp_mac] router STALE
[fe80:ip0]  router INCOMPLETE
[fe80:ip2] lladdr [isp_mac] router DELAY
[isp_2a02:ip] lladdr [isp_mac] router STALE
Sat Sep 24 16:02:59 UTC 2022
[my_openwrt_fe80:ip] lladdr [my_openwrt_mac] STALE
[fe80:ip1] lladdr [isp_mac] router STALE
[fe80:ip0]  router INCOMPLETE
[fe80:ip2] lladdr [isp_mac] router DELAY
[isp_2a02:ip] lladdr [isp_mac] router STALE
Sat Sep 24 16:03:00 UTC 2022
[my_openwrt_fe80:ip] lladdr [my_openwrt_mac] STALE
[fe80:ip1] lladdr [isp_mac] router STALE
[fe80:ip0]  router INCOMPLETE
[fe80:ip2] lladdr [isp_mac] router DELAY
[isp_2a02:ip] lladdr [isp_mac] router STALE
Sat Sep 24 16:03:01 UTC 2022
[my_openwrt_fe80:ip] lladdr [my_openwrt_mac] STALE
[fe80:ip1] lladdr [isp_mac] router STALE
[fe80:ip0] lladdr [isp_mac] router DELAY
[fe80:ip2] lladdr [isp_mac] router DELAY
[isp_2a02:ip] lladdr [isp_mac] router STALE
Sat Sep 24 16:03:02 UTC 2022
[my_openwrt_fe80:ip] lladdr [my_openwrt_mac] STALE
[fe80:ip1] lladdr [isp_mac] router STALE
[fe80:ip0] lladdr [isp_mac] router DELAY
[fe80:ip2] lladdr [isp_mac] router REACHABLE
[isp_2a02:ip] lladdr [isp_mac] router STALE
Sat Sep 24 16:03:03 UTC 2022
[my_openwrt_fe80:ip] lladdr [my_openwrt_mac] STALE
[fe80:ip1] lladdr [isp_mac] router STALE
[fe80:ip0] lladdr [isp_mac] router DELAY
[fe80:ip2] lladdr [isp_mac] router REACHABLE
[isp_2a02:ip] lladdr [isp_mac] router STALE
Sat Sep 24 16:03:04 UTC 2022
[my_openwrt_fe80:ip] lladdr [my_openwrt_mac] STALE
[fe80:ip1] lladdr [isp_mac] router STALE
[fe80:ip0] lladdr [isp_mac] router DELAY
[fe80:ip2] lladdr [isp_mac] router REACHABLE
[isp_2a02:ip] lladdr [isp_mac] router STALE
Sat Sep 24 16:03:05 UTC 2022
[my_openwrt_fe80:ip] lladdr [my_openwrt_mac] STALE
[fe80:ip1] lladdr [isp_mac] router STALE
[fe80:ip0] lladdr [isp_mac] router DELAY
[fe80:ip2] lladdr [isp_mac] router REACHABLE
[isp_2a02:ip] lladdr [isp_mac] router STALE
Sat Sep 24 16:03:06 UTC 2022
[my_openwrt_fe80:ip] lladdr [my_openwrt_mac] STALE
[fe80:ip1] lladdr [isp_mac] router STALE
[fe80:ip0] lladdr [isp_mac] router PROBE
[fe80:ip2] lladdr [isp_mac] router REACHABLE
[isp_2a02:ip] lladdr [isp_mac] router STALE
Sat Sep 24 16:03:07 UTC 2022
[my_openwrt_fe80:ip] lladdr [my_openwrt_mac] STALE
[fe80:ip1] lladdr [isp_mac] router STALE
[fe80:ip0] lladdr [isp_mac] router PROBE
[fe80:ip2] lladdr [isp_mac] router REACHABLE
[isp_2a02:ip] lladdr [isp_mac] router STALE
Sat Sep 24 16:03:08 UTC 2022
[my_openwrt_fe80:ip] lladdr [my_openwrt_mac] STALE
[fe80:ip1] lladdr [isp_mac] router STALE
[fe80:ip0] lladdr [isp_mac] router PROBE
[fe80:ip2] lladdr [isp_mac] router REACHABLE
[isp_2a02:ip] lladdr [isp_mac] router STALE
^C

Here is a full redacted tcpdump of ICMPv6 into a textfile. It's gzipped and base64 encoded to fit.

Summary
$ gzip icmpv6_dump -c | base64
H4sICFNOL2MAA2ljbXB2Nl9kdW1wAO2dT3NbtxXF1/WneJNu7BmFxcV/aNHpNJPOZJE2uy4yaoYW
nyyOKZJDPTl2F/3sxQP4npU2bh2FBzm21K5MWwx/wiNwLnBxzmG3G/70t32//fthOP/X77vhcr+6
u9l3X27frLt+uFYL3X2xvrzZ+y+eHf/uvNusb4d+u96+6nbb4z86yy9uX385vNv33dd/FfXtn7vn
Xw/X/WHbDy/Ousvlfrg79N3t+p99p70Wa7uX74b+9pn4c6XPnV5Ya8Sn7pvvfPf8arP7cbN82W86
9XYlq1U6664365vO27Nu278dvrzul6v+0H3z1bffvcn/3sUX3X75brNbrrpNv301XJ93YtKL7nu9
zO++3quL7o/zH+TivPu+MHW3dzfd7vVFeSN/1q3622G9XQ7rzHW3PfTLy+vly01/dv8P3X53GM7m
N9MX3d1qX17sYrT2PZCLYl2sQOXTa+c+/uM7nz/9VR9V+cD5019d5bc9lw999MPubshvuVy96Q/D
+ra/6bf5U9Z3y2/27HfXu30eo5v1UH6Lf9ksX912398st8tX/eqs241j1d0Oy6G/uttcnHX7Q3/V
3fSr9d3N/Oab9VU/rG/6TvRtfnH+jZTX1E15bTgst7fllcP40rPfdd3t7u5w2dcHZLlaHfrb2263
L7/k5/Ji/pBx/NOId7v/4WZ5eTH+6Pgp1m+79fZqN/+Ief8jRnfP7fgzZTDqP5aLP9wD3G3H/+xZ
t7wbdpnqzXKzXtXPq13SSqnbirqoL3plY37t/SB6rbWSz+apNAtRLgR7iqdSPT2VH/9UqhM+lWah
TZ4rfR3Ey80yf3L19lIdH8dfNKBGvx9QXR7HaUTHAf7QsG779avrl7s8NLvN+nI9lGfzHv9Z9+P1
rrteZtRDv1peDv3q4tf8zu+D6xTR4B/+Kv6G4DavJmhwTQmuNXzEDSe4V2hwywke4SPuKMGNwL/j
nhPcGjR44AQPggaPnOApocETJbh18O+4UEo3axN8PRNO7eYE/rALp3gL0cLJOdVbNPAlTTjlWwz4
MafUb04pfHFKKeCcGPh+hFAqOKedhpNTSjhnXICTU2o4Zz1ctWtKDeeCwe9CUWo4FwX+tGtKDeci
fobTlBrOJbx61ZQaziuLH3NKDeelwdNOqeG8xq/nmlLDeePxqxqlhvM24MecUsN5r+C7UYZSw/mg
4GNuKDWcjwZ/lEip4Xxy+KedTsPZhZgsX/VD210K7c27H3b7fvvjYfjhCF65py6YEzDP7/UA5nsf
76fo2oSg4FuQhk6+FvIWX3Q6+WoXQSstn08TpVtIMC6oR/j9deNTbCN8U9XQlSKF3Gu8RKErRSo5
/vDE0JUihTxqeBFm6EqRSo4fc0tXihTyJHhyulJkJI8K3/Fk6UqRkTwFDV/VLF0pUsijwI+NLJ0e
r+QWT06nxyu5h1cillLDpZjwczulhksJ3+5lKTVcShY/5pQaLiV8I6+j1HApJfh67hg1nFVKw48K
HaOGy+QWXp87Rg2XyQNctztGDZfJ8TfvHKOGs0o0fswZNVwmt/gxZ9RwmbzB086o4Wxe1ODq1TFq
uEzu4ErGM2q4TB7hSsZzajiDb9n3nBou4C+ieUYNF5IN7jM6Iw1ibEinsPTQT5YeH2/poU9o6eEX
WoxL8ggPuv14DGTwvfWerqgq5BZ/0O3piqpK7uEy09MVVb42N8C3Cn24IOQO8B5ET1dS+YWLTuyD
p/YnIzgCI7iwUF6U8k++aY0H8ZS+aSHPQToJfg6i29wYyY3C+xEEus2NSh7gmxuBbnOjkGsDf9oD
3eZGJQ/wzY1At7lRyE3Ef8/paqlCbvGWUoGulirkXuAb14Gulqrk+OPYQHdAVchDhO8cBLpqqpBH
i3/aOTVcwt/QjpQazhr8blGk1HDW4q+yRUoNZ63HP+2UGs46hX/aKTWcdRZesURKDWeD4L/nlBrO
BrwHRaTUcDYGuJKJlBrOJoP3PabUcE4FvPExpYZzgtftiVLDOY3fgUyUGs7lMhVOTqnhnI1wJZMo
NZxz+ItfiVLDuYBvnU2UGs6FBmNOqeFcwl9nTpQaziu8p1Si1HDeGbzns2IUcd7MPfIn7lK8F2Rw
kjEHtCrGhQ65ZsNbvCs6FVvQPd77WRSdjK3o+ENVUXQ6tqAnfLeiKDohW9FjA3Q6JTuiW9Ugq0fR
SdmCLgYfa6DotGxB1y3Q6cRsRY8NFjc6NVvQDb52E75Isowes5jDx9bwZZIV9IQ/XRW+ULIR3akW
DzyjmouuQbqB8MWSFXSNN/kXvlyygm7wN2+EL5isoFvd4LvOqOaicw3UHF80WUH3+ENW4csmK+gB
b8clfOFkBb1BUJXwpZMV9OQboFOqOa8SfpeGL5+soGuFlzR8AWUV3eMlDV9CWUG3qsF3nVLN+Vy/
4NEp1ZzP/8OjU6o5HzU+zYVzgk94jya+qK6RPHgFX9X5oroqOV7A8wXTFfKAbwrmnNxDaBC9STm3
h4RvmeNUsFHhxTuniosKvzHFFzpayT28j4SzaImCDx3l3J+IDfoJOLcnorX4uZ1SvUYn+BKdcT1P
xk22BA+k/YnDZm/Sp9IcmooDCd51hi92tJA7vHU2X9RsWphMnh5tQ3RahPzhpkOXJ+/hT8972Jwr
NX59BT9xkXmBT+QGv89E5v8+k+MTKMk8/ydyn/DkXDtsE3nAn5qRZXvM5PiGdrI8lyO5TQ3Si7hE
6ZHc5aXvkeU2zeR440+y3KaZ3OFzm7gKkZkcf4OBLJNvIhf8bgtZAuVMjjeHI0ugnMnx3dxkSbMz
eYI/7WTpwhO5xucqk2XszuR46ySyLO2J3OCb3ciS42dy/LmR5VQypsHczqnbPd4uy3JquIDv8bOc
Gi7gKxbLqeEC/vat5VzPI77ryXCq14jvgDGU6tUrvJGKodRwvoHlqSFcz110czDHIzscrvxJybSq
PwXffXrBd3kQZQy+S+ok6cJPwXe/RfBdGUQJJk4m6/czr9VV/v9DMq+t/UDm9Yen4VNlXhcgbYLG
X+ynSlGduA2+XCDLSp7IXYPsRjrpWMnxx/ZkKdETeYNrYGQp0YXceqN9/O8JWydJq4dM2Cb9zIT9
v3PhTzhh64UY4/yDteBH5NufZIdjfq/TyeCMbm2cjmx+Obq2//nk/szv4f+i/7yg0vkJGl4N3fo+
+iw6qlw6m35t46M9M5WETbwRLtk9xQndNPAFJbuWO6G7Bk5SZPdyJ3Sv8Xc6yK6hz+j4TTsha++f
0BsEGwjZnY4JPeG1l/Dt243oVjVwkuLbrNU1aRPvGse3Q69r1GaDaY7uWKaie/w0x3cWV9A9vp9K
+I6eC3pw+Aee7+y5oscGo06p5mzCN5MJX2eRLj3S0mCao1RzTll8vc7XVVXQJTQYdUo153SLCBPK
db2F8zNZPNlE7gw+hpBSwbug4cULWQzhRN6gr4osdHMiTw0iZinXNd/gCJwsYnYiN/jChSxWeCK3
Al/QyUK0J3KHV3FkIdoTecCfPJBFxs/k+DutkVLD+aTgM1yk1HBB4e+0RjoNZ8qRuoeT033NTT1Q
x/umUYI3MIyjW8xHcKsb2DRQghsD33ylEzEVHJ9fQFerVPAGblOU4FbDe4Uo13Fr8QcsdKK1ggd4
oUKnWSt4wh+uUEo362yDVE1O8oBvlOFcyr1q0BNHSR4dPleSU8XMlwCB5JyKPeFP08iyc2fyBjMc
pYJzgvdPJIuPncnxfVFk6bETucY7xJJlNkzkxsHJyXI6JnKLj80lS6WZyB3+7Jgsd2si93jfc7IM
pok84LfgyJKIJvKId6Ahy1qbyBP+aIUsa+1InotU/AxHuZ77Bv2uZDmaE7mOeKcpSvXqTcIfoVIq
Ge8aJAVTqlfvVYNIcM4vemhgoEgoZYKM13ee8rYe/Jv87fO27EJFScZ+NuYudmzaEvw9Ez6DgEKu
Gyy8dOWkXbiY5gDrJ3PHT9Lc0S1UcPPJ9ZO54ydp7uiKPxw+6IrPraKQe4snp9vYqeR483Q+m45C
Hg1ea9BtaVVy/DYmn11DIU/46B8+j46RPDq8KQ2fMUsh9/grMHwOHZXc4EOP6KqpSu7woUd01VQh
j4J/2imVTIwOH/dEqV5jxDfb8EX5FfKEt1Xki/IbyZMyjzC4spCLhT/tfDGthVxbeMXCF9NayE2D
gFpKDZcsPr6RL4g6k1ut8PGNfLHrhVzwIYZ8seuVHK/hHKNuz+QRvgPpGDWc1Vrhx5xRyWRy/A6k
Z1SvmdzBd509o4az2uAvvXlGDWdHYxI4OaGGC8rp6brf/TaNZUp9/5A2Da/et2mY+6FpH5ZxD2jT
MPfaNJzRwU9EvobwYAIpp1PgE4wiIIvSj0cIocGkTSfIC3nEW//yhWhV8gbeG3SydCSPysLLT76w
vEqe8ORkwZBhTPh04TFO7aH2QsArEU9XiRTyiFelga4SqeT4CS7QVSKFPEX8mNNVIqEuanAJF+iE
TCEXvOFxoKvBCrnGp/4GOtleyCPeHDLQiddC3iChJtDto1fyBmNOqWSSwvcwB7qCpZJr+NMeKTVc
0grvF0ip4ZLGX06PlBouaXyCcKRUMqnBTbFIqWSSxd/WjYxKxkrEe+Dy2fhX8oQfc0YNZyXhu0Ai
Y5WayfFdIHxxHZUcf/+ZL6IllG4vhY9cY9RwmRx/M4cvhKqS421w+SLXKjl+75UvhKqQC34fji9s
rpLjO3n5ohUreYNQSUr1qgVvJMYXJFrIteAN/fkSgys6/niJLzG4knu80zffHbyKjm8RIsxFL+gG
f6le+G7bVvQGsSV8V6wLulV410C+e/UVHe8WI3wGGhUd7/0sfA4aFT3BT5mEzzCmoDtpsK5zijmH
t3kXPoOkEd0ofLOQ8HkSFnTBnygLnxVaRccfsgmfF1pFdw0CySjVnGlw/VT4jL8LeoP7p8Ln/F3R
WyxuhBo+iFHTufKT//Un6X8dFzqLh2lL/VHdVYmle7+BQlF0s1Ys7fsGv0wrurWqouP7A0TRTdgF
XeMtgETRibOK3iBSUNEVYgXdNEjQVHTVSEG3DUKCFV0NWtBdaDDN0W21FXSP72sWRbfflNGtanGE
xhcCX9CNxy9uQrfBWtHx9+xFGNWcVVY3eOAZJU1Gt/jFTRiFbEbH380TYVRzVjUIGBG+cOyKrhuM
OqOay+gOr+aEUcNn9IA/LhdGIWuVx+dpiuaUNB5/E1f48uAreoPvuubU8D7ghSxfLnpBDxq/I8sX
jF7R8U6mojk1fMDHToimFLK5qsKXL3yRyRU9NXjgKTV8XnPh9TrfaXklx1t/8rVIVHL8DR5DqWLF
4D0HSKc4iz9v4+uFKuQOnypEOre7AJ/bNWWhLgnf9cip3bXCr2qc0r3F/XNO5a61hm9QcBbpWnv8
mFOuas4Ifswp1aszeEdrzvMWH/Bd3YTLuUtGqXiKxmZ5amz++MZmOWFjc1qo6NR0r/jXDaJ6GsSP
H0R10kHUJjiB74/yXZ8r5B5vS8p3jyotjIppSgc68Y2Ee3ujJ1l2Tn8tQVRedq3DBzLThXxV8oA3
vKELdjuSe/h2GV2M4ZEcvzlMF11ZyZPDpyOxlVSF3KkGcaVsJdWRHH/vii6c90ju4UqOLor6SI4/
CqGLoq7kgvc8oYucP5LjPX4cpZJxkvDB62x1SyXX+PZkx7mea3zHouVczzW+YdFSqlfnLHw9p7Op
PJLj63M6q8ZK7vHNW46ySnXewTUcnUflkTzA13M6i8pK3uD4i86m8UiOj1Og8+E9knu8kuHU7SHi
21M5lUzEhwrQ+RQeyfEeEXSWpJU84W/b0DmSHsnxl22IrCn/8dUzm7/e++Xl63647S6X++Euv/Ez
5+P84qG/7Ndv+lX38l13td4M/eGZGJn/enXY7ff1b1/3h22/efZvefv9zqu1AQA=

OpenWrt sends neighbor solicitations. For example

16:02:54.133582 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) [my_openwrt_fe80:ip] > [fe80:ip0]: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has [fe80:ip0]
	  source link-address option (1), length 8 (1): [my_openwrt_mac]

and

16:02:55.173570 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) [my_openwrt_fe80:ip] > [fe80:ip0]: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has [fe80:ip0]
	  source link-address option (1), length 8 (1): [my_openwrt_mac]

The ISP routers don't respond to that and keep sending router advertisements. Is one party here violating some RFC?
Why am I getting spammed with neighbor solicitations?

RFC4861 - Neighbor Discovery for IP version 6 (IPv6) specifies on page 23

A node sends Neighbor Advertisements in response to Neighbor
Solicitations and sends unsolicited Neighbor Advertisements in order
to (unreliably) propagate new information quickly.

This does not contain keywords like MUST or the like. Is the response obligatory?

There exist RFCs that update RFC4861. Do any of those change the required response to neighbor solicitations?

The workaround of manually marking the peers reachable is still making my connection stable. But now it is also stable without the workaround. I had episodes without packet loss before, only for the issue to come back later.

I expect my workaround to break as soon as my ISP changes the MAC address or router IPs.

The proper solution would be to figure out, what behavior IPv6 mandates, and then expecting the party at fault to change.

It seems to me that a router that advertises itself is obligated to respond to neighbor solicitations, so my ISP would be at fault.

On the other hand, my ISP announces routers that my router can and in fact does use for a while and then refuses to continue to use. Why doesn't my router keep using the routers for the announced lifetime of 12s and refreshes that lifetime for every new router advertisement? OpenWrt should be resilient, especially on the WAN port. I have not figured out yet, how to achieve that.

The packet loss is back, random, and intense.

Summary

root@OpenWrt:~# date && ping google.de
Sun Sep 25 23:47:39 UTC 2022
PING google.de (2a00:1450:4001:806::2003): 56 data bytes
64 bytes from 2a00:1450:4001:806::2003: seq=3 ttl=116 time=36.982 ms
64 bytes from 2a00:1450:4001:806::2003: seq=4 ttl=116 time=17.559 ms
64 bytes from 2a00:1450:4001:806::2003: seq=7 ttl=116 time=35.692 ms
64 bytes from 2a00:1450:4001:806::2003: seq=8 ttl=116 time=13.615 ms
64 bytes from 2a00:1450:4001:806::2003: seq=9 ttl=116 time=15.956 ms
64 bytes from 2a00:1450:4001:806::2003: seq=12 ttl=116 time=15.051 ms
64 bytes from 2a00:1450:4001:806::2003: seq=13 ttl=116 time=14.887 ms
64 bytes from 2a00:1450:4001:806::2003: seq=14 ttl=116 time=14.494 ms
64 bytes from 2a00:1450:4001:806::2003: seq=17 ttl=116 time=17.823 ms
64 bytes from 2a00:1450:4001:806::2003: seq=22 ttl=116 time=15.365 ms
64 bytes from 2a00:1450:4001:806::2003: seq=23 ttl=116 time=33.407 ms
64 bytes from 2a00:1450:4001:806::2003: seq=25 ttl=116 time=14.586 ms
^C
--- google.de ping statistics ---
26 packets transmitted, 12 packets received, 53% packet loss
round-trip min/avg/max = 13.615/20.451/36.982 ms
root@OpenWrt:~# date && ping heise.de
Sun Sep 25 23:48:09 UTC 2022
PING heise.de (2a02:2e0:3fe:1001:302::): 56 data bytes
64 bytes from 2a02:2e0:3fe:1001:302::: seq=0 ttl=57 time=34.051 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=2 ttl=57 time=34.229 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=4 ttl=57 time=14.624 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=7 ttl=57 time=32.402 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=8 ttl=57 time=17.106 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=9 ttl=57 time=35.663 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=10 ttl=57 time=35.151 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=11 ttl=57 time=34.900 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=12 ttl=57 time=15.584 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=14 ttl=57 time=15.154 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=15 ttl=57 time=34.333 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=19 ttl=57 time=13.157 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=20 ttl=57 time=22.442 ms
64 bytes from 2a02:2e0:3fe:1001:302::: seq=23 ttl=57 time=16.205 ms
^C
--- heise.de ping statistics ---
24 packets transmitted, 14 packets received, 41% packet loss
round-trip min/avg/max = 13.157/25.357/35.663 ms
root@OpenWrt:~# date && ping [isp_2a02:ip]
Sun Sep 25 23:48:34 UTC 2022
PING [isp_2a02:ip] ([isp_2a02:ip]): 56 data bytes
64 bytes from [isp_2a02:ip]: seq=0 ttl=64 time=29.292 ms
64 bytes from [isp_2a02:ip]: seq=1 ttl=64 time=37.839 ms
64 bytes from [isp_2a02:ip]: seq=2 ttl=64 time=34.279 ms
64 bytes from [isp_2a02:ip]: seq=3 ttl=64 time=37.711 ms
64 bytes from [isp_2a02:ip]: seq=4 ttl=64 time=35.097 ms
64 bytes from [isp_2a02:ip]: seq=5 ttl=64 time=33.950 ms
64 bytes from [isp_2a02:ip]: seq=6 ttl=64 time=11.176 ms
64 bytes from [isp_2a02:ip]: seq=8 ttl=64 time=8.428 ms
64 bytes from [isp_2a02:ip]: seq=10 ttl=64 time=65.023 ms
64 bytes from [isp_2a02:ip]: seq=12 ttl=64 time=7.059 ms
64 bytes from [isp_2a02:ip]: seq=14 ttl=64 time=10.666 ms
64 bytes from [isp_2a02:ip]: seq=15 ttl=64 time=30.252 ms
64 bytes from [isp_2a02:ip]: seq=16 ttl=64 time=10.437 ms
64 bytes from [isp_2a02:ip]: seq=20 ttl=64 time=8.851 ms
64 bytes from [isp_2a02:ip]: seq=21 ttl=64 time=8.070 ms
64 bytes from [isp_2a02:ip]: seq=22 ttl=64 time=42.518 ms
64 bytes from [isp_2a02:ip]: seq=25 ttl=64 time=18.811 ms
64 bytes from [isp_2a02:ip]: seq=26 ttl=64 time=29.215 ms
^C
--- [isp_2a02:ip] ping statistics ---
27 packets transmitted, 18 packets received, 33% packet loss
round-trip min/avg/max = 7.059/25.481/65.023 ms
root@OpenWrt:~# date && ip n s dev eth0.2
Sun Sep 25 23:49:07 UTC 2022
[fe80:ip2] lladdr [isp_mac] PERMANENT
[fe80:ip0] lladdr [isp_mac] PERMANENT
[fe80:ip1] lladdr [isp_mac] PERMANENT
[isp_2a02:ip] lladdr [isp_mac] router DELAY
[my_openwrt_fe80:ip] lladdr [my_openwrt_mac] STALE

The dump of ICMPv6 with tcpdump reveals that this time my router did send the ping requests but did not receive the reply. This looks like my ISP messing up. The modem has no errors in the LAN statistics and also the DOCSIS Downstream statistics are not meaningful to me:

Summary
Downstream Channel Status
Channel Index 	Channel ID 	Lock Status 	Channel Type 	Bonding Status 	Center Frequency 	Channel Width 	SNR/MER Threshold Value 	Received Level 	Modulation/Profile ID 	Unerrored Codewords 	Corrected Codewords 	Uncorrectable Codewords
1 	18 	Locked 	SC-QAM 	Bonded 	634000000 Hz 	8000000 Hz 	41.1 dB 	7.1 dBmV 	QAM256 	198545675 	0 	0
2 	1 	Locked 	SC-QAM 	Bonded 	474000000 Hz 	8000000 Hz 	42.2 dB 	8.8 dBmV 	QAM256 	198033598 	0 	0
3 	2 	Locked 	SC-QAM 	Bonded 	482000000 Hz 	8000000 Hz 	42.6 dB 	9.1 dBmV 	QAM256 	198034935 	0 	0
4 	3 	Locked 	SC-QAM 	Bonded 	490000000 Hz 	8000000 Hz 	42.6 dB 	9.4 dBmV 	QAM256 	198036595 	0 	0
5 	4 	Locked 	SC-QAM 	Bonded 	498000000 Hz 	8000000 Hz 	42.6 dB 	9.4 dBmV 	QAM256 	198037742 	0 	0
6 	5 	Locked 	SC-QAM 	Bonded 	522000000 Hz 	8000000 Hz 	41.8 dB 	8.0 dBmV 	QAM256 	198039481 	0 	0
7 	6 	Locked 	SC-QAM 	Bonded 	530000000 Hz 	8000000 Hz 	41.4 dB 	7.8 dBmV 	QAM256 	198040772 	0 	0
8 	7 	Locked 	SC-QAM 	Bonded 	538000000 Hz 	8000000 Hz 	41.4 dB 	8.0 dBmV 	QAM256 	198042158 	0 	0
9 	8 	Locked 	SC-QAM 	Bonded 	546000000 Hz 	8000000 Hz 	40.8 dB 	7.2 dBmV 	QAM256 	198043243 	0 	0
10 	9 	Locked 	SC-QAM 	Bonded 	554000000 Hz 	8000000 Hz 	40.6 dB 	6.8 dBmV 	QAM256 	198044784 	0 	0
11 	10 	Locked 	SC-QAM 	Bonded 	562000000 Hz 	8000000 Hz 	40.4 dB 	6.3 dBmV 	QAM256 	198046070 	0 	0
12 	11 	Locked 	SC-QAM 	Bonded 	570000000 Hz 	8000000 Hz 	39.5 dB 	5.4 dBmV 	QAM256 	198047640 	0 	0
13 	12 	Locked 	SC-QAM 	Bonded 	578000000 Hz 	8000000 Hz 	39.5 dB 	5.4 dBmV 	QAM256 	198048761 	0 	0
14 	13 	Locked 	SC-QAM 	Bonded 	586000000 Hz 	8000000 Hz 	40.3 dB 	6.4 dBmV 	QAM256 	198050263 	0 	0
15 	14 	Locked 	SC-QAM 	Bonded 	594000000 Hz 	8000000 Hz 	39.3 dB 	5.0 dBmV 	QAM256 	198051670 	0 	0
16 	15 	Locked 	SC-QAM 	Bonded 	602000000 Hz 	8000000 Hz 	39.4 dB 	5.1 dBmV 	QAM256 	198053044 	0 	0
17 	16 	Locked 	SC-QAM 	Bonded 	618000000 Hz 	8000000 Hz 	40.4 dB 	6.3 dBmV 	QAM256 	198054054 	0 	0
18 	17 	Locked 	SC-QAM 	Bonded 	626000000 Hz 	8000000 Hz 	40.3 dB 	6.3 dBmV 	QAM256 	198055802 	0 	0
19 	19 	Locked 	SC-QAM 	Bonded 	642000000 Hz 	8000000 Hz 	41.1 dB 	7.2 dBmV 	QAM256 	198057294 	0 	0
20 	20 	Locked 	SC-QAM 	Bonded 	650000000 Hz 	8000000 Hz 	40.6 dB 	6.6 dBmV 	QAM256 	198059198 	0 	0
21 	21 	Locked 	SC-QAM 	Bonded 	658000000 Hz 	8000000 Hz 	41.6 dB 	7.7 dBmV 	QAM256 	198060506 	0 	0
22 	22 	Locked 	SC-QAM 	Bonded 	666000000 Hz 	8000000 Hz 	41.6 dB 	8.1 dBmV 	QAM256 	198061861 	0 	0
23 	23 	Locked 	SC-QAM 	Bonded 	674000000 Hz 	8000000 Hz 	41.3 dB 	7.8 dBmV 	QAM256 	198063478 	0 	0
24 	24 	Locked 	SC-QAM 	Bonded 	682000000 Hz 	8000000 Hz 	42.1 dB 	8.5 dBmV 	QAM256 	198064858 	0 	0
25 	25 	Locked 	SC-QAM 	Bonded 	690000000 Hz 	8000000 Hz 	42.3 dB 	8.9 dBmV 	QAM256 	198066200 	0 	0
26 	26 	Locked 	SC-QAM 	Bonded 	698000000 Hz 	8000000 Hz 	42.1 dB 	8.6 dBmV 	QAM256 	198067644 	0 	0
27 	27 	Locked 	SC-QAM 	Bonded 	706000000 Hz 	8000000 Hz 	42.6 dB 	9.2 dBmV 	QAM256 	198069157 	0 	0
28 	28 	Locked 	SC-QAM 	Bonded 	730000000 Hz 	8000000 Hz 	43.1 dB 	10.3 dBmV 	QAM256 	198070269 	0 	0
29 	29 	Locked 	SC-QAM 	Bonded 	738000000 Hz 	8000000 Hz 	43.1 dB 	10.3 dBmV 	QAM256 	198068249 	0 	0
30 	30 	Locked 	SC-QAM 	Bonded 	746000000 Hz 	8000000 Hz 	43.0 dB 	10.1 dBmV 	QAM256 	198066706 	0 	0
31 	193 	Locked 	OFDM 	Bonded 	823000000 Hz 	110000 kHz 	39.8 dB 	9.0 dBmV 	0,1,2,3 	557214327 	533059665 	0
32 	194 	Locked 	OFDM 	Bonded 	441000000 Hz 	62000 kHz 	40.8 dB 	0.0 dBmV 	0,1,2,3 	565290038 	525357543 	0

Are the many errors in the OFDM channels meaningful?
I don't know what the SNMP log entries mean:

Summary
 31 	 Mon Sep 26 01:56:59 2022  	 Critical (3) 	 "Started Unicast Maintenance Ranging - No Response received - T3 time-out;CM-MAC=XX:XX:XX:XX:XX... 
 30 	 Mon Sep 26 01:45:14 2022  	 Warning (5) 	 "DBC-REQ Mismatch Between Calculated Value for P1.6hi Compared to CCAP Provided Value;CM-MAC=XX... 
 29 	 Mon Sep 26 01:45:14 2022  	 Notice (6) 	 "US profile assignment change. US Chan ID: 8; Previous Profile: 6 13; New Profile: 5 6.;CM-MAC=... 
 28 	 Mon Sep 26 01:44:59 2022  	 Critical (3) 	 "Started Unicast Maintenance Ranging - No Response received - T3 time-out;CM-MAC=XX:XX:XX:XX:XX... 

I already called Vodafone in the past to ask about the packet loss, but I couldn't get passed the first level customer support. They denied any help since I was not using their router. I'll call again tomorrow and press that I have data that my router does send the pings.

I power-cycled the modem. Now there is no packet loss. The downstream channel status looks basically the same:

Summary
Downstream Channel Status
Channel Index 	Channel ID 	Lock Status 	Channel Type 	Bonding Status 	Center Frequency 	Channel Width 	SNR/MER Threshold Value 	Received Level 	Modulation/Profile ID 	Unerrored Codewords 	Corrected Codewords 	Uncorrectable Codewords
1 	18 	Locked 	SC-QAM 	Bonded 	634000000 Hz 	8000000 Hz 	41.2 dB 	6.7 dBmV 	QAM256 	41132893 	0 	0
2 	1 	Locked 	SC-QAM 	Bonded 	474000000 Hz 	8000000 Hz 	42.3 dB 	8.2 dBmV 	QAM256 	40643979 	0 	0
3 	2 	Locked 	SC-QAM 	Bonded 	482000000 Hz 	8000000 Hz 	42.5 dB 	8.4 dBmV 	QAM256 	40645381 	0 	0
4 	3 	Locked 	SC-QAM 	Bonded 	490000000 Hz 	8000000 Hz 	42.7 dB 	8.6 dBmV 	QAM256 	40647104 	0 	0
5 	4 	Locked 	SC-QAM 	Bonded 	498000000 Hz 	8000000 Hz 	42.5 dB 	8.7 dBmV 	QAM256 	40648026 	0 	0
6 	5 	Locked 	SC-QAM 	Bonded 	522000000 Hz 	8000000 Hz 	41.8 dB 	7.3 dBmV 	QAM256 	40649785 	0 	0
7 	6 	Locked 	SC-QAM 	Bonded 	530000000 Hz 	8000000 Hz 	41.6 dB 	7.2 dBmV 	QAM256 	40651215 	0 	0
8 	7 	Locked 	SC-QAM 	Bonded 	538000000 Hz 	8000000 Hz 	41.5 dB 	7.5 dBmV 	QAM256 	40652815 	0 	0
9 	8 	Locked 	SC-QAM 	Bonded 	546000000 Hz 	8000000 Hz 	40.8 dB 	6.7 dBmV 	QAM256 	40653842 	0 	0
10 	9 	Locked 	SC-QAM 	Bonded 	554000000 Hz 	8000000 Hz 	40.7 dB 	6.2 dBmV 	QAM256 	40655207 	0 	0
11 	10 	Locked 	SC-QAM 	Bonded 	562000000 Hz 	8000000 Hz 	40.5 dB 	5.8 dBmV 	QAM256 	40656786 	0 	0
12 	11 	Locked 	SC-QAM 	Bonded 	570000000 Hz 	8000000 Hz 	39.7 dB 	5.0 dBmV 	QAM256 	40658059 	0 	0
13 	12 	Locked 	SC-QAM 	Bonded 	578000000 Hz 	8000000 Hz 	39.6 dB 	5.1 dBmV 	QAM256 	40659357 	0 	0
14 	13 	Locked 	SC-QAM 	Bonded 	586000000 Hz 	8000000 Hz 	40.4 dB 	5.9 dBmV 	QAM256 	40660861 	0 	0
15 	14 	Locked 	SC-QAM 	Bonded 	594000000 Hz 	8000000 Hz 	39.4 dB 	4.5 dBmV 	QAM256 	40662367 	0 	0
16 	15 	Locked 	SC-QAM 	Bonded 	602000000 Hz 	8000000 Hz 	39.6 dB 	4.7 dBmV 	QAM256 	40663560 	0 	0
17 	16 	Locked 	SC-QAM 	Bonded 	618000000 Hz 	8000000 Hz 	40.4 dB 	5.9 dBmV 	QAM256 	40664958 	0 	0
18 	17 	Locked 	SC-QAM 	Bonded 	626000000 Hz 	8000000 Hz 	40.4 dB 	5.8 dBmV 	QAM256 	40666250 	0 	0
19 	19 	Locked 	SC-QAM 	Bonded 	642000000 Hz 	8000000 Hz 	41.2 dB 	6.7 dBmV 	QAM256 	40667789 	0 	0
20 	20 	Locked 	SC-QAM 	Bonded 	650000000 Hz 	8000000 Hz 	40.7 dB 	6.1 dBmV 	QAM256 	40668941 	0 	0
21 	21 	Locked 	SC-QAM 	Bonded 	658000000 Hz 	8000000 Hz 	41.5 dB 	7.1 dBmV 	QAM256 	40671033 	0 	0
22 	22 	Locked 	SC-QAM 	Bonded 	666000000 Hz 	8000000 Hz 	41.7 dB 	7.5 dBmV 	QAM256 	40672824 	0 	0
23 	23 	Locked 	SC-QAM 	Bonded 	674000000 Hz 	8000000 Hz 	41.3 dB 	7.2 dBmV 	QAM256 	40674105 	0 	0
24 	24 	Locked 	SC-QAM 	Bonded 	682000000 Hz 	8000000 Hz 	42.0 dB 	7.9 dBmV 	QAM256 	40675349 	0 	0
25 	25 	Locked 	SC-QAM 	Bonded 	690000000 Hz 	8000000 Hz 	42.3 dB 	8.2 dBmV 	QAM256 	40676843 	0 	0
26 	26 	Locked 	SC-QAM 	Bonded 	698000000 Hz 	8000000 Hz 	42.1 dB 	7.8 dBmV 	QAM256 	40678285 	0 	0
27 	27 	Locked 	SC-QAM 	Bonded 	706000000 Hz 	8000000 Hz 	42.6 dB 	8.5 dBmV 	QAM256 	40679648 	0 	0
28 	28 	Locked 	SC-QAM 	Bonded 	730000000 Hz 	8000000 Hz 	43.0 dB 	9.5 dBmV 	QAM256 	40681135 	0 	0
29 	29 	Locked 	SC-QAM 	Bonded 	738000000 Hz 	8000000 Hz 	43.1 dB 	9.6 dBmV 	QAM256 	40678956 	0 	0
30 	30 	Locked 	SC-QAM 	Bonded 	746000000 Hz 	8000000 Hz 	42.9 dB 	9.4 dBmV 	QAM256 	40678255 	0 	0
31 	193 	Locked 	OFDM 	Bonded 	823000000 Hz 	110000 kHz 	39.8 dB 	8.2 dBmV 	0,1,2,3 	117523094 	112040272 	0
32 	194 	Locked 	OFDM 	Bonded 	441000000 Hz 	62000 kHz 	41.0 dB 	0.0 dBmV 	0,1,2,3 	114010825 	108055692 	0

There are new entries in the SNMP Event log. Some that were there before the power-cycle are gone.

Summary
SNMP Event Log
Index 	Time 	Priority 	Description
 31 	 Mon Sep 26 02:34:59 2022  	 Critical (3) 	 "Started Unicast Maintenance Ranging - No Response received - T3 time-out;CM-MAC=XX:XX:XX:XX:XX... 
 30 	 Mon Sep 26 02:30:14 2022  	 Warning (5) 	 "DBC-REQ Mismatch Between Calculated Value for P1.6hi Compared to CCAP Provided Value;CM-MAC=XX... 
 29 	 Mon Sep 26 02:30:14 2022  	 Notice (6) 	 "US profile assignment change. US Chan ID: 8; Previous Profile: 6 13; New Profile: 5 6.;CM-MAC=... 
 28 	 Mon Sep 26 02:29:59 2022  	 Critical (3) 	 "Started Unicast Maintenance Ranging - No Response received - T3 time-out;CM-MAC=XX:XX:XX:XX:XX... 
 27 	 Mon Sep 26 02:27:26 2022  	 Warning (5) 	 "DBC-REQ Mismatch Between Calculated Value for P1.6hi Compared to CCAP Provided Value;CM-MAC=XX... 
 26 	 Mon Sep 26 02:27:26 2022  	 Notice (6) 	 "US profile assignment change. US Chan ID: 8; Previous Profile: 12 13; New Profile: 6 13.;CM-MA... 
 25 	 Mon Sep 26 02:26:58 2022  	 Warning (5) 	 "REG-RSP-MP Mismatch Between Calculated Value for P1.6hi Compared to CCAP Provided Value;CM-MAC... 
 24 	 Mon Sep 26 02:26:53 2022  	 Notice (6) 	 "DS profile assignment change. DS Chan ID: 33; Previous Profile: ; New Profile: 1 2 3.;CM-MAC=X... 
 23 	 Mon Sep 26 02:26:52 2022  	 Notice (6) 	 "DS profile assignment change. DS Chan ID: 32; Previous Profile: ; New Profile: 1 2 3.;CM-MAC=X... 
 22 	 Mon Sep 26 02:26:47 2022  	 Notice (6) 	 "TLV-11 - unrecognized OID;CM-MAC=1c:9e:cc:f3:d2:94;CMTS-MAC=XX:XX:XX:XX:XX:XX;CM-QOS=1.1;CM-VE... 
 21 	 Mon Sep 26 02:26:47 2022  	 Warning (5) 	 "DHCP WARNING - Non-critical field invalid in response ;CM-MAC=XX:XX:XX:XX:XX:XX;CMTS-MAC=XX:XX... 
 20 	 Time Not Established 	 Notice (6) 	 "Honoring MDD; IP provisioning mode = IPv4" 
 19 	 Time Not Established 	 Critical (3) 	 "SYNC Timing Synchronization failure - Failed to acquire QAM/QPSK symbol timing;;CM-MAC=XX:XX:X... 
 18 	 Mon Sep 26 00:20:44 2022  	 Critical (3) 	 "Received Response to Broadcast Maintenance Request, But no Unicast Maintenance opportunities r... 
 17 	 Mon Sep 26 00:20:44 2022  	 Critical (3) 	 "SYNC Timing Synchronization failure - Failed to acquire QAM/QPSK symbol timing;;CM-MAC=XX:XX:X... 
 16 	 Mon Sep 26 00:20:43 2022  	 Critical (3) 	 "Received Response to Broadcast Maintenance Request, But no Unicast Maintenance opportunities r... 
 15 	 Mon Sep 26 00:20:42 2022  	 Critical (3) 	 "SYNC Timing Synchronization failure - Failed to acquire QAM/QPSK symbol timing;;CM-MAC=XX:XX:X... 
 14 	 Mon Sep 26 00:20:42 2022  	 Critical (3) 	 "Received Response to Broadcast Maintenance Request, But no Unicast Maintenance opportunities r... 
 13 	 Mon Sep 26 00:20:42 2022  	 Critical (3) 	 "SYNC Timing Synchronization failure - Failed to acquire QAM/QPSK symbol timing;;CM-MAC=XX:XX:X... 
 12 	 Mon Sep 26 00:20:40 2022  	 Critical (3) 	 "Received Response to Broadcast Maintenance Request, But no Unicast Maintenance opportunities r... 
 11 	 Mon Sep 26 00:20:40 2022  	 Critical (3) 	 "SYNC Timing Synchronization failure - Failed to acquire QAM/QPSK symbol timing;;CM-MAC=XX:XX:X... 
 10 	 Mon Sep 26 00:20:34 2022  	 Critical (3) 	 "Received Response to Broadcast Maintenance Request, But no Unicast Maintenance opportunities r... 
 9 	 Mon Sep 26 00:20:34 2022  	 Critical (3) 	 "SYNC Timing Synchronization failure - Failed to acquire QAM/QPSK symbol timing;;CM-MAC=XX:XX:X... 
 8 	 Mon Sep 26 00:19:50 2022  	 Critical (3) 	 "SYNC Timing Synchronization failure - Failed to acquire QAM/QPSK symbol timing;;CM-MAC=XX:XX:X... 
 7 	 Sun Sep 25 11:34:29 2022  	 Critical (3) 	 "Started Unicast Maintenance Ranging - No Response received - T3 time-out;CM-MAC=XX:XX:XX:XX:XX... 
 6 	 Sun Sep 25 04:23:30 2022  	 Critical (3) 	 "Started Unicast Maintenance Ranging - No Response received - T3 time-out;CM-MAC=XX:XX:XX:XX:XX... 
 5 	 Sat Sep 24 09:56:20 2022  	 Critical (3) 	 "Started Unicast Maintenance Ranging - No Response received - T3 time-out;CM-MAC=XX:XX:XX:XX:XX... 
 4 	 Fri Sep 23 22:52:26 2022  	 Critical (3) 	 "Started Unicast Maintenance Ranging - No Response received - T3 time-out;CM-MAC=XX:XX:XX:XX:XX... 
 3 	 Thu Sep 22 16:15:06 2022  	 Critical (3) 	 "Started Unicast Maintenance Ranging - No Response received - T3 time-out;CM-MAC=XX:XX:XX:XX:XX... 
 2 	 Thu Sep 22 15:05:08 2022  	 Critical (3) 	 "No Ranging Response received - T3 time-out;CM-MAC=XX:XX:XX:XX:XX:XX;CMTS-MAC=XX:XX:XX:XX:XX:XX... 
 1 	 Thu Sep 22 15:05:02 2022  	 Critical (3) 	 "No Ranging Response received - T3 time-out;CM-MAC=XX:XX:XX:XX:XX:XX;CMTS-MAC=XX:XX:XX:XX:XX:XX... 
 0 	 Thu Sep 22 15:05:01 2022  	 Critical (3) 	 "No Ranging Response received - T3 time-out;CM-MAC=XX:XX:XX:XX:XX:XX;CMTS-MAC=XX:XX:XX:XX:XX:XX... 

This packet loss is so confusing. Is it multiple issues at once?

My workaround for this problem was declaring some ISP routers as permanent IPv6 neighbors via the ip command.

Now I have found a similar problem on the very same router with a device on my LAN, which runs Debian. Yay, free software on both sides, so this should be possible to debug.

My router can ping other local machines with their global and local IPv6 address, as well with IPv4. However one machine, running Freedombox stable, can only be pinged with IPv4 from the router. That machine can ping the router though with IPv4 and IPv6. The router can only ping the machine via IPv6 after manually declaring it a IPv6 neighbor via the ip command.