mesh: Add RSN IE to Mesh Peering Open/Confirm frames

The RSN IE is required by IEEE Std 802.11-2012 on SAE use case:
Table 8-262 Mesh Peering Open frame Action field format
Table 8-263 Mesh Peering Confirm frame Action field format

Add the RSN IE to these frames.

Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
This commit is contained in:
Masashi Honma 2015-08-31 16:58:10 +09:00 committed by Jouni Malinen
parent 8a51dcbc2f
commit f029c44cf2

View file

@ -239,6 +239,9 @@ static void mesh_mpm_send_plink_action(struct wpa_supplicant *wpa_s,
2 + 22; /* HT operation */ 2 + 22; /* HT operation */
} }
#endif /* CONFIG_IEEE80211N */ #endif /* CONFIG_IEEE80211N */
if (type != PLINK_CLOSE)
buf_len += conf->rsn_ie_len; /* RSN IE */
buf = wpabuf_alloc(buf_len); buf = wpabuf_alloc(buf_len);
if (!buf) if (!buf)
return; return;
@ -262,6 +265,9 @@ static void mesh_mpm_send_plink_action(struct wpa_supplicant *wpa_s,
pos = hostapd_eid_ext_supp_rates(bss, pos); pos = hostapd_eid_ext_supp_rates(bss, pos);
wpabuf_put_data(buf, supp_rates, pos - supp_rates); wpabuf_put_data(buf, supp_rates, pos - supp_rates);
/* IE: RSN IE */
wpabuf_put_data(buf, conf->rsn_ie, conf->rsn_ie_len);
/* IE: Mesh ID */ /* IE: Mesh ID */
wpabuf_put_u8(buf, WLAN_EID_MESH_ID); wpabuf_put_u8(buf, WLAN_EID_MESH_ID);
wpabuf_put_u8(buf, conf->meshid_len); wpabuf_put_u8(buf, conf->meshid_len);