cfg80211: clean up mesh plink station change API
Make the ability to leave the plink_state unchanged not use a magic -1 variable that isn't in the enum, but an explicit change flag; reject invalid plink states or actions and move the needed constants for plink actions to the right header file. Also reject plink_state changes for non-mesh interfaces. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
@@ -884,7 +884,8 @@ enum nl80211_commands {
|
||||
* consisting of a nested array.
|
||||
*
|
||||
* @NL80211_ATTR_MESH_ID: mesh id (1-32 bytes).
|
||||
* @NL80211_ATTR_STA_PLINK_ACTION: action to perform on the mesh peer link.
|
||||
* @NL80211_ATTR_STA_PLINK_ACTION: action to perform on the mesh peer link
|
||||
* (see &enum nl80211_plink_action).
|
||||
* @NL80211_ATTR_MPATH_NEXT_HOP: MAC address of the next hop for a mesh path.
|
||||
* @NL80211_ATTR_MPATH_INFO: information about a mesh_path, part of mesh path
|
||||
* info given for %NL80211_CMD_GET_MPATH, nested attribute described at
|
||||
@@ -3307,6 +3308,23 @@ enum nl80211_plink_state {
|
||||
MAX_NL80211_PLINK_STATES = NUM_NL80211_PLINK_STATES - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_plink_action - actions to perform in mesh peers
|
||||
*
|
||||
* @NL80211_PLINK_ACTION_NO_ACTION: perform no action
|
||||
* @NL80211_PLINK_ACTION_OPEN: start mesh peer link establishment
|
||||
* @NL80211_PLINK_ACTION_BLOCK: block traffic from this mesh peer
|
||||
* @NUM_NL80211_PLINK_ACTIONS: number of possible actions
|
||||
*/
|
||||
enum plink_actions {
|
||||
NL80211_PLINK_ACTION_NO_ACTION,
|
||||
NL80211_PLINK_ACTION_OPEN,
|
||||
NL80211_PLINK_ACTION_BLOCK,
|
||||
|
||||
NUM_NL80211_PLINK_ACTIONS,
|
||||
};
|
||||
|
||||
|
||||
#define NL80211_KCK_LEN 16
|
||||
#define NL80211_KEK_LEN 16
|
||||
#define NL80211_REPLAY_CTR_LEN 8
|
||||
|
Reference in New Issue
Block a user