aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
authorAviya Erenfeld <aviya.erenfeld@intel.com>2016-07-05 08:23:08 -0400
committerJohannes Berg <johannes.berg@intel.com>2016-07-06 08:46:04 -0400
commitc6e6a0c8be575c830a97b1942dabeab70f423fe0 (patch)
tree01f16a0a2cadbb579fcf48392cb1b4940db6f661 /include/uapi/linux
parentf89e07d4cf2660a2956bc350a201398dda85284e (diff)
nl80211: Add API to support VHT MU-MIMO air sniffer
add API to support VHT MU-MIMO air sniffer. in MU-MIMO there are parallel frames on the air while the HW has only one RX. add the capability to sniff one of the MU-MIMO parallel frames by giving the sniffer additional information so it'll know which of the parallel frames it shall follow. Add attribute - NL80211_ATTR_MU_MIMO_GROUP_DATA - for getting a MU-MIMO groupID in order to monitor packets from that group using VHT MU-MIMO. And add attribute -NL80211_ATTR_MU_MIMO_FOLLOW_ADDR - for passing MAC address to monitor mode. that option will be used by VHT MU-MIMO air sniffer to follow a station according to it's MAC address using VHT MU-MIMO. Signed-off-by: Aviya Erenfeld <aviya.erenfeld@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/nl80211.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
index 53c8278827a0..1d7da7888dcf 100644
--- a/include/uapi/linux/nl80211.h
+++ b/include/uapi/linux/nl80211.h
@@ -1829,6 +1829,25 @@ enum nl80211_commands {
1829 * %NL80211_ATTR_EXT_CAPA_MASK, to specify the extended capabilities per 1829 * %NL80211_ATTR_EXT_CAPA_MASK, to specify the extended capabilities per
1830 * interface type. 1830 * interface type.
1831 * 1831 *
1832 * @NL80211_ATTR_MU_MIMO_GROUP_DATA: array of 24 bytes that defines a MU-MIMO
1833 * groupID for monitor mode.
1834 * The first 8 bytes are a mask that defines the membership in each
1835 * group (there are 64 groups, group 0 and 63 are reserved),
1836 * each bit represents a group and set to 1 for being a member in
1837 * that group and 0 for not being a member.
1838 * The remaining 16 bytes define the position in each group: 2 bits for
1839 * each group.
1840 * (smaller group numbers represented on most significant bits and bigger
1841 * group numbers on least significant bits.)
1842 * This attribute is used only if all interfaces are in monitor mode.
1843 * Set this attribute in order to monitor packets using the given MU-MIMO
1844 * groupID data.
1845 * to turn off that feature set all the bits of the groupID to zero.
1846 * @NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR: mac address for the sniffer to follow
1847 * when using MU-MIMO air sniffer.
1848 * to turn that feature off set an invalid mac address
1849 * (e.g. FF:FF:FF:FF:FF:FF)
1850 *
1832 * @NUM_NL80211_ATTR: total number of nl80211_attrs available 1851 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
1833 * @NL80211_ATTR_MAX: highest attribute number currently defined 1852 * @NL80211_ATTR_MAX: highest attribute number currently defined
1834 * @__NL80211_ATTR_AFTER_LAST: internal use 1853 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2213,6 +2232,9 @@ enum nl80211_attrs {
2213 2232
2214 NL80211_ATTR_IFTYPE_EXT_CAPA, 2233 NL80211_ATTR_IFTYPE_EXT_CAPA,
2215 2234
2235 NL80211_ATTR_MU_MIMO_GROUP_DATA,
2236 NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR,
2237
2216 /* add attributes here, update the policy in nl80211.c */ 2238 /* add attributes here, update the policy in nl80211.c */
2217 2239
2218 __NL80211_ATTR_AFTER_LAST, 2240 __NL80211_ATTR_AFTER_LAST,
@@ -4479,6 +4501,12 @@ enum nl80211_feature_flags {
4479 * %NL80211_CMD_ASSOCIATE and %NL80211_CMD_CONNECT requests, which will set 4501 * %NL80211_CMD_ASSOCIATE and %NL80211_CMD_CONNECT requests, which will set
4480 * the ASSOC_REQ_USE_RRM flag in the association request even if 4502 * the ASSOC_REQ_USE_RRM flag in the association request even if
4481 * NL80211_FEATURE_QUIET is not advertized. 4503 * NL80211_FEATURE_QUIET is not advertized.
4504 * @NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER: This device supports MU-MIMO air
4505 * sniffer which means that it can be configured to hear packets from
4506 * certain groups which can be configured by the
4507 * %NL80211_ATTR_MU_MIMO_GROUP_DATA attribute,
4508 * or can be configured to follow a station by configuring the
4509 * %NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR attribute.
4482 * 4510 *
4483 * @NUM_NL80211_EXT_FEATURES: number of extended features. 4511 * @NUM_NL80211_EXT_FEATURES: number of extended features.
4484 * @MAX_NL80211_EXT_FEATURES: highest extended feature index. 4512 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
@@ -4486,6 +4514,7 @@ enum nl80211_feature_flags {
4486enum nl80211_ext_feature_index { 4514enum nl80211_ext_feature_index {
4487 NL80211_EXT_FEATURE_VHT_IBSS, 4515 NL80211_EXT_FEATURE_VHT_IBSS,
4488 NL80211_EXT_FEATURE_RRM, 4516 NL80211_EXT_FEATURE_RRM,
4517 NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER,
4489 4518
4490 /* add new features before the definition below */ 4519 /* add new features before the definition below */
4491 NUM_NL80211_EXT_FEATURES, 4520 NUM_NL80211_EXT_FEATURES,