Overview of route6d Daemon (IPv6 Unicast Routing Protocols)

The route6d program is an IPv6 routing daemon that runs on BSD variants and operates RIPng. It was developed as part of the KAME IPv6 protocol stack kit and has been incorporated into the base component of BSD systems.

This is a simple program but offers most of the basic features that would be required for a routing daemon. The features supported by route6d include:

• RIPng protocol operation based on [RFC2080]3

• Inbound and outbound route filtering

• Route aggregation

• Automatic synchronization with changes of the kernel routing table, including addition and deletion of static and interface direct routes

It is simple to run route6d; it does not require a configuration file and normally works without any command line option. In order to support non default behavior of routing information exchange such as route filter, route6d has several command line options. Table 1-8 shows some of these options that are referenced in this topic.

The -l option would require additional notes; it was introduced and set to "off" by default because site-local route information could be ambiguous and might confuse route6d if this router were located at a site boundary. Note, however, that the IETF has deprecated unicast site-local addresses [RFC3879] and this option is now meaningless as long as the network administrator uses valid types of addresses.


The following several sections will describe details about the route6d implementation. The descriptions will provide pragmatic hints of how an IPv6 routing daemon should be implemented on BSD variants.

Next post:

Previous post: