|
@@ -371,6 +371,33 @@ enum plink_actions {
|
|
|
PLINK_ACTION_BLOCK,
|
|
|
};
|
|
|
|
|
|
+/**
|
|
|
+ * enum plink_states - state of a mesh peer link finite state machine
|
|
|
+ *
|
|
|
+ * @PLINK_LISTEN: initial state, considered the implicit state of non
|
|
|
+ * existant mesh peer links
|
|
|
+ * @PLINK_OPN_SNT: mesh plink open frame has been sent to this mesh
|
|
|
+ * peer @PLINK_OPN_RCVD: mesh plink open frame has been received from
|
|
|
+ * this mesh peer
|
|
|
+ * @PLINK_CNF_RCVD: mesh plink confirm frame has been received from
|
|
|
+ * this mesh peer
|
|
|
+ * @PLINK_ESTAB: mesh peer link is established
|
|
|
+ * @PLINK_HOLDING: mesh peer link is being closed or cancelled
|
|
|
+ * @PLINK_BLOCKED: all frames transmitted from this mesh plink are
|
|
|
+ * discarded
|
|
|
+ * @PLINK_INVALID: reserved
|
|
|
+ */
|
|
|
+enum plink_state {
|
|
|
+ PLINK_LISTEN,
|
|
|
+ PLINK_OPN_SNT,
|
|
|
+ PLINK_OPN_RCVD,
|
|
|
+ PLINK_CNF_RCVD,
|
|
|
+ PLINK_ESTAB,
|
|
|
+ PLINK_HOLDING,
|
|
|
+ PLINK_BLOCKED,
|
|
|
+ PLINK_INVALID,
|
|
|
+};
|
|
|
+
|
|
|
/**
|
|
|
* struct station_parameters - station parameters
|
|
|
*
|
|
@@ -387,6 +414,7 @@ enum plink_actions {
|
|
|
* @listen_interval: listen interval or -1 for no change
|
|
|
* @aid: AID or zero for no change
|
|
|
* @plink_action: plink action to take
|
|
|
+ * @plink_state: set the peer link state for a station
|
|
|
* @ht_capa: HT capabilities of station
|
|
|
*/
|
|
|
struct station_parameters {
|
|
@@ -397,6 +425,7 @@ struct station_parameters {
|
|
|
u16 aid;
|
|
|
u8 supported_rates_len;
|
|
|
u8 plink_action;
|
|
|
+ u8 plink_state;
|
|
|
struct ieee80211_ht_cap *ht_capa;
|
|
|
};
|
|
|
|