BIRD <-> Quagga OSPF Compatibility

Joakim Tjernlund joakim.tjernlund at transmode.se
Tue Nov 1 08:54:20 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.

Yes, Quagga is broken. I have fixed quaggas SPF to support unnumbered
and to make its nexthop calc. independent of link the link data field
(luckily BIRD maintainers picked up my idea so BIRD is much better:)

Unfortunately I didn't mange to convince the Quagga maintainers so
the patches were never applied. Nowadays Quagga is hardly maintained
so there is little chance this ever gets fixed. Maybe if you send
a bug report, who knows.

 Jocke




More information about the Bird-users mailing list