Source Address Dependent Routing Patch

Dean dluga93 at
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 mailing list