[quagga-dev 8909] Re: [PATCH] Zebra rib/fib to be in sinc with kernel routing table

Stephen Hemminger shemminger at vyatta.com
Thu Oct 20 16:31:14 BST 2011

The concept is good, in fact Vyatta added a patch to do this to Quagga
which I keep meaning to revise and submit. But your patch is not enough
to successfully manage kernel routes.  There were another of other
related issues that need to be addressed:
  1. When this was brought up in the past, there were users who did
     not think this was what they wanted. In our version, the management
     of connected routes is optional.

  2. In order to delete routes successfully on Linux, more state is needed.
     Otherwise when interface bounces you will see duplicate entries in
     the FIB. At a minimum this includes scope and metric which have
     to be tracked.

  3. You have to deal with the case where link detect is enabled.
     Normally (at least on Linux), IPv4 routes are maintained when carrier
     is lost. If linkdetect is enabled in Quagga, then the RIB has
     to actively delete those routes.

Also, there are some issues (on Linux) where IPv6 behaves differently
than IPv4 for this. Not sure what other OS's do.

More information about the Quagga-dev mailing list