Source Address Dependent Routing Patch
dluga93 at gmail.com
Tue Mar 7 00:56:16 CET 2017
Note: I used BIRD 1.6.2 when working on these patches. I don't know if
they will work on other versions.
The following patches extend the static and OSPFv3 protocol to support
Source Address Dependent Routing (SADR), also called Source Specific
Routing. This basically means that routing will take into account not
only the destination address, but the source address as well.
SADR can be enabled by using the option `--enable-sadr` when configuring
BIRD. Routes can be added in the static protocol using the `from`
keyword, and OSPF can spread the routes through the network. The grammar
rules to add a source dependent route in the static protocol are:
route <dst_prefix> from <src_prefix> via <ip>
route <dst_prefix> from <src_prefix> via "<interface>"
IPv6 subtrees are used to support SADR in the kernel tables. They should
be available for Linux kernel versions newer than 3.11. If they are not
enabled, the kernel needs to be compiled with the option to enable them.
However, as mentioned in net/ipv6/Kconfig in the Linux kernel source, to
avoid some unintended behavior of IPv6 subtrees, source constrained
routes might need to be put on a routing table separate from the normal
More information about the Bird-users