summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJavier Cardona <javier@cozybit.com>2011-05-03 19:57:11 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-05-11 14:44:46 -0400
commit9c3990aaec0ad9f686ef6480f6861f2df89b2a7a (patch)
tree5e073ffce0ce0aed45e9dfeb9f41efc140c770f7 /include
parent0a35d36d6f019bde6c98812456798275b02e5aee (diff)
nl80211: Let userspace drive the peer link management states.
Signed-off-by: Javier Cardona <javier@cozybit.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/nl80211.h4
-rw-r--r--include/net/cfg80211.h29
2 files changed, 33 insertions, 0 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h
index c53b916036c5..de96783954a1 100644
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
@@ -913,6 +913,9 @@ enum nl80211_commands {
913 * @NL80211_ATTR_SUPPORT_MESH_AUTH: Currently, this means the underlying driver 913 * @NL80211_ATTR_SUPPORT_MESH_AUTH: Currently, this means the underlying driver
914 * allows auth frames in a mesh to be passed to userspace for processing via 914 * allows auth frames in a mesh to be passed to userspace for processing via
915 * the @NL80211_MESH_SETUP_USERSPACE_AUTH flag. 915 * the @NL80211_MESH_SETUP_USERSPACE_AUTH flag.
916 * @NL80211_ATTR_STA_PLINK_STATE: The state of a mesh peer link. Used when
917 * userspace is driving the peer link management state machine.
918 * @NL80211_MESH_SETUP_USERSPACE_AMPE must be enabled.
916 * 919 *
917 * @NL80211_ATTR_WOWLAN_SUPPORTED: indicates, as part of the wiphy capabilities, 920 * @NL80211_ATTR_WOWLAN_SUPPORTED: indicates, as part of the wiphy capabilities,
918 * the supported WoWLAN triggers 921 * the supported WoWLAN triggers
@@ -1109,6 +1112,7 @@ enum nl80211_attrs {
1109 NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX, 1112 NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX,
1110 1113
1111 NL80211_ATTR_SUPPORT_MESH_AUTH, 1114 NL80211_ATTR_SUPPORT_MESH_AUTH,
1115 NL80211_ATTR_STA_PLINK_STATE,
1112 1116
1113 NL80211_ATTR_WOWLAN_TRIGGERS, 1117 NL80211_ATTR_WOWLAN_TRIGGERS,
1114 NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED, 1118 NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED,
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 10c17d68059f..4b0d035be64f 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -372,6 +372,33 @@ enum plink_actions {
372}; 372};
373 373
374/** 374/**
375 * enum plink_states - state of a mesh peer link finite state machine
376 *
377 * @PLINK_LISTEN: initial state, considered the implicit state of non
378 * existant mesh peer links
379 * @PLINK_OPN_SNT: mesh plink open frame has been sent to this mesh
380 * peer @PLINK_OPN_RCVD: mesh plink open frame has been received from
381 * this mesh peer
382 * @PLINK_CNF_RCVD: mesh plink confirm frame has been received from
383 * this mesh peer
384 * @PLINK_ESTAB: mesh peer link is established
385 * @PLINK_HOLDING: mesh peer link is being closed or cancelled
386 * @PLINK_BLOCKED: all frames transmitted from this mesh plink are
387 * discarded
388 * @PLINK_INVALID: reserved
389 */
390enum plink_state {
391 PLINK_LISTEN,
392 PLINK_OPN_SNT,
393 PLINK_OPN_RCVD,
394 PLINK_CNF_RCVD,
395 PLINK_ESTAB,
396 PLINK_HOLDING,
397 PLINK_BLOCKED,
398 PLINK_INVALID,
399};
400
401/**
375 * struct station_parameters - station parameters 402 * struct station_parameters - station parameters
376 * 403 *
377 * Used to change and create a new station. 404 * Used to change and create a new station.
@@ -387,6 +414,7 @@ enum plink_actions {
387 * @listen_interval: listen interval or -1 for no change 414 * @listen_interval: listen interval or -1 for no change
388 * @aid: AID or zero for no change 415 * @aid: AID or zero for no change
389 * @plink_action: plink action to take 416 * @plink_action: plink action to take
417 * @plink_state: set the peer link state for a station
390 * @ht_capa: HT capabilities of station 418 * @ht_capa: HT capabilities of station
391 */ 419 */
392struct station_parameters { 420struct station_parameters {
@@ -397,6 +425,7 @@ struct station_parameters {
397 u16 aid; 425 u16 aid;
398 u8 supported_rates_len; 426 u8 supported_rates_len;
399 u8 plink_action; 427 u8 plink_action;
428 u8 plink_state;
400 struct ieee80211_ht_cap *ht_capa; 429 struct ieee80211_ht_cap *ht_capa;
401}; 430};
402 431