Hey Simon,
On Fri, Mar 09, 2012 at 09:56:36AM +0100, Simon Wunderlich wrote:
- The detection part is batman-specific, we use the the PRIMARIES_FIRST_HOP flag
to do that. As a reminder (that might be documented somewhere else):
- OGMs from the primary interface are broadcasted on ALL interfaces and are spread over the mesh (big TTL) --> these get the PRIMARIES_FIRST_HOP flag, which is cleared when forwarded by other nodes
- OGMs from the secondary interfaces are only broadcasted on their respective interface and are only used for local link sensing (TTL = 1)
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.
Best regards,