Interesting, I'm running 14.1p2.
how does your routing table looks for fib1 ?
Santi
On 7/18/24 18:09, Zhenlei Huang wrote:
On Jul 13, 2024, at 1:06 AM, Santiago Martinez <s...@codenetworks.net>
wrote:
Hi Everyone.
While adding -F ( fib as used in netstat ) to ping and ping6 I have
found something that from my understanding is not correct.
Please can you advise?
I have the following setup :
-- two fibs (0 and 1)
-- two loop-backs (lo0 and lo1).
-- Lo1 has been assigned to fib1
--net.add_addr_allfibs = 0
My interface output looks like this:
ifconfig lo0 | grep inet6
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
ifconfig lo1 | grep inet6
inet6 fe80::1%lo1 prefixlen 64 scopeid 0x3
If I do a netstat -rn -6 -F0 I get the following which is was i
expected.
Internet6:
Destination Gateway Flags
Netif Expire
::/96 link#2 URS
lo0
::1 link#2 UHS
lo0
::ffff:0.0.0.0/96 link#2 URS
lo0
fe80::%lo0/10 link#2 URS
lo0
fe80::%lo0/64 link#2 U
lo0
fe80::1%lo0 link#2 UHS
lo0
ff02::/16 link#2 URS
lo0
Now, netstat -rn -6 -F1 shows "fe80::1%lo0" which should not be
there and "fe80::1%lo1" is missing which should be there.
Internet6:
Destination Gateway Flags
Netif Expire
fe80::%lo1/64 link#3 U
lo1
*fe80::1%lo0 link#2 UHS
lo0*
That seems wrong from my first glance. IIRC, there's HACK ( I'd prefer
this ) for loopback route. For example
```
# sysctl net.fibs=3
net.fibs: 2 -> 3
# ifconfig epair create
# epair0a
# ifconfig epair0a fib 2
# ifconfig epair0a inet6 -ifdisabled up
# netstat -6rnF 2
Routing tables (fib: 2)
Internet6:
Destination Gateway Flags
Netif Expire
fe80::%epair0a/64 link#5 U epair0a
fe80::3b:b3ff:fe8f:9a0a%lo0 link#1 UHS
lo0
```
The loopback route always refer the first loop interface, aka lo0.
What output I was expecting was:
Internet6:
Destination Gateway Flags
Netif Expire
fe80::%lo1/64 link#3 U
lo1
*fe80::1%lo1 link#3 UHS
lo1*
This makes the ping -6 -F0 fe80::1%lo0 to work but ping -6 -F1
fe80::1%l01 to fail which I wanted to use as test case.
That is interesting. I can ping without failure.
```
# setfib 1 ping6 -c3 fe80::1%lo1
PING(56=40+8+8 bytes) fe80::1%lo1 --> fe80::1%lo1
16 bytes from fe80::1%lo1, icmp_seq=0 hlim=64 time=0.050 ms
16 bytes from fe80::1%lo1, icmp_seq=1 hlim=64 time=0.067 ms
16 bytes from fe80::1%lo1, icmp_seq=2 hlim=64 time=0.096 ms
--- fe80::1%lo1 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.050/0.071/0.096/0.019 ms
```
Best regards,
Zhenlei
Thanks in advance.
Santiago