cfg80211/mac80211: allow per-station GTKs
This adds API to allow adding per-station GTKs, updates mac80211 to support it, and also allows drivers to remove a key from hwaccel again when this may be necessary due to multiple GTKs. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
53f73c09d6
commit
e31b82136d
20 changed files with 293 additions and 109 deletions
|
@ -801,6 +801,9 @@ enum nl80211_commands {
|
|||
* This is used in association with @NL80211_ATTR_WIPHY_TX_POWER_SETTING
|
||||
* for non-automatic settings.
|
||||
*
|
||||
* @NL80211_ATTR_SUPPORT_IBSS_RSN: The device supports IBSS RSN, which mostly
|
||||
* means support for per-station GTKs.
|
||||
*
|
||||
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
||||
* @__NL80211_ATTR_AFTER_LAST: internal use
|
||||
*/
|
||||
|
@ -968,6 +971,8 @@ enum nl80211_attrs {
|
|||
NL80211_ATTR_CONTROL_PORT_ETHERTYPE,
|
||||
NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT,
|
||||
|
||||
NL80211_ATTR_SUPPORT_IBSS_RSN,
|
||||
|
||||
/* add attributes here, update the policy in nl80211.c */
|
||||
|
||||
__NL80211_ATTR_AFTER_LAST,
|
||||
|
@ -1659,11 +1664,14 @@ enum nl80211_auth_type {
|
|||
* @NL80211_KEYTYPE_GROUP: Group (broadcast/multicast) key
|
||||
* @NL80211_KEYTYPE_PAIRWISE: Pairwise (unicast/individual) key
|
||||
* @NL80211_KEYTYPE_PEERKEY: PeerKey (DLS)
|
||||
* @NUM_NL80211_KEYTYPES: number of defined key types
|
||||
*/
|
||||
enum nl80211_key_type {
|
||||
NL80211_KEYTYPE_GROUP,
|
||||
NL80211_KEYTYPE_PAIRWISE,
|
||||
NL80211_KEYTYPE_PEERKEY,
|
||||
|
||||
NUM_NL80211_KEYTYPES
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -1694,6 +1702,9 @@ enum nl80211_wpa_versions {
|
|||
* CCMP keys, each six bytes in little endian
|
||||
* @NL80211_KEY_DEFAULT: flag indicating default key
|
||||
* @NL80211_KEY_DEFAULT_MGMT: flag indicating default management key
|
||||
* @NL80211_KEY_TYPE: the key type from enum nl80211_key_type, if not
|
||||
* specified the default depends on whether a MAC address was
|
||||
* given with the command using the key or not (u32)
|
||||
* @__NL80211_KEY_AFTER_LAST: internal
|
||||
* @NL80211_KEY_MAX: highest key attribute
|
||||
*/
|
||||
|
@ -1705,6 +1716,7 @@ enum nl80211_key_attributes {
|
|||
NL80211_KEY_SEQ,
|
||||
NL80211_KEY_DEFAULT,
|
||||
NL80211_KEY_DEFAULT_MGMT,
|
||||
NL80211_KEY_TYPE,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_KEY_AFTER_LAST,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue