Re: [B.A.T.M.A.N.] [Battlemesh] Battlemesh v5 tests

Andrew Lunn
2012-03-09T14:15:31Z

On Fri, Mar 09, 2012 at 02:49:28PM +0100, Gabriel Kerneis wrote:
> Andrew,
>
> On Fri, Mar 09, 2012 at 01:09:26PM +0000, andrew.lunn@ascom.com wrote:
> > Remember that BATMAN is a Layer 2 mesh, not layer 3.
>
> Sorry, I just recalled what it implies.

:-)

> You can ignore my previous answer, I was focused on babel-like,
> layer 3 examples.

l0 l1
A ---- B ---------- C Example:
\ / I want to restrict the link l1 to communication
D -- E -- F between A??and C. (Nice frying-pan, isn???t it? ;-)

It is still possible, but requires more configuration effort. But
anybody who can setup iptable rules should be able to achieve it.

Create a mesh with B, D, E, F, C, but leave out the interfaces for
B-l0, B-l1 and C-l1. Setup a bridge on B. Add to the bridge the interfaces
bat0, b-l1, b-l0. Add ebtable rules to the bridge to bridge A<->C
frames between b-l0 and b-bl1 interfaces, the rest of the traffic from
A is bridged into the bat0 interface. You need a similar bridge on C,
with ebtable rules to pass the frames over the correct interfaces.

You also need to take a little bit of care with multicast frames, or
the spanning tree protocol might get upset and block some of the
interfaces in order to break the loops it sees.

Andrew