For now, disallow peering if our WMM parameters don't match our peer's.

Signed-off-by: Thomas Pedersen <[email protected]>
---
 net/mac80211/mesh.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c
index b3a125f..dd83c8f7 100644
--- a/net/mac80211/mesh.c
+++ b/net/mac80211/mesh.c
@@ -103,6 +103,13 @@ bool mesh_matches_local(struct ieee802_11_elems *ie, 
struct ieee80211_sub_if_dat
             ieee80211_ht_info_to_channel_type(ie->ht_info_elem)))
                goto mismatch;
 
+       if (ie->wmm_param) {
+               u8 wmm_local[sizeof(struct ieee80211_wmm_param_ie)];
+               ieee80211_build_wmm_ie(&sdata->vif, wmm_local);
+               if (memcmp(ie->wmm_param, wmm_local, sizeof(wmm_local)))
+                       goto mismatch;
+       }
+
        return true;
 mismatch:
        return false;
-- 
1.7.5.4

_______________________________________________
Devel mailing list
[email protected]
http://open80211s.com/mailman/listinfo/devel

Reply via email to