[Olsr-dev] olsrd without link sensing

Giovanni Di Stasi (spam-protected)
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.
>

Hi again.
what I'd like to do is expressed well by the following passage of the rfc 
3626:

"If sufficient information is provided by the link-layer, this
may be utilized to populate the local link set instead of HELLO
message exchange."

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?

Thanks 


-- 
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
E-mail:   (spam-protected)




More information about the Olsr-dev mailing list