[Battlemesh] synthetic test results with containers?

Toke Høiland-Jørgensen toke at toke.dk
Mon Sep 30 21:52:45 CEST 2019


Moritz Warning <moritzwarning at web.de> writes:

> On 9/30/19 11:20 AM, Toke Høiland-Jørgensen wrote:
>> Moritz Warning <moritzwarning at web.de> writes:
>>
>>> Hi,
>>>
>>> has anyone thought about running batman-adv/babel/bmx etc. in containers to simulate mesh networks?
>>>
>>> 1. create json file that describes a topology along with bandwidth, packet loss etc.
>>> 2. create network of containers from that description
>>> 3. run different test to test scalability, speed, convergence etc.
>>>
>>> So far I have found https://github.com/axn/mlc / https://github.com/aparcar/mlc-ng, but it is not really usable.
>>> Anyway, that way we could make interesting and comparable tests.
>>>
>>> Maybe someone here has some lxc skills to create something like that.
>>
>> You don't really need containers; you can just use network namespaces.
>> Here is a simple-ish script to setup a namespace topology:
>>
>> https://github.com/sudomesh/network-lab
>>
>> If you want something fancier, there's the CORE network emulator:
>> https://www.nrl.navy.mil/itd/ncs/products/core
>>
>> Or you can go all the way to ns3 if you also want to emulate the WiFi MAC...
>>
>> -Toke
>>
>
> I tried the script and it looks like a good entry. But is there a way
> to combine the interfaces in the network namespace into one interface?
> So it behaves like a wifi interface?
>
> A network bridge will forward all traffic to all other attached
> interfaces, so it is not outright a solution.

Hmm, well, you bridge things and use netem on the constituent links to
simulate various types of packet loss. It's probably only going to be a
very rough approximation of how a WiFi link behaves (even with slotted
delay support[0]), but it may still be useful, depending on what you
want to achieve.

Otherwise you'll have to turn to ns-3 for full WiFi MAC emulation...

-Toke

[0] https://git.kernel.org/torvalds/c/836af83b54e3


More information about the Battlemesh mailing list