Hi,
I am trying to set up an emulation scenario with 2 nodes that uses Layer 2 routing via batman-adv. The emulation creates LXC containers for the 2 nodes and I need to assign wlan interfaces on each node to the bat0 interface.
Following are the two things I tried:
Approach 1: -> Set up wlanX interfaces on the host machine -> Assign bat0 as the mesh_iface on wlanX interfaces -> Move wlanX interfaces to LXC containers using 'ip link set wlanX netns namespace_id' command
Problem with this approach is that I can't move bat0 interface from host machine to both containers.
Approach 2:
-> Set up wlanX interfaces on the host machine -> Assign bat1 mesh_iface for wlan1 and bat2 mesh_iface for wlan2 -> Move wlan1 and bat1 interface to LXC container 1 -> Move wlan2 and bat2 interface to LXC container 2
With this setup, I got node 1 (container 1) to ping to node 2 (container 2). But when I took wlan1 interface down and then brought it back up, I could not ping node 2 from node 1. I think both wlan1 and wlan2 need to be on the same mesh cloud (bat0 for example) instead of being on separate clouds (bat1 and bat2 in my setup). Correct me if I am wrong here please.
I came across this thread that was created in March that talked about using batman-adv in LXC containers: http://comments.gmane.org/gmane.org.freifunk.batman/11684. They tried to do something similar as the two things I tried above. I was wondering if anyone was able to successfully use batman-adv in LXC containers. If so, please let me know the setup that worked for you. Otherwise, I will probably have to look at the source code next.
Thanks, Rahul Amin -- MIT Lincoln Laboratory Airborne Networks Group