RFC 5549?
Donald Sharp
sharpd at cumulusnetworks.com
Mon Dec 17 21:43:14 UTC 2018
Andrey -
I took the code, compiled at and got FRR working with the v6 nexthop.
https://github.com/FRRouting/frr/pull/3502. Route installation from
FRR appears to be working for me now:
Janelle# show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
F - PBR, f - OpenFabric,
> - selected route, * - FIB route
K>* 0.0.0.0/0 [0/0] via 10.50.12.1, em0, 00:13:13
B>* 10.50.11.0/24 [20/0] via fe80::a00:27ff:fe28:3b50, em1, 00:13:09
C>* 10.50.12.0/24 is directly connected, em0, 00:13:13
B>* 10.232.0.16/32 [20/0] via fe80::a00:27ff:fe28:3b50, em1, 00:13:09
B>* 192.168.209.0/24 [20/0] via fe80::a00:27ff:fe28:3b50, em1, 00:13:09
B>* 192.168.230.0/24 [20/0] via fe80::a00:27ff:fe28:3b50, em1, 00:13:09
B>* 192.168.231.0/24 [20/0] via fe80::a00:27ff:fe28:3b50, em1, 00:13:09
Janelle# exit
sharpd at Janelle ~/frr> netstat -rn
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default 10.50.12.1 UGS em0
10.50.11.0/24 fe80::a00:27ff:fe28:3b50%em1 UG1 em1
10.50.12.0/24 link#1 U em0
10.50.12.121 link#1 UHS lo0
10.232.0.16 fe80::a00:27ff:fe28:3b50%em1 UGH1 em1
127.0.0.1 link#4 UH lo0
192.168.209.0/24 fe80::a00:27ff:fe28:3b50%em1 UG1 em1
192.168.230.0/24 fe80::a00:27ff:fe28:3b50%em1 UG1 em1
192.168.231.0/24 fe80::a00:27ff:fe28:3b50%em1 UG1 em1
On the other hand, ping doesn't appear to be working( but I think you
probably knew that):
sharpd at Janelle ~/frr> sudo tcpdump -i em1 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on em1, link-type EN10MB (Ethernet), capture size 262144 bytes
11:41:59.559457 IP 0.0.0.0 > 192.168.230.1: ICMP echo request, id
2119, seq 27, length 64
11:42:00.626966 IP 0.0.0.0 > 192.168.230.1: ICMP echo request, id
2119, seq 28, length 64
11:42:01.659515 IP 0.0.0.0 > 192.168.230.1: ICMP echo request, id
2119, seq 29, length 64
11:42:02.732074 IP 0.0.0.0 > 192.168.230.1: ICMP echo request, id
2119, seq 30, length 64
11:42:03.759432 IP 0.0.0.0 > 192.168.230.1: ICMP echo request, id
2119, seq 31, length 64
11:42:04.833242 IP 0.0.0.0 > 192.168.230.1: ICMP echo request, id
2119, seq 32, length 64
11:42:05.859559 IP 0.0.0.0 > 192.168.230.1: ICMP echo request, id
2119, seq 33, length 64
^C
7 packets captured
21 packets received by filter
0 packets dropped by kernel
This is pretty awesome progress though
Thanks!
donald
On Mon, Dec 17, 2018 at 6:48 AM Andrey V. Elsukov <bu7cher at yandex.ru> wrote:
>
> On 11.12.2018 15:07, Andrey V. Elsukov wrote:
> >> The FRRouting project has some basic support for rfc 5549 and I've
> >> been asked to see if it is possible to get this bit of code working
> >> with the FRRouting freebsd kernel interface. What is RFC 5549 you
> >> ask? The tl;dr of it is that you have v4 prefixes w/ a v6 gateway.
> >> For some more background the linux implementation cheats ( and I would
> >> like to emphatically point out that I'm not suggesting this solution,
> >> I'm giving the linux solution to the problem as a data point to how it
> >> was solved in one instance ) by installing a neighbor entry for
> >> `169.254.0.1 <outgoing interface> <mac address on the other side>` and
> >> when installing the v4 prefix we see the v6 nexthop and replace it
> >> with `169.254.0.1 <outgoing interface>` in the netlink message to the
> >> kernel. Is support of RFC 5549 possible in Freebsd?
> >
> > I have thought a bit about this, and have some ideas how implement this.
> > In general we can install into the kernel routes that has IPv6 address
> > as gateway for IPv4 (currently this is not allowed by default, but it is
> > easy to allow). So, as a routing daemon developer you can use generic
> > API to install routes where RTAX_GATEWAY is IPv6 address.
>
> Hi,
>
> I have implemented basic support, so it can be tested now:
>
> https://reviews.freebsd.org/D18581
>
> --
> WBR, Andrey V. Elsukov
>
More information about the freebsd-net
mailing list