[Olsr-dev] olsrd without link sensing
Mon Jun 23 19:16:33 CEST 2008
On Mon, Jun 23, 2008 at 18:40, Giovanni Di Stasi <(spam-protected)> wrote:
> Hi again.
> 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
> message exchange."
Theoretically you can run OLSR completely on layer 2 (with MACs
instead of IP addresses).
> 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:
recursive event ?
> 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;
Not good... you would loose the advantage of the LQ implementation (ETX).
> 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
LQs are measured by adding fields to the Hello packages... so this
might be a little bit more complicated.
> 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?
Depends on how your plugin is triggered.
If you run in the olsrd main-thread, you have to go back to the main
"Wo kämen wir hin, wenn alle sagten, wo kämem wir hin, und niemand
ginge, um einmal zu schauen, wohin man käme, wenn man ginge." (Kurt
More information about the Olsr-dev