BIRD <-> Quagga OSPF Compatibility

Roman Hoog Antink rha at open.ch
Tue Nov 1 07:22:15 CET 2011


Hi there

Quagga 0.99.18 fails to use routes learned from bird 1.3.4 via OSPF and
point-to-point links. The routes might show up in quagga's routing
table, but the nexthop will never be the host running bird despite
generating those static routes. In the log of quagga's ospfd you will
find these entries:

  OSPF: ospf_nexthop_calculation(): could not determine nexthop for link

This issue was discovered and discussed earlier in [1], however the
topology patch can not be applied any more to bird nowadays due to
structural changes. The attached patch is an update of that old version
and applies to bird 1.3.4.

Let me quote from RFC 2328, section 16.1.1 [2], namely:
"If the destination is a
directly connected network, or a router which connects to
the calculating router via a point-to-point interface, no
next hop IP address is required."

As I understand this sentence and its context, the link data field shall
be ignored in "the first case" where "the parent vertex is the root". So
I figure, this is quagga's fault (source code [3]). Looking at the
source code of quagga, the circumvention of the issue is easier to do in
bird than a proper fix in quagga.

This patch is not meant to be merged into mainstream of bird. It is for
the desperate that need to run bird and quagga together.

References:

[1] http://marc.info/?l=bird-users&m=118009334429272&w=2
[2] http://tools.ietf.org/html/rfc2328#page-161
[3] quagga 0.99.18, ospf_spf.c line 578

Cheers,
Roman
-------------- next part --------------
A non-text attachment was scrubbed...
Name: quagga-compat.patch
Type: text/x-patch
Size: 750 bytes
Desc: not available
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20111101/7bae99a9/attachment-0001.bin>


More information about the Bird-users mailing list