[Olsr-dev] Multipath routing in OLSRD
Hannes Gredler
(spam-protected)
Tue Apr 28 09:55:04 CEST 2009
Adam Nowak wrote:
> Hello,
> I'm new to this list, and to all the olsr stuff too. Sorry, if I'm asking
> about well known issues. I'm interested in implementing multipath
> extension to OLSRd. At first, I'd like to add some alternative routes to
> the same destination (route entries which has the same destination but
> other next-hops). As I've noticed in the code, there is the entry
> "rt_best" which is responsible for selecting best route. I don't
> understand, how OLSRd interacts with system routing table in
> olsr_update_rib_routes() function, can you help me work it out or give
> some advices?
> Any help would be appreciated!
hi adam,
you need to touch a couple of data structures to make equal cost multipath
(ECMP) happen.
- rework all nexthop pointers to a nexthop list (use common/list.h) for this
- change olsr_spf_relax() to merge next-hops lists if the cost is equal
(today equal costs are ignored).
- you do not need to change much the rt_best() election procedure -
it just figures out what the best originator for a given prefix is.
(it would then point to a chain of nexthops)
- rework add/chg/del kernel route functions to operate on nexthop lists
- rework the OS dependend parts (e.g. src/linux/kernel_routes)
to install/delete more than one nexthop when manipulating routes.
HTH,
/hannes
More information about the Olsr-dev
mailing list