Date: Mon, 17 Dec 2018 16:43:01 -0500 From: Donald Sharp <sharpd@cumulusnetworks.com> To: bu7cher@yandex.ru, Renato Westphal <renato@opensourcerouting.org>, Vivek Venkatraman <vivek@cumulusnetworks.com> Cc: freebsd-net@freebsd.org, =?UTF-8?Q?Olivier_Cochard=2DLabb=C3=A9?= <olivier@freebsd.org>, gnn@freebsd.org Subject: Re: RFC 5549? Message-ID: <CAK989ycoX_uTvBEY%2Bw=dUZTdwgf0bgCKtqTfzF=Ter1=xe_MTw@mail.gmail.com> In-Reply-To: <45cb71a0-8135-30e2-6096-784c4fc44fea@yandex.ru> References: <CAK989yck%2BW7co1QvTOEiHNHAf3nv1kDBx6cjwo9dLX9r6TvGFw@mail.gmail.com> <e4dc5bcb-15ba-a4b6-ddfb-a3fff7720dfb@yandex.ru> <45cb71a0-8135-30e2-6096-784c4fc44fea@yandex.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
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@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@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@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 >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAK989ycoX_uTvBEY%2Bw=dUZTdwgf0bgCKtqTfzF=Ter1=xe_MTw>