batman-adv: extend the ap_isolation mechanism
authorAntonio Quartulli <antonio@open-mesh.com>
Sat, 16 Nov 2013 11:03:50 +0000 (12:03 +0100)
committerAntonio Quartulli <antonio@meshcoding.com>
Wed, 8 Jan 2014 19:49:44 +0000 (20:49 +0100)
Change the AP isolation mechanism to not only "isolate" WIFI
clients but also all those marked with the more generic
"isolation flag" (BATADV_TT_CLIENT_ISOLA).

The result is that when AP isolation is on any unicast
packet originated by an "isolated" client and directed to
another "isolated" client is dropped at the source node.

Signed-off-by: Antonio Quartulli <antonio@open-mesh.com>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
net/batman-adv/translation-table.c

index eeceb13c044e6e7898bc4252e7e6235a2785388b..a874d08f9f0a47fdf1caffcf06930a63f471a778 100644 (file)
@@ -1869,6 +1869,11 @@ _batadv_is_ap_isolated(struct batadv_tt_local_entry *tt_local_entry,
            tt_global_entry->common.flags & BATADV_TT_CLIENT_WIFI)
                ret = true;
 
+       /* check if the two clients are marked as isolated */
+       if (tt_local_entry->common.flags & BATADV_TT_CLIENT_ISOLA &&
+           tt_global_entry->common.flags & BATADV_TT_CLIENT_ISOLA)
+               ret = true;
+
        return ret;
 }