Skip to content

Commit

Permalink
batman-adv: only drop packets of known wifi clients
Browse files Browse the repository at this point in the history
commit 5870adc upstream.

bug introduced with 59b699c

If the source or destination mac address of an ethernet packet
could not be found in the translation table the packet was
dropped if AP isolation was turned on. This behavior would
make it impossible to send broadcast packets over the mesh as
the broadcast address will never enter the translation table.

Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Acked-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  • Loading branch information
Marek Lindner authored and Ben Hutchings committed Jul 4, 2012
1 parent 9a0fcfb commit 63b03b0
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions net/batman-adv/translation-table.c
Original file line number Diff line number Diff line change
Expand Up @@ -1816,10 +1816,10 @@ bool is_ap_isolated(struct bat_priv *bat_priv, uint8_t *src, uint8_t *dst)
{
struct tt_local_entry *tt_local_entry = NULL;
struct tt_global_entry *tt_global_entry = NULL;
bool ret = true;
bool ret = false;

if (!atomic_read(&bat_priv->ap_isolation))
return false;
goto out;

tt_local_entry = tt_local_hash_find(bat_priv, dst);
if (!tt_local_entry)
Expand All @@ -1829,10 +1829,10 @@ bool is_ap_isolated(struct bat_priv *bat_priv, uint8_t *src, uint8_t *dst)
if (!tt_global_entry)
goto out;

if (_is_ap_isolated(tt_local_entry, tt_global_entry))
if (!_is_ap_isolated(tt_local_entry, tt_global_entry))
goto out;

ret = false;
ret = true;

out:
if (tt_global_entry)
Expand Down

0 comments on commit 63b03b0

Please sign in to comment.