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>
这个提交包含在:
Sara Sharon
2019-01-16 12:14:41 +02:00
提交者 Johannes Berg
父节点 9f308616b6
当前提交 4abb52a46e
修改 9 个文件,包含 95 行新增72 行删除

查看文件

@@ -893,7 +893,8 @@ EXPORT_SYMBOL(ieee80211_queue_delayed_work);
u32 ieee802_11_parse_elems_crc(const u8 *start, size_t len, bool action,
struct ieee802_11_elems *elems,
u64 filter, u32 crc)
u64 filter, u32 crc, u8 *transmitter_bssid,
u8 *bss_bssid)
{
struct element *elem;
bool calc_crc = filter != 0;