Skip to contentSkip to conversation

Batman-adv + lxc

B.A.T.M.A.N. Christof Schulze 3 participants 4 messages Mar 20, 2014 – Mar 21, 2014

lore
Share & tools
lore
#0 lore raw

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

Signature · 2 lines
()  ascii ribbon campaign - against html e-mail
/\  www.asciiribbon.org   - against proprietary attachments
#1 lore raw

Hi Christof,

Quoted 7 lines · Christof Schulze

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]).

Quoted 9 lines

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

[0]: http://www.open-mesh.org/issues/179

#2 lore raw
In reply to Christof Schulze

Hi Christof,

Quoted 1 line · Christof Schulze

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,

Signature · 1 line
Antonio Quartulli
#3 lore raw
In reply to Christof Schulze

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.

Quoted 2 lines

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.

Quoted 11 lines
Quoted 7 lines

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

Signature · 2 lines
()  ascii ribbon campaign - against html e-mail
/\  www.asciiribbon.org   - against proprietary attachments