OSPF performance/SPF calculations

Joakim Tjernlund joakim.tjernlund at transmode.se
Wed Apr 21 09:41:47 CEST 2010


I am using Quagga ATM but I had a quick look at BIRD and I got a few
observations.

The LSA/checksum code seem very inefficient. LSAs are built allocating/reallocing bits
of memory. This is slow and will case memory fragmentation.

The fletcher checksum is very slow as it has extra tests in the hot path and also
flips endian in the LSA back and forth.

I can't work out how the SPF next hop works(calc_next_hop). I tried to compare it with
Quagga's ospf_nexthop_calculation() but the structure is too different. The reason
for me looking into this was to see how much work it would be to add unnumbered ppp links
but as I can't work out how nexthop is working I didn't get very far.
I have impl. unnumbered ppp link for Quagga that works really well but this work
hasn't been accepted into Quagga yet since Quagga development has stalled.
I could show you how I did it Quagga though.

 Jocke




More information about the Bird-users mailing list