Asymmetric VLAN generates loop
In case of an asymmetric VLAN configuration as shown in the picture it is possible to generate a loop even if BLA is enabled.
The loop is triggered by the fact that the two potential backbone nodes won't recognize each other. This can be understood by looking at the steps taken by a BLA ANNOUNCE message:
- is generated at node B for VLAN y
- is broadcast'd over eth0.x
- reaches eth0 on node A and does not get decapsulated
- enters bat0.y and gets encapsulated once again
- batman-adv does not find the BLA message because the "encapsulated_proto" field is not ARP
- the message gets forwarded in the mesh because the node thinks to be alone on the LAN
- the message reaches node B the loop starts
I don't see a clear solution to this problem because even if we make batman-adv decapsulate any packet until we get to the inner layer, we still have the problem that node A won't be recognized by nodeB (nodeA will always send with no VLAN header).