Hello,
This is my first post to this list. I would like to run batman-adv inside an lxc-container just as described in [1]. I do not want to do it to simulate a network having multiple nodes but to separate duties of different "virtual machines" - linux containers in my case and to be able to easily migrate the configuration to a differen machine lateron.
I started by loading batman-adv on the host and bridging it into the container. After adding the interfaces inside the container where meshing should happen I cannot add a gateway because batctl complains that /sys/class/net/bat0/mesh does not exist. Indeed, in the container it does not exist.
How can batman-adv be used from an lxc-container?
Christof
[1] https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2011-September/005355.html
Hi Christof,
On Thu, Mar 20, 2014 at 07:59:16PM +0100, Christof Schulze wrote:
Hello,
This is my first post to this list. I would like to run batman-adv inside an lxc-container just as described in [1]. I do not want to do it to simulate a network having multiple nodes but to separate duties of different "virtual machines" - linux containers in my case and to be able to easily migrate the configuration to a differen machine lateron.
lxc-container support has not been properly implemented in batman-adv yet. So things are not always working "naturely" and can even make your system crash (e.g. rebooting an lxc-container makes your system crash [0]).
I started by loading batman-adv on the host and bridging it into the container. After adding the interfaces inside the container where meshing should happen I cannot add a gateway because batctl complains that /sys/class/net/bat0/mesh does not exist. Indeed, in the container it does not exist.
How can batman-adv be used from an lxc-container?
What I usually did was configuring batman-adv properly on the host via batctl. And only in the end adding it to the lxc-container. That seemed to work for me (except the reboot crash noted above).
Cheers, Linus
Hi Christof,
On 20/03/14 19:59, Christof Schulze wrote:
How can batman-adv be used from an lxc-container?
I never used LXC, therefore I might say something terribly wrong:
what about bridging the real interface that you want to use for the mesh in the container and then load batman-adv inside LXC ?
If I understood correctly after bridging you should have an interface (inside LXC) that you can give to batman-adv (inside LXC).
Cheers,
Hi,
I only saw your replies in the mailing archives, I probably was not signed up to the list correctly when you answered. The issue is resolved now but that is why I am breaking my own thread.
what about bridging the real interface that you want to use for the mesh in the container and then load batman-adv inside LXC ?
this is in fact what I tried first. But bridiging the interface causes the batman-adv information in /sys/class/net to get lost. Maybe because I have to do things in a different order or because veth is really not the right interface type.
I started by loading batman-adv on the host and bridging it into the container. After adding the interfaces inside the container where meshing should happen I cannot add a gateway because batctl complains that /sys/class/net/bat0/mesh does not exist. Indeed, in the container it does not exist.
How can batman-adv be used from an lxc-container?
What I usually did was configuring batman-adv properly on the host via batctl. And only in the end adding it to the lxc-container. That seemed to work for me (except the reboot crash noted above).
what do you mean by "adding it to the lxc container"? I tried bridging the bat0 interface into the container as a separate nic. That did not yield positive results.
Unfortunately if I risk crashing the host, this option is not viable for me yet as I cannot simply restart the machine once it crashed.
Christof
b.a.t.m.a.n@lists.open-mesh.org