I am using route(8) in a script but found some odd behavior when querying routes for some IPv6 addresses - lookups seem to fail if the trailing address bytes are zero (implicit or explicitly) as shown below. However, the routing table still seems to be forwarding traffic correctly, as shown in my final example.
Can anyone shed light on this, perhaps explain how I'm misusing route(8)? This is on amd64 running 6.3-stable. Thanks. --david $ route -n get 2607:f8b0:4004:805::2004 route to: 2607:f8b0:4004:805::2004 destination: :: mask: :: gateway: fe80:1::201:5cff:fe86:7046%em0 interface: em0 if address: fe80::5e8c:75d:e349:26fd%em0 priority: 56 (default) flags: <UP,GATEWAY,DONE,STATIC> label: slaacd use mtu expire 220369 0 0 sockaddrs: <DST,GATEWAY,NETMASK,IFP,IFA,LABEL> $ route -n get 2607:f8b0:4004:805:: get net 2607:f8b0:4004:805::: not in table $ route -n get 2600:1901:0:94b6:: get net 2600:1901:0:94b6::: not in table $ ping6 2600:1901:0:94b6:: PING 2600:1901:0:94b6:: (2600:1901:0:94b6::): 56 data bytes 64 bytes from 2600:1901:0:94b6::: icmp_seq=0 hlim=54 time=10.302 ms 64 bytes from 2600:1901:0:94b6::: icmp_seq=1 hlim=54 time=11.270 ms