On Sat, Feb 03, 2018 at 09:40:56PM +0100, Toke Høiland-Jørgensen wrote:
This adds support for source-specific IPv6 routes to Bird core. This is based on Dean Luga's original patch, with the review comments addressed. Sadr support is added to network address parsing in confbase.Y and to the kernel protocol on Linux.
Hi Thanks, i will look at it in details later.
A couple of issues remain with this patch:
- Had to change the default addr_type in rt_setup() to NET_SADR_IP6 to get the kernel 'learn' mechanism to work.
This seems like a bug in 'learn' in 2.0.x, i will fix that.
- Not sure if the logic in net_route_sadr_ip6() is right.
First, it should have a comment about what is the expected behavior, whether it should be longest-dst-then-src or longest-src-then-dst, or some other behavior. I would expect it to be consistent with Linux kernel, but i am not sure what is used there. The code mixes net_addr_ip6 and net_addr_sadr_ip6 during lookups, which likely trigger asserts in fib_find?
- The config parser barfs on sadr route literals in the static protocol with an "Integer expression expected" error message.
Perhaps it created more Bison grammar conflicts? I will check that later.
- There's no way to mix source-specific and non-source-specific routes (i.e., sadr tables cannot be connected to non-sadr tables).
This is OK for now. -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."