[Olsr-dev] Multipath routing in OLSRD

Hannes Gredler (spam-protected)
Tue Mar 3 18:56:14 CET 2009


Ralf Lübben wrote:
> I not only will insert paths with equal cost, but also paths with different 
> costs. (What cost is acceptable is  still a open question!) 

irrespective if you do equal cost or less then best cost,
in any case you need first put in some work in the RIB implementation
to make sure your route ends up in the kernel with all the nexthops.

> The algorithm I want to use needs information about all nodes on a shortest 
> path, after the shortest path was calculated.
> E.g:
> After olsr_spf_run_full() was executed I need the information that the 
> shortest path between node N1 and N5 is: N1 -> N3 -> N8 -> N5.

perhaps you should start differently and think about keeping the cost
of non-best paths while doing the path relaxation olsr_spf_relax().

> Is this information easy accessable? I couldn't find the variable/datastructure 
> which can provide me this information easily.

have a look at olsr_spf.c - the relevant data structures it operates on
are all in tc_set.h (tc_entry is a node and tc_edge is a link).

its a basic (albeit) speed tuned dijkstra implementation
which operated in place in the topology database.

startup gdb in a 4 router VM setup and turn on debug logging
then you learn a lot how it works.

/hannes




More information about the Olsr-dev mailing list