History

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.

Aviya Erenfeld committed 10 years ago

Commit c6e6a0c1 parent f89e07d3 files · +73 −2Browse files

Showing the changes to include/uapi (1 of 3 files). Show all

Unified · Split

include/uapi/linux/nl80211.h+29−0
@@ -1829,6 +1829,25 @@ enum nl80211_commands { · 1828 unmodified lines
1829 * %NL80211_ATTR_EXT_CAPA_MASK, to specify the extended capabilities per1829 * %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 available1851 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
1833 * @NL80211_ATTR_MAX: highest attribute number currently defined1852 * @NL80211_ATTR_MAX: highest attribute number currently defined
1834 * @__NL80211_ATTR_AFTER_LAST: internal use1853 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2213,6 +2232,9 @@ enum nl80211_attrs { · 378 unmodified lines
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 { · 2260 unmodified lines
4479 * %NL80211_CMD_ASSOCIATE and %NL80211_CMD_CONNECT requests, which will set4501 * %NL80211_CMD_ASSOCIATE and %NL80211_CMD_CONNECT requests, which will set
4480 * the ASSOC_REQ_USE_RRM flag in the association request even if4502 * 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 { · 1 unmodified line
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,

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t