> On Jul 19, 2024, at 12:11 AM, Santiago Martinez <s...@codenetworks.net> wrote:
> 
> Interesting, I'm running 14.1p2.
> 
> 

Yes, I'm running exactly the same version with you.
> how does your routing table looks for fib1 ?
> 
> 

```
# netstat -6rnF 1
Routing tables (fib: 1)

Internet6:
Destination                       Gateway                       Flags     Netif 
Expire
fe80::%lo1/64                     link#5                        U           lo1
fe80::1%lo0                       link#2                        UHS         lo0
```
> Santi
> 
> 
> 
> On 7/18/24 18:09, Zhenlei Huang wrote:
>> 
>> 
>>> On Jul 13, 2024, at 1:06 AM, Santiago Martinez <s...@codenetworks.net 
>>> <mailto: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
>>> 
>>> 
>> 
>> 
>> 



Reply via email to