Dynamic Routing with BIRD Running the IPv6 based OSPFv3 Protocol on OpenWrt

This is somehow a follow up of the older post IPv6: Dynamic Routing with Quagga and ospf6d (OSPFv3).

I'm switching from Quagga to BIRD to manage dynamic routing using the OSPFv3 protocol on my networks. BIRD is a slim routing daemon in use by quite some internet exchange points now. You can read more about it on its Wikipedia article.

In OpenWrt

OpenWrt files bird as two packages: bird4 with IPv4 capabilities and bird6 with IPv6 (and NO IPv4) capabilities. See this for further information on the separation into two packages.
So the installation of BIRD for IPv6 on OpenWrt works like this:

opkg update && opkg install bird6


The configuration file for OpenWrt's bird6 is /etc/bird6.conf.

In the user manual, check out the chapter on Configuration and OSPF.

Also have a look at the example for OSPF on the wiki.

Here is my basic /etc/bird6.conf file for OSPFv3:

Using the BIRD Client

Run birdc6 (you have to install it separately).

## useful debug commands:
show status
show protocols
show route
show ospf state
show ospf topology
# you can always use the question mark to get help on the client command line

More to be found in the chapter remote control of BIRD's user's manual.

Firewall considerations

You have to apply these firewall rules on OpenWrt to allow forwarding from lan to the tunnel ipv6net: /etc/firewall.ipv6net