Hi folks. I'm seeing odd IPv6 behaviour on my iMac, which is not the same as other clients on my LAN, so this appears to be macOS specific and not an OpenWRT issue, but I'm hoping to get some advice.
Scenario:
Set a constant ping running (ping6 google.com)
No output for several minutes, then 9 or 10 successful pings, then no output for several minutes again. Lather, rinse, repeat.
Diagnostics: (See pastebin folder as I can only add two links - noob!)
Wireshark capture filter for "icmp or icmp6" on my Mac's Ethernet port en0. (Captured pcapng file 33kBytes)
Capture output of "ifconfig -a inet6" and "netstat -f inet6 -rn" when there's no ping response, and again when the pings are coming back.
iMac-2017:Desktop michthom$ diff -u ifconfig_netstat_missing_route.txt ifconfig_netstat_route_present.txt
--- ifconfig_netstat_missing_route.txt 2019-11-06 23:38:31.000000000 +0000
+++ ifconfig_netstat_route_present.txt 2019-11-07 00:31:02.000000000 +0000
@@ -80,7 +80,7 @@
fe80::1%lo0 link#1 UHLI lo0
fe80::%en0/64 link#4 UCI en0
fe80::1412:cb7b:1ccd:13c2%en0 98:10:e8:f3:d7:ef UHLI lo0
-fe80::42f2:1ff:fe0b:c552%en0 link#4 UHLWIir en0
+fe80::42f2:1ff:fe0b:c552%en0 40:f2:1:b:c5:52 UHLWIir en0
fe80::%en1/64 link#5 UCI en1
fe80::2a:2c75:ee9c:47fc%en1 64:70:33:d4:90:8e UHLWIi en1
fe80::458:c576:bce3:72e5%en1 74:8d:8:5:b2:41 UHLWIi en1
Analysis:
While there's no route, no pings are sent.
When the RA timer expires, OpenWRT sends a new RA packet, which triggers the Mac to create the route, via the OpenWRT MAC address.
ICMPv6 Option (Route Information : Medium 2a00:23c4:6d99:8800::/56) Type: Route Information (24) Length: 3 (24 bytes) Prefix Length: 56 Flag: 0x00, Route Preference: Medium ...0 0... = Route Preference: Medium (0) 000. .000 = Reserved: 0 Route Lifetime: 8589751 Prefix: 2a00:23c4:6d99:8800::
I then see successful pings being sent and replied received.
Approximately 10 seconds later the pings stop because the route reverts to the "link#4"
Assumption:
macOS is being irritating, accepting the RA but messing up the route lifetime (8589751), and dropping it way too fast?
Question:
Apart from disabling IPv6, do I have any options in OpenWRT to force the Mac to be a better network citizen? Or am I misreading the whole situation?