@@ -1956,13 +1956,19 @@ bool batadv_bla_handle_local_claim(struct batadv_priv *bat_priv, uint8_t *addr,
primary_if->net_dev->dev_addr))
ret = false;
} else {
- /* If there is no claim, claim the device */
- batadv_dbg(BATADV_DBG_BLA, bat_priv,
- "Handle claim locally for currently not claimed mac %pM.\n",
- search_claim.addr);
+ /* If there is no claim, claim the device
+ * but only if this isn't a mac address
+ * out of the local tt
+ */
+ if (!batadv_is_my_client(bat_priv, addr, vid)) {
+ batadv_dbg(BATADV_DBG_BLA, bat_priv,
+ "bla_handle_local_claim(): Handle claim "
+ "locally for currently not claimed mac %pM.\n",
+ search_claim.addr);
- batadv_handle_claim(bat_priv, primary_if,
- primary_if->net_dev->dev_addr, addr, vid);
+ batadv_handle_claim(bat_priv, primary_if,
+ primary_if->net_dev->dev_addr, addr, vid);
+ }
}
out:
Make sure that claiming of devices due to dat handling is only done for non-local mac addresses. As dat is handled after the normal bla code this should not break the roaming client scenario for dat. Signed-off-by: Andreas Pape <apape@phoenixcontact.com> --- net/batman-adv/bridge_loop_avoidance.c | 18 ++++++++++++------ 1 files changed, 12 insertions(+), 6 deletions(-) -- 1.7.0.4 .................................................................. 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