History

Merge tag 'mac80211-next-for-net-next-2020-03-20' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next

Johannes Berg says: ==================== Another set of changes: * HE ranging (fine timing measurement) API support * hwsim gets virtio support, for use with wmediumd, to be able to simulate with multiple machines * eapol-over-nl80211 improvements to exclude preauth * IBSS reset support, to recover connections from userspace * and various others. ====================

David S. Miller committed 6 years ago

Commit 0d7043f2 parents ffe10e6 8fa180b19 files · +596 −44Browse files

Showing the changes to include/uapi/linux (2 of 19 files). Show all

Unified · Split

2 files
  1. include/uapi/linux/nl80211.h +71 −2
  2. include/uapi/linux/virtio_ids.h +1 −0
include/uapi/linux/nl80211.h+71−2
@@ -11,7 +11,7 @@ · 10 unmodified lines
1111 * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com>
1212 * Copyright 2008 Colin McCabe <colin@cozybit.com>
1313 * Copyright 2015-2017 Intel Deutschland GmbH
14− * Copyright (C) 2018-2019 Intel Corporation
14+ * Copyright (C) 2018-2020 Intel Corporation
1515 *
1616 * Permission to use, copy, modify, and/or distribute this software for any
1717 * purpose with or without fee is hereby granted, provided that the above
@@ -1632,7 +1632,8 @@ enum nl80211_commands { · 1614 unmodified lines
16321632 * flag is included, then control port frames are sent over NL80211 instead
16331633 * using %CMD_CONTROL_PORT_FRAME. If control port routing over NL80211 is
16341634 * to be used then userspace must also use the %NL80211_ATTR_SOCKET_OWNER
1635− * flag.
1635+ * flag. When used with %NL80211_ATTR_CONTROL_PORT_NO_PREAUTH, pre-auth
1636+ * frames are not forwared over the control port.
16361637 *
16371638 * @NL80211_ATTR_TESTDATA: Testmode data blob, passed through to the driver.
16381639 * We recommend using nested, driver-specific attributes within this.
@@ -2442,6 +2443,33 @@ enum nl80211_commands { · 803 unmodified lines
24422443 * on output (in wiphy attributes) it contains only the feature sub-
24432444 * attributes.
24442445 *
2446+ * @NL80211_ATTR_CONTROL_PORT_NO_PREAUTH: disable preauth frame rx on control
2447+ * port in order to forward/receive them as ordinary data frames.
2448+ *
2449+ * @NL80211_ATTR_PMK_LIFETIME: Maximum lifetime for PMKSA in seconds (u32,
2450+ * dot11RSNAConfigPMKReauthThreshold; 0 is not a valid value).
2451+ * An optional parameter configured through %NL80211_CMD_SET_PMKSA.
2452+ * Drivers that trigger roaming need to know the lifetime of the
2453+ * configured PMKSA for triggering the full vs. PMKSA caching based
2454+ * authentication. This timeout helps authentication methods like SAE,
2455+ * where PMK gets updated only by going through a full (new SAE)
2456+ * authentication instead of getting updated during an association for EAP
2457+ * authentication. No new full authentication within the PMK expiry shall
2458+ * result in a disassociation at the end of the lifetime.
2459+ *
2460+ * @NL80211_ATTR_PMK_REAUTH_THRESHOLD: Reauthentication threshold time, in
2461+ * terms of percentage of %NL80211_ATTR_PMK_LIFETIME
2462+ * (u8, dot11RSNAConfigPMKReauthThreshold, 1..100). This is an optional
2463+ * parameter configured through %NL80211_CMD_SET_PMKSA. Requests the
2464+ * driver to trigger a full authentication roam (without PMKSA caching)
2465+ * after the reauthentication threshold time, but before the PMK lifetime
2466+ * has expired.
2467+ *
2468+ * Authentication methods like SAE need to be able to generate a new PMKSA
2469+ * entry without having to force a disconnection after the PMK timeout. If
2470+ * no roaming occurs between the reauth threshold and PMK expiration,
2471+ * disassociation is still forced.
2472+ *
24452473 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
24462474 * @NL80211_ATTR_MAX: highest attribute number currently defined
24472475 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2912,6 +2940,11 @@ enum nl80211_attrs { · 464 unmodified lines
29122940
29132941 NL80211_ATTR_TID_CONFIG,
29142942
2943+ NL80211_ATTR_CONTROL_PORT_NO_PREAUTH,
2944+
2945+ NL80211_ATTR_PMK_LIFETIME,
2946+ NL80211_ATTR_PMK_REAUTH_THRESHOLD,
2947+
29152948 /* add attributes here, update the policy in nl80211.c */
29162949
29172950 __NL80211_ATTR_AFTER_LAST,
@@ -5642,6 +5675,15 @@ enum nl80211_feature_flags { · 2724 unmodified lines
56425675 * @NL80211_EXT_FEATURE_BEACON_PROTECTION: The driver supports Beacon protection
56435676 * and can receive key configuration for BIGTK using key indexes 6 and 7.
56445677 *
5678+ * @NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH: The driver can disable the
5679+ * forwarding of preauth frames over the control port. They are then
5680+ * handled as ordinary data frames.
5681+ *
5682+ * @NL80211_EXT_FEATURE_PROTECTED_TWT: Driver supports protected TWT frames
5683+ *
5684+ * @NL80211_EXT_FEATURE_DEL_IBSS_STA: The driver supports removing stations
5685+ * in IBSS mode, essentially by dropping their state.
5686+ *
56455687 * @NUM_NL80211_EXT_FEATURES: number of extended features.
56465688 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
56475689 */
@@ -5690,6 +5732,9 @@ enum nl80211_ext_feature_index { · 42 unmodified lines
56905732 NL80211_EXT_FEATURE_VLAN_OFFLOAD,
56915733 NL80211_EXT_FEATURE_AQL,
56925734 NL80211_EXT_FEATURE_BEACON_PROTECTION,
5735+ NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH,
5736+ NL80211_EXT_FEATURE_PROTECTED_TWT,
5737+ NL80211_EXT_FEATURE_DEL_IBSS_STA,
56935738
56945739 /* add new features before the definition below */
56955740 NUM_NL80211_EXT_FEATURES,
@@ -6312,12 +6357,14 @@ enum nl80211_ftm_responder_stats { · 616 unmodified lines
63126357 * @NL80211_PREAMBLE_HT: HT preamble
63136358 * @NL80211_PREAMBLE_VHT: VHT preamble
63146359 * @NL80211_PREAMBLE_DMG: DMG preamble
6360+ * @NL80211_PREAMBLE_HE: HE preamble
63156361 */
63166362 enum nl80211_preamble {
63176363 NL80211_PREAMBLE_LEGACY,
63186364 NL80211_PREAMBLE_HT,
63196365 NL80211_PREAMBLE_VHT,
63206366 NL80211_PREAMBLE_DMG,
6367+ NL80211_PREAMBLE_HE,
63216368 };
63226369
63236370 /**
@@ -6510,6 +6557,10 @@ enum nl80211_peer_measurement_attrs { · 186 unmodified lines
65106557 * is valid)
65116558 * @NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST: u32 attribute indicating
65126559 * the maximum FTMs per burst (if not present anything is valid)
6560+ * @NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED: flag attribute indicating if
6561+ * trigger based ranging measurement is supported
6562+ * @NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED: flag attribute indicating
6563+ * if non trigger based ranging measurement is supported
65136564 *
65146565 * @NUM_NL80211_PMSR_FTM_CAPA_ATTR: internal
65156566 * @NL80211_PMSR_FTM_CAPA_ATTR_MAX: highest attribute number
@@ -6525,6 +6576,8 @@ enum nl80211_peer_measurement_ftm_capa { · 9 unmodified lines
65256576 NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS,
65266577 NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT,
65276578 NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST,
6579+ NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED,
6580+ NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED,
65286581
65296582 /* keep last */
65306583 NUM_NL80211_PMSR_FTM_CAPA_ATTR,
@@ -6554,6 +6607,20 @@ enum nl80211_peer_measurement_ftm_capa { · 23 unmodified lines
65546607 * @NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI: request LCI data (flag)
65556608 * @NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC: request civic location data
65566609 * (flag)
6610+ * @NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED: request trigger based ranging
6611+ * measurement (flag).
6612+ * This attribute and %NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED are
6613+ * mutually exclusive.
6614+ * if neither %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED nor
6615+ * %NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED is set, EDCA based
6616+ * ranging will be used.
6617+ * @NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED: request non trigger based
6618+ * ranging measurement (flag)
6619+ * This attribute and %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED are
6620+ * mutually exclusive.
6621+ * if neither %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED nor
6622+ * %NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED is set, EDCA based
6623+ * ranging will be used.
65576624 *
65586625 * @NUM_NL80211_PMSR_FTM_REQ_ATTR: internal
65596626 * @NL80211_PMSR_FTM_REQ_ATTR_MAX: highest attribute number
@@ -6570,6 +6637,8 @@ enum nl80211_peer_measurement_ftm_req { · 10 unmodified lines
65706637 NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES,
65716638 NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI,
65726639 NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC,
6640+ NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED,
6641+ NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED,
65736642
65746643 /* keep last */
65756644 NUM_NL80211_PMSR_FTM_REQ_ATTR,
include/uapi/linux/virtio_ids.h+1−0
@@ -46,5 +46,6 @@ · 45 unmodified lines
4646 #define VIRTIO_ID_IOMMU 23 /* virtio IOMMU */
4747 #define VIRTIO_ID_FS 26 /* virtio filesystem */
4848 #define VIRTIO_ID_PMEM 27 /* virtio pmem */
49+#define VIRTIO_ID_MAC80211_HWSIM 29 /* virtio mac80211-hwsim */
4950
5051 #endif /* _LINUX_VIRTIO_IDS_H */