Italiano English
Edit History Actions


(IPv4) Coexistence of OLSR and OLSR2

The ninux Rome network has been using OLSR, and its implementation olsrd from, since quite some time.

Now a new protocol, OLSR2, and its implementation, olsrd2, are available.

In a community network nobody manages the whole network and thus is difficult to change the software and configuration on all the devices.

So the idea is to deploy OLSR2 together with OLSR, without changing the current OLSR operation.

We would like to keep the current IPv4 addressing for OLSR and use a different set of IPv4 addresses ( for OLSR2. We would also like to keep the two logical networks separated as much as possible to avoid interference between protocols. Note that using different VLANs might not be viable due to VLANs already being employed for ground routing,

Plain olsrd2

One of the recommended ways of running olsrd2 is without a configuration file:

So one possible way to go would be setting the main IP (from the network) on the loopback interface and just let olsrd2 do its job.

This simple method has the drawback that to communicate with its neighbors, olsrd2 will employ the IP address configured on the wireless interface, i.e. the OLSR IP address, crossing the boundary between the logical networks.

Even using commands similar to:

olsrd2_static lo wlan0 --set interface[wlan0].bindto= --set interface[wlan0].acl=-

will not prevent olsrd2 from using the IP addresses which are allocated to OLSR for communication between neighbors.


Another way to go is creating a new separate logical interface associated to the wireless interface, without any configured IP address.

ip link add name owlan0 link wlan0 type macvlan

olsrd2_static lo owlan0

In this case olsrd2 will configure and use IPV4LL addresses for communication between neighboring routers.