Hello
I have a problem in my mesh setup which is quite similiar to Bug#216 of the bug tracker. I'm using batman-adv 2014.4.0 in a BLA setup consisting of 3 Mesh Nodes (A, B, C) connected to the same backone network via a common switch and a mesh node D connected to an end device E. I ping that single mesh node D and the connected end device E from a PC which is connected to the same switch as the three Nodes A to C. BLA is compiled and enabled.
From time to time I see looping unicast packets in my backbone network. This unicast looping starts directly after one of the nodes A to C claimed the mac address of my PC. The looping telegram is then the ping request sent by the PC. I have a wireshark recording made in my backbone via port mirroring of one of the switch ports where a mesh node is connected to which shows this behaviour.
I am not sure if I understood bla correctly but isn't it nonsense that a bla backbone gateway claims MAC addresses from its own backbone (i.e. the one it is directly connected to via its ethernet port)?
A simple change in batadv_bla_rx seems to solve this problem: add an additional check before claiming a new mac address: if this address is already known from the tt local table (via command batadv_is_my_client) don't claim it.
This seems to solve my problem as far as I have tested so far. Any thoughts about that?
Best regards, Andreas
.................................................................. PHOENIX CONTACT ELECTRONICS GmbH
Sitz der Gesellschaft / registered office of the company: 31812 Bad Pyrmont USt-Id-Nr.: DE811742156 Amtsgericht Hannover HRB 100528 / district court Hannover HRB 100528 Geschäftsführer / Executive Board: Roland Bent, Dr. Martin Heubeck ___________________________________________________________________ Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren, jegliche anderweitige Verwendung sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet. ---------------------------------------------------------------------------------------------------- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure, distribution or other use of the material or parts thereof is strictly forbidden. ___________________________________________________________________
Hi Andreas,
On Monday 08 February 2016 12:35:35 Andreas Pape wrote:
Hello
I have a problem in my mesh setup which is quite similiar to Bug#216 of the bug tracker. I'm using batman-adv 2014.4.0 in a BLA setup consisting of 3 Mesh Nodes (A, B, C) connected to the same backone network via a common switch and a mesh node D connected to an end device E. I ping that single mesh node D and the connected end device E from a PC which is connected to the same switch as the three Nodes A to C. BLA is compiled and enabled.
First of all, did you test v2016.0? v2014.4.0 is pretty old, the bug was created and closed in 2015 after all ...
From time to time I see looping unicast packets in my backbone network. This unicast looping starts directly after one of the nodes A to C claimed the mac address of my PC. The looping telegram is then the ping request sent by the PC. I have a wireshark recording made in my backbone via port mirroring of one of the switch ports where a mesh node is connected to which shows this behaviour.
Is it really the ping packet looping? If yes, which nodes are part of the loop? Normally we only see broadcast packets looping. In #216 it was also broadcast packets where we have seen duplicates, and this was more a locking problem leading to creation of the same packets again and again.
I am not sure if I understood bla correctly but isn't it nonsense that a bla backbone gateway claims MAC addresses from its own backbone (i.e. the one it is directly connected to via its ethernet port)?
Yes, that appears to be nonsense indeed. Do you happen to have DAT enabled? There were also some problems with that which are fixed by now.
A simple change in batadv_bla_rx seems to solve this problem: add an additional check before claiming a new mac address: if this address is already known from the tt local table (via command batadv_is_my_client) don't claim it.
This seems to solve my problem as far as I have tested so far. Any thoughts about that?
This will prevent roaming from on of your nodes connected to the backbone (A- C) to the mesh-only node D.
I would like to suggest to upgrade and test again, and try disabling DAT if the problem is still present (you should still report it if DAT makes a difference in that case). If you still see a problem then, we probably have something unsolved, and then I'd like to understand which nodes are part of the loop.
Thank you! Simon
b.a.t.m.a.n@lists.open-mesh.org