[Olsr-dev] olsrd without link sensing
Giovanni Di Stasi
Mon Jun 23 18:40:40 CEST 2008
Il Tuesday 17 June 2008 10:08:08 Henning Rogge ha scritto:
> Am Dienstag 17 Juni 2008 09:58:01 schrieb Giovanni Di Stasi:
> > What if I supply the neighbors, the links and its qualities to olsr via a
> > plugin? It should work, in theory, shouldn't it?
> Hmm... you could shut down the hello generation timer and add/remove the
> links from the plugin. But be careful because olsrd is not thread-safe.
what I'd like to do is expressed well by the following passage of the rfc
"If sufficient information is provided by the link-layer, this
may be utilized to populate the local link set instead of HELLO
I've studied a bit the sources of olsrd, and this is what I got so far:
I could, from inside my plugin:
call olsr_stop_timer(ifp->hello_gen_timer) on my interface (there is just one
interface in my case) to stop the hello generation.
register a recursive event that, when triggered:
gets the information on the links from the layer 2 module;
for every link to add:
creates the link_entry structure; sets the addresses (local interface,
remote interface and remote interface main address) and the local_if;
adds the link with list_add_before
set linkcost to 1;
set the neighbor (the endpoint of the link) as mpr (setting is_mpr and
was_mpr to true);
for every link to remove:
find the link
calls olsr_expire_link_entry on that link
Olsrd would be configured to use lq for measuring the link quality; the TC
redundancy would be set to
Is it gonna work?
You mentioned the fact that olsrd is not thread safe. Does that constitute a
problem when I do the aforementioned actions from inside a plugin event?
Giovanni Di Stasi, Junior Researcher
Dipartimento di Informatica e Sistemistica
Università degli Studi di Napoli "Federico II"
Via Claudio, 21 - 80125 Napoli - Italy
Phone: +39 081 7683821
Fax: +39 081 7683816
More information about the Olsr-dev