On Thursday 12 May 2016 08:31:32 Andreas Pape wrote:
@@ -1003,6 +1004,20 @@ bool batadv_dat_snoop_outgoing_arp_request(struct batadv_priv *bat_priv, goto out; }
/* If BLA is enabled, only send ARP replies if we have claimed
* the destination for the ARP request or if no one else of
* the backbone gws belonging to our backbone has claimed the
* destination.
*/
if (!batadv_bla_handle_local_claim(bat_priv,
dat_entry->mac_addr, vid)) {
batadv_dbg(BATADV_DBG_DAT, bat_priv,
"Device %pM claimed by another backbone gw. Don't send ARP
reply!",
dat_entry->mac_addr);
ret = true;
goto out;
}
There is still my question/comment pending for this from your PATCHv2. I'll quote:
I would agree to Antonio that sending a claim is not necessary, and might actually lead to bad choices of the outgoing backbone gateway. After all, at this point any "random" backbone gateway may answer to this request, just because it has the DAT entry, but maybe may actually not be able to reach the client via the mesh.
I think checking if a local claim exists is a good idea, but sending a claim is not a good idea - this might introduce effects which will be even more complicated to debug.
Cheers, Simon