mesh: Rename MPM FSM states to match the standard
During the P802.11s draft development, there were separate LISTEN and IDLE states. However, the current IEEE 802.11 standards uses only the IDLE state while the implementation called this LISTEN. Rename the state in the implementation to match the one used in the standard to avoid confusion. In addition, rename OPEN_{SENT,RCVD} to OPN_{SNT,RCVD} to match the exact spelling of these states in the standard. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
1f2f3f1c4a
commit
d02e549831
3 changed files with 23 additions and 23 deletions
|
@ -320,13 +320,13 @@ enum wpa_ctrl_req_type {
|
|||
#define EAP_MAX_METHODS 8
|
||||
|
||||
enum mesh_plink_state {
|
||||
PLINK_LISTEN = 1,
|
||||
PLINK_OPEN_SENT,
|
||||
PLINK_OPEN_RCVD,
|
||||
PLINK_IDLE = 1,
|
||||
PLINK_OPN_SNT,
|
||||
PLINK_OPN_RCVD,
|
||||
PLINK_CNF_RCVD,
|
||||
PLINK_ESTAB,
|
||||
PLINK_HOLDING,
|
||||
PLINK_BLOCKED,
|
||||
PLINK_BLOCKED, /* not defined in the IEEE 802.11 standard */
|
||||
};
|
||||
|
||||
enum set_band {
|
||||
|
|
|
@ -3839,11 +3839,11 @@ static u32 sta_flags_nl80211(int flags)
|
|||
static u32 sta_plink_state_nl80211(enum mesh_plink_state state)
|
||||
{
|
||||
switch (state) {
|
||||
case PLINK_LISTEN:
|
||||
case PLINK_IDLE:
|
||||
return NL80211_PLINK_LISTEN;
|
||||
case PLINK_OPEN_SENT:
|
||||
case PLINK_OPN_SNT:
|
||||
return NL80211_PLINK_OPN_SNT;
|
||||
case PLINK_OPEN_RCVD:
|
||||
case PLINK_OPN_RCVD:
|
||||
return NL80211_PLINK_OPN_RCVD;
|
||||
case PLINK_CNF_RCVD:
|
||||
return NL80211_PLINK_CNF_RCVD;
|
||||
|
|
|
@ -45,9 +45,9 @@ enum plink_event {
|
|||
|
||||
static const char * const mplstate[] = {
|
||||
[0] = "UNINITIALIZED",
|
||||
[PLINK_LISTEN] = "LISTEN",
|
||||
[PLINK_OPEN_SENT] = "OPEN_SENT",
|
||||
[PLINK_OPEN_RCVD] = "OPEN_RCVD",
|
||||
[PLINK_IDLE] = "IDLE",
|
||||
[PLINK_OPN_SNT] = "OPN_SNT",
|
||||
[PLINK_OPN_RCVD] = "OPN_RCVD",
|
||||
[PLINK_CNF_RCVD] = "CNF_RCVD",
|
||||
[PLINK_ESTAB] = "ESTAB",
|
||||
[PLINK_HOLDING] = "HOLDING",
|
||||
|
@ -200,7 +200,7 @@ static void mesh_mpm_init_link(struct wpa_supplicant *wpa_s,
|
|||
* We do not use wpa_mesh_set_plink_state() here because there is no
|
||||
* entry in kernel yet.
|
||||
*/
|
||||
sta->plink_state = PLINK_LISTEN;
|
||||
sta->plink_state = PLINK_IDLE;
|
||||
}
|
||||
|
||||
|
||||
|
@ -424,8 +424,8 @@ static void plink_timer(void *eloop_ctx, void *user_data)
|
|||
struct hostapd_data *hapd = wpa_s->ifmsh->bss[0];
|
||||
|
||||
switch (sta->plink_state) {
|
||||
case PLINK_OPEN_RCVD:
|
||||
case PLINK_OPEN_SENT:
|
||||
case PLINK_OPN_RCVD:
|
||||
case PLINK_OPN_SNT:
|
||||
/* retry timer */
|
||||
if (sta->mpm_retries < conf->dot11MeshMaxRetries) {
|
||||
eloop_register_timeout(
|
||||
|
@ -559,7 +559,7 @@ int mesh_mpm_connect_peer(struct wpa_supplicant *wpa_s, const u8 *addr,
|
|||
return -1;
|
||||
}
|
||||
|
||||
if ((PLINK_OPEN_SENT <= sta->plink_state &&
|
||||
if ((PLINK_OPN_SNT <= sta->plink_state &&
|
||||
sta->plink_state <= PLINK_ESTAB) ||
|
||||
(sta->sae && sta->sae->state > SAE_NOTHING)) {
|
||||
wpa_msg(wpa_s, MSG_INFO,
|
||||
|
@ -568,7 +568,7 @@ int mesh_mpm_connect_peer(struct wpa_supplicant *wpa_s, const u8 *addr,
|
|||
}
|
||||
|
||||
if (conf->security == MESH_CONF_SEC_NONE) {
|
||||
mesh_mpm_plink_open(wpa_s, sta, PLINK_OPEN_SENT);
|
||||
mesh_mpm_plink_open(wpa_s, sta, PLINK_OPN_SNT);
|
||||
} else {
|
||||
mesh_rsn_auth_sae_sta(wpa_s, sta);
|
||||
os_memcpy(hapd->mesh_required_peer, addr, ETH_ALEN);
|
||||
|
@ -631,7 +631,7 @@ void mesh_mpm_auth_peer(struct wpa_supplicant *wpa_s, const u8 *addr)
|
|||
if (!sta->my_lid)
|
||||
mesh_mpm_init_link(wpa_s, sta);
|
||||
|
||||
mesh_mpm_plink_open(wpa_s, sta, PLINK_OPEN_SENT);
|
||||
mesh_mpm_plink_open(wpa_s, sta, PLINK_OPN_SNT);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -770,9 +770,9 @@ void wpa_mesh_new_mesh_peer(struct wpa_supplicant *wpa_s, const u8 *addr,
|
|||
}
|
||||
|
||||
if (conf->security == MESH_CONF_SEC_NONE) {
|
||||
if (sta->plink_state < PLINK_OPEN_SENT ||
|
||||
if (sta->plink_state < PLINK_OPN_SNT ||
|
||||
sta->plink_state > PLINK_ESTAB)
|
||||
mesh_mpm_plink_open(wpa_s, sta, PLINK_OPEN_SENT);
|
||||
mesh_mpm_plink_open(wpa_s, sta, PLINK_OPN_SNT);
|
||||
} else {
|
||||
mesh_rsn_auth_sae_sta(wpa_s, sta);
|
||||
}
|
||||
|
@ -858,13 +858,13 @@ static void mesh_mpm_fsm(struct wpa_supplicant *wpa_s, struct sta_info *sta,
|
|||
mplevent[event]);
|
||||
|
||||
switch (sta->plink_state) {
|
||||
case PLINK_LISTEN:
|
||||
case PLINK_IDLE:
|
||||
switch (event) {
|
||||
case CLS_ACPT:
|
||||
mesh_mpm_fsm_restart(wpa_s, sta);
|
||||
break;
|
||||
case OPN_ACPT:
|
||||
mesh_mpm_plink_open(wpa_s, sta, PLINK_OPEN_RCVD);
|
||||
mesh_mpm_plink_open(wpa_s, sta, PLINK_OPN_RCVD);
|
||||
mesh_mpm_send_plink_action(wpa_s, sta, PLINK_CONFIRM,
|
||||
0);
|
||||
break;
|
||||
|
@ -872,7 +872,7 @@ static void mesh_mpm_fsm(struct wpa_supplicant *wpa_s, struct sta_info *sta,
|
|||
break;
|
||||
}
|
||||
break;
|
||||
case PLINK_OPEN_SENT:
|
||||
case PLINK_OPN_SNT:
|
||||
switch (event) {
|
||||
case OPN_RJCT:
|
||||
case CNF_RJCT:
|
||||
|
@ -891,7 +891,7 @@ static void mesh_mpm_fsm(struct wpa_supplicant *wpa_s, struct sta_info *sta,
|
|||
break;
|
||||
case OPN_ACPT:
|
||||
/* retry timer is left untouched */
|
||||
wpa_mesh_set_plink_state(wpa_s, sta, PLINK_OPEN_RCVD);
|
||||
wpa_mesh_set_plink_state(wpa_s, sta, PLINK_OPN_RCVD);
|
||||
mesh_mpm_send_plink_action(wpa_s, sta,
|
||||
PLINK_CONFIRM, 0);
|
||||
break;
|
||||
|
@ -907,7 +907,7 @@ static void mesh_mpm_fsm(struct wpa_supplicant *wpa_s, struct sta_info *sta,
|
|||
break;
|
||||
}
|
||||
break;
|
||||
case PLINK_OPEN_RCVD:
|
||||
case PLINK_OPN_RCVD:
|
||||
switch (event) {
|
||||
case OPN_RJCT:
|
||||
case CNF_RJCT:
|
||||
|
|
Loading…
Reference in a new issue