cfg80211/nl80211: separate unicast/multicast default TX keys
Allow userspace to specify that a given key is default only for unicast and/or multicast transmissions. Only WEP keys are for both, WPA/RSN keys set here are GTKs for multicast only. For more future flexibility, allow to specify all combiations. Wireless extensions can only set both so use nl80211; WEP keys (connect keys) must be set as default for both (but 802.1X WEP is still possible). Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
897bed8b43
commit
dbd2fd656f
9 changed files with 153 additions and 30 deletions
|
|
@ -1211,7 +1211,7 @@ struct cfg80211_ops {
|
|||
u8 key_index, bool pairwise, const u8 *mac_addr);
|
||||
int (*set_default_key)(struct wiphy *wiphy,
|
||||
struct net_device *netdev,
|
||||
u8 key_index);
|
||||
u8 key_index, bool unicast, bool multicast);
|
||||
int (*set_default_mgmt_key)(struct wiphy *wiphy,
|
||||
struct net_device *netdev,
|
||||
u8 key_index);
|
||||
|
|
@ -1393,6 +1393,8 @@ struct cfg80211_ops {
|
|||
* control port protocol ethertype. The device also honours the
|
||||
* control_port_no_encrypt flag.
|
||||
* @WIPHY_FLAG_IBSS_RSN: The device supports IBSS RSN.
|
||||
* @WIPHY_FLAG_SUPPORTS_SEPARATE_DEFAULT_KEYS: The device supports separate
|
||||
* unicast and multicast TX keys.
|
||||
*/
|
||||
enum wiphy_flags {
|
||||
WIPHY_FLAG_CUSTOM_REGULATORY = BIT(0),
|
||||
|
|
@ -1404,6 +1406,7 @@ enum wiphy_flags {
|
|||
WIPHY_FLAG_4ADDR_STATION = BIT(6),
|
||||
WIPHY_FLAG_CONTROL_PORT_PROTOCOL = BIT(7),
|
||||
WIPHY_FLAG_IBSS_RSN = BIT(8),
|
||||
WIPHY_FLAG_SUPPORTS_SEPARATE_DEFAULT_KEYS= BIT(9),
|
||||
};
|
||||
|
||||
struct mac_address {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue