(IPv4) Coexistence of OLSR and OLSR2
The ninux Rome network has been using OLSR, and its implementation olsrd from olsr.org, 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 (172.16.100.0/22) 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: http://www.olsr.org/mediawiki/index.php/Olsrd2#olsrd2
So one possible way to go would be setting the main IP (from the 172.16.100.0/22 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=172.16.100.0/22 --set interface[wlan0].acl=-172.16.0.0/18
will not prevent olsrd2 from using the IP addresses which are allocated to OLSR for communication between neighbors.
Using MACVLAN
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.