diff options
author | Sara Sharon <sara.sharon@intel.com> | 2019-01-16 11:14:41 +0100 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2019-02-08 13:51:50 +0100 |
commit | 4abb52a46e7336c1e568a53761c8b7a81bbaaeaf (patch) | |
tree | ba154f2d70a786a6871dcd5af7ba2aa39ba45bab /net/mac80211/mesh_plink.c | |
parent | nl80211: use for_each_element() in validate_ie_attr() (diff) | |
download | linux-4abb52a46e7336c1e568a53761c8b7a81bbaaeaf.tar.xz linux-4abb52a46e7336c1e568a53761c8b7a81bbaaeaf.zip |
mac80211: pass bssids to elements parsing function
In multiple BSSID, we have nested IEs inside the multiple
BSSID IE, that override the external ones for that specific
BSS. As preparation for supporting that, pass 2 BSSIDs to the
parse function, the transmitter, and the selected BSSID, so
it can know which IEs to choose. If the selected BSSID is
NULL, the outer ones will be applied.
Change ieee80211_bss_info_update to parse elements itself,
instead of receiving them parsed, so we have the relevant
bss entry in hand.
Signed-off-by: Sara Sharon <sara.sharon@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/mesh_plink.c')
-rw-r--r-- | net/mac80211/mesh_plink.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/mac80211/mesh_plink.c b/net/mac80211/mesh_plink.c index 33055c8ed37e..8afd0ece94c9 100644 --- a/net/mac80211/mesh_plink.c +++ b/net/mac80211/mesh_plink.c @@ -1,5 +1,6 @@ /* * Copyright (c) 2008, 2009 open80211s Ltd. + * Copyright (C) 2019 Intel Corporation * Author: Luis Carlos Cobo <luisca@cozybit.com> * * This program is free software; you can redistribute it and/or modify @@ -1214,6 +1215,7 @@ void mesh_rx_plink_frame(struct ieee80211_sub_if_data *sdata, if (baselen > len) return; } - ieee802_11_parse_elems(baseaddr, len - baselen, true, &elems); + ieee802_11_parse_elems(baseaddr, len - baselen, true, &elems, + mgmt->bssid, NULL); mesh_process_plink_frame(sdata, mgmt, &elems, rx_status); } |