[B.A.T.M.A.N.] link alternation when radios are not on batman-adv router?

Guido Iribarren guidoiribarren at buenosaireslibre.org
Sat Mar 31 05:48:22 CEST 2012

On Fri, Mar 30, 2012 at 2:18 PM, dan <dandenson at gmail.com> wrote:

> ok, this is an option I had considered, but I'm worried that link
> alternation wont be an option as the radios only have a single radio
> and the alternate path is through a completely different radio/device
> connected via ethernet.
batman-adv makes no difference between ethernet or radio interfaces,
they are all simply just interfaces that somehow link to other
batman-adv nodes (with some -or zero- packet loss)
so link alternation would work the same: if packet comes in through
radio, and batman-adv can reach the destination through the ethernet
port (it doesn't matter if that implies hopping through more
batman-adv nodes) it will prefer sending it through this "alternate"
path (alternate in the sense it doesn't use the same interface the
packet came in)

> As far as vlans are concerned, are you saying to have a vlan on the
> router for each attached picostation and then set the picostations
> ethernet interface to match that vlan?  Then I can add all the vlans
> to bat0?


> maybe if you could clarify this for me.  for link alternating, do the
> two nodes need to be one hop neighbors?
Nope, not needed. And in fact it is "interface alternation" (subtle difference).
if packet comes in through interface A, and the final destination is
reachable through 2 different paths that start at interface A and
interface B respectively, it will send the packet through interface B
to avoid reusing interface A.
It doesn't matter if between interface B and final destination there are N hops.

A long thread earlier this month was particularly clarifying on the subject.

> according to docs, link alternating works in this scenario, where both
> links are good:
> node1_Link1------------node2_Link1
> node1_Link2------------node2_Link2
> but what about this:
> node1_Link1------node3_Link1------node2_Link1
> node1_Link2------node4_Link2------node2_Link2
> will node1 and node2 still have link alternation?
Yes. in addition you might also be interested in interface bonding,
which is not enabled by default but can be activated after
understanding a few caveats. it's documented on batctl manpage online.

> This is basically
> what the central router + picostations with the picostations running
> batman-adv would look like
> supernode1-------picostation1---------picostation1--------supernode2
> supernode1-------picostation2---------picostation2--------supernode2
> so supernode2 is then a 3 hop neighbor to supernode1.  So will link
> alternation work here?  Lets just say that supernode1 has the backhaul
> and supernode2 has nothing except it's link to supernode1.  Ideally,
> SN2 gets the faster, dual link connection to SN1.

If picostations are only connected point-to-point to each other, and
there are no other clients sending traffic to them (except the
supernodes), then interface alternating won't take advantage of the
"faster dual link connection"
You must use interface bonding to achieve that.

Interface alternating would be useful, for example, if picostation2
from supernode2 was receiving a radio transmission from a distant
supernode3 (not pictured) destined at supernode1. Then, instead of
trying to relay the packets through that same picostation2, it would
use picostation1 to send them and avoid reusing the same interface.



More information about the B.A.T.M.A.N mailing list