aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/nl80211.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-07-01 15:26:51 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-07-10 15:01:50 -0400
commitaff89a9b9084931e51b89d8f3ee3c547bea6c422 (patch)
tree592c1dfa2ef994a1b3e117b3d7bc1cc7b7bde637 /include/linux/nl80211.h
parent5121ea0481f9cea1dfd958f18d7b4ac78778cd40 (diff)
cfg80211: introduce nl80211 testmode command
This introduces a new NL80211_CMD_TESTMODE for testing and calibration use with nl80211. There's no multiplexing like like iwpriv had, and the command is not available by default, it needs to be explicitly enabled in Kconfig and shouldn't be enabled in most kernels. The command requires a wiphy index or interface index to identify the device to operate on, and the new TESTDATA attribute. There also is API for sending replies to the command, and testmode multicast messages (on a testmode multicast group). I've also updated mac80211 to be able to pass through the command to the driver, since it itself doesn't implement the testmode command. Additionally, to give people an idea of how to use the command, I've added a little code to hwsim that makes use of the new command to set the powersave mode, this is currently done via debugfs and should remain there, and the testmode command only serves as an example of how to use this best -- with nested netlink attributes in the TESTDATA attribute. A hwsim testmode tool can be found at http://git.sipsolutions.net/hwsim.git/. This tool is BSD licensed so people can easily use it as a basis for their own internal fabrication and validation tools. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/linux/nl80211.h')
-rw-r--r--include/linux/nl80211.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h
index dbea93b694e5..651b18839088 100644
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
@@ -242,6 +242,10 @@
242 * @NL80211_CMD_LEAVE_IBSS: Leave the IBSS -- no special arguments, the IBSS is 242 * @NL80211_CMD_LEAVE_IBSS: Leave the IBSS -- no special arguments, the IBSS is
243 * determined by the network interface. 243 * determined by the network interface.
244 * 244 *
245 * @NL80211_CMD_TESTMODE: testmode command, takes a wiphy (or ifindex) attribute
246 * to identify the device, and the TESTDATA blob attribute to pass through
247 * to the driver.
248 *
245 * @NL80211_CMD_MAX: highest used command number 249 * @NL80211_CMD_MAX: highest used command number
246 * @__NL80211_CMD_AFTER_LAST: internal use 250 * @__NL80211_CMD_AFTER_LAST: internal use
247 */ 251 */
@@ -310,6 +314,8 @@ enum nl80211_commands {
310 NL80211_CMD_JOIN_IBSS, 314 NL80211_CMD_JOIN_IBSS,
311 NL80211_CMD_LEAVE_IBSS, 315 NL80211_CMD_LEAVE_IBSS,
312 316
317 NL80211_CMD_TESTMODE,
318
313 /* add new commands above here */ 319 /* add new commands above here */
314 320
315 /* used to define NL80211_CMD_MAX below */ 321 /* used to define NL80211_CMD_MAX below */
@@ -511,6 +517,9 @@ enum nl80211_commands {
511 * authorized by user space. Otherwise, port is marked authorized by 517 * authorized by user space. Otherwise, port is marked authorized by
512 * default in station mode. 518 * default in station mode.
513 * 519 *
520 * @NL80211_ATTR_TESTDATA: Testmode data blob, passed through to the driver.
521 * We recommend using nested, driver-specific attributes within this.
522 *
514 * @NL80211_ATTR_MAX: highest attribute number currently defined 523 * @NL80211_ATTR_MAX: highest attribute number currently defined
515 * @__NL80211_ATTR_AFTER_LAST: internal use 524 * @__NL80211_ATTR_AFTER_LAST: internal use
516 */ 525 */
@@ -619,6 +628,8 @@ enum nl80211_attrs {
619 628
620 NL80211_ATTR_CONTROL_PORT, 629 NL80211_ATTR_CONTROL_PORT,
621 630
631 NL80211_ATTR_TESTDATA,
632
622 /* add attributes here, update the policy in nl80211.c */ 633 /* add attributes here, update the policy in nl80211.c */
623 634
624 __NL80211_ATTR_AFTER_LAST, 635 __NL80211_ATTR_AFTER_LAST,