nl80211: New command for adding extra IE(s) into management frames

A new nl80211 command, NL80211_CMD_SET_MGMT_EXTRA_IE, can be used to
add arbitrary IE data into the end of management frames. The interface
allows extra IEs to be configured for each management frame subtype, but
only some of them (ProbeReq, ProbeResp, Auth, (Re)AssocReq, Deauth,
Disassoc) are currently accepted in mac80211 implementation.

This makes it easier to implement IEEE 802.11 extensions like WPS and
FT that add IE(s) into some management frames. In addition, this can
be useful for testing and experimentation purposes.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Jouni Malinen
2009-01-13 16:03:29 +02:00
committed by John W. Linville
parent 0c1aa49596
commit 9aed3cc124
7 changed files with 246 additions and 6 deletions

View File

@@ -331,6 +331,22 @@ struct ieee80211_if_sta {
u32 supp_rates_bits[IEEE80211_NUM_BANDS];
int wmm_last_param_set;
/* Extra IE data for management frames */
u8 *ie_probereq;
size_t ie_probereq_len;
u8 *ie_proberesp;
size_t ie_proberesp_len;
u8 *ie_auth;
size_t ie_auth_len;
u8 *ie_assocreq;
size_t ie_assocreq_len;
u8 *ie_reassocreq;
size_t ie_reassocreq_len;
u8 *ie_deauth;
size_t ie_deauth_len;
u8 *ie_disassoc;
size_t ie_disassoc_len;
};
struct ieee80211_if_mesh {