@philvuchetich @mwl if you are firewalling, allow fe80::/64 on all ipv6 interfaces. Neighbor discovery failures have weird side effects.
Thanks again - the minor edit in pf.conf solved it - previously only echoreq, unreach were allowed, now all icmp6 is allowed.
For reference: current rule is
"pass inet6 proto icmp6 from fe:80::/64 to fe:80::/64"
I'll plan to allow on all interfaces within the LAN -
"pass inet6 proto icmp6"
And then evaluate what the firewall will do if some ICMP types should be blocked after reading the upcoming #BookOfPF by @pitrh . That part is more complex because my IPv6 connection is a tunnel via HE (neither the cable nor fiber ISP offers IPv6 native connectivity), so I need to read more first.
***
I just left the IPv4 and IPv6 ping running overnight, and the connectivity is resolved:
IPv6 --- ping statistics ---
54559 packets transmitted, 54557 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.070/0.251/0.760/0.076 ms
IPv4 --- ping statistics ---
54564 packets transmitted, 54564 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.061/0.230/0.468/0.027 ms
This is over a 1 Gb connection with 3 switches between hosts, so an average 250 ns ping time is fine.