Re: ipv4 route with ipv6 local link nexthop ?

From: Zhenlei Huang <zlei_at_FreeBSD.org>
Date: Thu, 14 Mar 2024 09:56:55 UTC

> On Mar 14, 2024, at 9:04 AM, Zhenlei Huang <zlei@FreeBSD.org> wrote:
> 
> 
> 
>> On Mar 14, 2024, at 3:07 AM, Marek Zarychta <zarychtam@plan-b.pwste.edu.pl <mailto:zarychtam@plan-b.pwste.edu.pl>> wrote:
>> 
>> W dniu 13.03.2024 o 18:59, Marek Zarychta pisze:
>>> W dniu 13.03.2024 o 16:31, Benoit Chesneau pisze:
>>>> Hrm I thought it was implemented via https://reviews.freebsd.org/rG62e1a437f3285e785d9b35a476d36a469a90028d <https://reviews.freebsd.org/rG62e1a437f3285e785d9b35a476d36a469a90028d>
>>>> 
>>>> Wasn't it merged ? (also pretty sure I did test it in freebsd 13).
>>>> 
>>> FWIW: it works fine on CURRENT
>>> 
>>> # ifconfig vlan8 destroy
>>> # ifconfig vlan8 create vlandev bge0 vlan 8 up
>>> # ifconfig vlan8 inet6 -ifdisabled auto_linklocal
>>> # route add -net 10.11.13.0/24 -inet6 fe80::360a:11ff:fe1b:404e%vlan8
>>> add net 10.11.13.0: gateway fe80::360a:11ff:fe1b:404e%vlan8 fib 0
>>> 
>> It looks like the fix is in f818559774cb0c1516364c4beca361480fd68b5b . Zhenlei, could you please MFC this one[1] ?
>> 
>> Cherry-picking it to stable/14 makes route fully functional. I have tested it between stable/14 with this fix applied and CURRENT.
> 
> Thanks for finding the fix and the confirmation , I'll take care of that :)

Done. The fix and tests are all MFCed into stable/14 branch.

> 
>> 
>> Host A:
>> 
>> # ifconfig lo10 destroy
>> # ifconfig lo10 create
>> # ifconfig lo10 10.11.13.1/24
>> # ifconfig vlan8 destroy
>> # ifconfig vlan8 create vlandev bge0 vlan 8 up
>> # ifconfig vlan8 inet6 -ifdisabled auto_linklocal
>> # route add -net 10.11.12.0/24 -inet6 fe80::6ab5:99ff:febd:8108%vlan8
>> add net 10.11.12.0: gateway fe80::6ab5:99ff:febd:8108%vlan8 fib 0
>> # ping -c5 -S 10.11.13.1 10.11.12.1
>> PING 10.11.12.1 (10.11.12.1) from 10.11.13.1: 56 data bytes
>> 64 bytes from 10.11.12.1: icmp_seq=0 ttl=64 time=2002.303 ms
>> 64 bytes from 10.11.12.1: icmp_seq=1 ttl=64 time=1000.461 ms
>> 64 bytes from 10.11.12.1: icmp_seq=2 ttl=64 time=0.167 ms
>> 64 bytes from 10.11.12.1: icmp_seq=3 ttl=64 time=0.222 ms
>> 64 bytes from 10.11.12.1: icmp_seq=4 ttl=64 time=0.207 ms
>> 
>> --- 10.11.12.1 ping statistics ---
>> 5 packets transmitted, 5 packets received, 0.0% packet loss
>> round-trip min/avg/max/stddev = 0.167/600.672/2002.303/800.763 ms
>> 
>> Host B:
>> 
>> # ifconfig lo10 destroy
>> # ifconfig lo10 create
>> # ifconfig lo10 10.11.12.1/24
>> # ifconfig vlan8 destroy
>> ifconfig: interface vlan8 does not exist
>> # ifconfig vlan8 create vlandev bce0 vlan 8 up
>> # ifconfig vlan8 inet6 -ifdisabled auto_linklocal
>> # route add -net 10.11.13.0/24 -inet6 fe80::26be:5ff:fe10:c900%vlan8
>> add net 10.11.13.0: gateway fe80::26be:5ff:fe10:c900%vlan8 fib 0
>> # ping -c5 -S 10.11.12.1 10.11.13.1
>> PING 10.11.13.1 (10.11.13.1) from 10.11.12.1: 56 data bytes
>> 64 bytes from 10.11.13.1: icmp_seq=0 ttl=64 time=1000.285 ms
>> 64 bytes from 10.11.13.1: icmp_seq=1 ttl=64 time=0.141 ms
>> 64 bytes from 10.11.13.1: icmp_seq=2 ttl=64 time=0.231 ms
>> 64 bytes from 10.11.13.1: icmp_seq=3 ttl=64 time=0.235 ms
>> 64 bytes from 10.11.13.1: icmp_seq=4 ttl=64 time=0.174 ms
>> 
>> --- 10.11.13.1 ping statistics ---
>> 5 packets transmitted, 5 packets received, 0.0% packet loss
>> round-trip min/avg/max/stddev = 0.141/200.213/1000.285/400.036 ms
>> 
>> 1. https://cgit.freebsd.org/src/commit/?id=f818559774cb0c1516364c4beca361480fd68b5b <https://cgit.freebsd.org/src/commit/?id=f818559774cb0c1516364c4beca361480fd68b5b> 
>> 
>> Cheers
>> 
>> -- 
>> Marek Zarychta