[Olsr-dev] New OLSRd Plugin (derivative of olsrd_secure)

Will Hawkins (spam-protected)
Thu Dec 20 23:08:09 CET 2012

Hello everyone!

The Open Technology Institute has created a new plugin for OLSRd known
as olsrd_mdp (Mesh Datagram Protocol [MDP] Secure OLSR). The plugin
integrates OLSRd with Serval to create a mechanism for signing OLSR
packets with a shared private key stored in a Serval keyring. This
plugin is a derivative of the olsrd_secure plugin.

Serval is a mesh networking project out of Australia
(http://www.servalproject.org). One of their main products, serval-dna,
includes a keyring that stores (and optionally locks) a set of
public/private keypairs. olsrd_mdp takes a private key from Serval's key
ring and uses it to sign OLSR packets.

It differs from olsrd_secure in a few ways:

1. olsrd_mdp is configured with a key identifier. The key identifier
allows the user to specify which keypair from the Serval keyring will
sign packets.

2. olsrd_mdp allows for variable-length keys.

3. olsrd_mdp salts AND signs OLSR packets with a private key.

We would really like to share this plugin with the OLSRd community. We
developed the plugin in a branch off of master but the plugin requires
Serval's serval-dna development kit to compile. This brings up two

1. How do plugin makefiles alert the user that they need configuration
to compile correctly? The necessary parameter is documented in the
olsrd_mdp README file. Is there another better way to document this?

2. What is the best way to submit the plugin for review for possible
inclusion? I did my best to follow OLSRd code standards while
developing, but I'd appreciate your feedback in spotting the places
where I inevitably messed up.

Thanks for reading this rather long message. We are really excited about
the possibility of sharing this plugin with the OLSRd community.

Talk to you soon!

More information about the Olsr-dev mailing list