Re: Multiple Fibs and INET6

Santiago Martinez <[email protected]>
Newsgroups gmane.os.freebsd.devel.net
Message-ID <[email protected]>
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 <[email protected]> 
>> 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
>>
>>
>
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.