diff options
| author | Aviya Erenfeld <aviya.erenfeld@intel.com> | 2016-07-05 08:23:08 -0400 |
|---|---|---|
| committer | Johannes Berg <johannes.berg@intel.com> | 2016-07-06 08:46:04 -0400 |
| commit | c6e6a0c8be575c830a97b1942dabeab70f423fe0 (patch) | |
| tree | 01f16a0a2cadbb579fcf48392cb1b4940db6f661 /include/uapi/linux | |
| parent | f89e07d4cf2660a2956bc350a201398dda85284e (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.h | 29 |
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 { | |||
| 4486 | enum nl80211_ext_feature_index { | 4514 | enum 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, |
