servalproject / serval-dna

The Serval Project's core daemon that implements Distributed Numbering Architecture (DNA), MDP, VoMP, Rhizome, MeshMS, etc.
http://servalproject.org
Other
171 stars 80 forks source link

Servald needs to co-exist in other mesh networks #6

Open lakeman opened 12 years ago

lakeman commented 12 years ago

For servald to co-exist on another layer 3 routed network (eg BATMAN, olsr) we need to do the following;

lakeman commented 12 years ago

The olsrd plugin I'm writing will bind to a configurable loopback port, then listen for incoming packets from another configurable port, sending any incoming messages to that port.

Packets sent to olsr must be prefixed with;

u_int8_t id = 0x??;
u_int8_t ttl;

Packets arriving from olsr will be prefixed with;

u_int8_t id = 0x??;
u_int8_t ttl;
u_int8_t addr_len; // 4 / 16
u_int8_t originator[addr_len];

Note that deploying this plugin on any specific platform, eg Android, may be fiddly and annoying.

lakeman commented 12 years ago

The plugin can be found here; https://github.com/servalproject/olsr