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

Marek Lindner
2012-03-09T11:26:54Z

On Friday, March 09, 2012 19:12:03 Gabriel Kerneis wrote:
> > When we receive OGMs with PRIMARIES_FIRST_HOP flags on different
> > interfaces, we know that it came from the same neighbor, just from
> > different interfaces. We have two links to this neighbor.
>
> I think my primary misunderstanding comes from this concept of “primary
> interface”. It might be due to my lack of knowledge about Batman, but it
> definitely looks like a hack to me: why do you need this symmetry breaking
> in the first place?
>
> I believe the rest is only implementation details layered on top of this
> assumption.
>
> Maybe there is some explanation that I have overlooked in the wiki? I have
> not found, for instance, how the primary interface is chosen.

The concept of a primary interface goes back into the early days of batman and
primarily is an optimization to reduce overhead. At some point we realized
that it is not necessary to flood the mesh with OGMs from each and every
interface we have. Nearby nodes might want to know about all interfaces to
select the best one. Nodes that are far away don't care which interface is
connected to what other interface. They only care about a route to their
destination. This concept is briefly explained here[1] (section 2.1.6 and
2.1.7).

What interface is going to be the primary interface does not matter at all.
For the sake of simplicty batman chooses the first interface to be the primary
interface but it could be any interface you prefer. The key point is that only
the primary interface is known in the entire mesh whereas secondary interfaces
are known by single hop neighbors only.

Regards,
Marek

[1] http://downloads.open-mesh.org/batman/papers/batman-status.pdf