[olsr-dev] How to check if a node is MPR-node from a plugin?

Roar Bjørgum Rotvik (spam-protected)
Fri Dec 16 08:24:09 CET 2005

Andreas Tønnesen wrote:
> Hei Roar,

Hei Andreas,

> The way I see this there are two solutions. If you plan on using the
> olsr_lookup_mprs_set function you must provide the main address of the
> MPR selector, so this is not a good solution as you would have to
> traverse the link set and check all main addresses.

Yes, this was the same conclusion I made, that's why I asked on this list :)

> The first one solution would be to create a function BOOL is_mpr() which
> you can poll. I can add such a function to cvs if needed. What you need
> is basically(in mpr_selector_set.c):
> olsr_is_mpr()
> {
>     return (mprs_list.next == &mprs_list ? OLSR_FALSE : OLSR_TRUE);
> }

Yes, please add such a function.
I don't known why the above code should  indicate that the current node
is an MPR, as I'm not that familiar with the core olsrd data structures.
But I trust you :)

> The non pollbased way would be to add a callback event for mpr selector
> change, meaning that plugins can register callbacks to be triggered upon
> changes. I don't think we want to do this in the main code for now, so
> you'll have to maintain this yourself IMO.

I understand this completely. I will fix this myself in the plugin if
you add the is_mpr() function to CVS.

Thanks Andreas!

Roar Bjørgum Rotvik

More information about the Olsr-dev mailing list