packages/net/batman-adv/patches/0002-batman-adv-only-drop-packets-of-known-wifi-clients.patch
marek f736b3b33a batman-adv: stability patches
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>



git-svn-id: svn://svn.openwrt.org/openwrt/packages@32578 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-02 15:51:27 +00:00

51 lines
1.5 KiB
Diff

From 7c6c6db94848497178cc246585b59fad4368c3e2 Mon Sep 17 00:00:00 2001
From: Marek Lindner <lindner_marek@yahoo.de>
Date: Wed, 20 Jun 2012 16:56:04 +0200
Subject: [PATCH] batman-adv: only drop packets of known wifi clients
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>
---
translation-table.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/translation-table.c b/translation-table.c
index a66c2dc..660c40f 100644
--- a/translation-table.c
+++ b/translation-table.c
@@ -2031,10 +2031,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)
@@ -2044,10 +2044,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)
--
1.7.9.1