wpa_supplicant or authsae handles the mesh peering in user
space, but the plink state is still managed in kernel space.
Currently, there is no implementation by wpa_supplicant or
authsae to block the plink state after it is set to ESTAB.
By applying this patch, we can use the "iw mesh0 station set
<MAC address> plink_action block" to block the peer mesh STA.
This is useful for experimenting purposes.
Signed-off-by: Chun-Yeow Yeoh <[email protected]>
v2: respin the commit log (Johannes)
---
net/wireless/nl80211.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index dd78445..8a33bba 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -4061,7 +4061,8 @@ int cfg80211_check_station_change(struct wiphy *wiphy,
return -EINVAL;
break;
case CFG80211_STA_MESH_PEER_USER:
- if (params->plink_action != NL80211_PLINK_ACTION_NO_ACTION)
+ if (params->plink_action != NL80211_PLINK_ACTION_NO_ACTION &&
+ params->plink_action != NL80211_PLINK_ACTION_BLOCK)
return -EINVAL;
break;
}
--
2.3.0
On Sat, 2015-04-18 at 01:30 +0800, Chun-Yeow Yeoh wrote:
> wpa_supplicant or authsae handles the mesh peering in user
> space, but the plink state is still managed in kernel space.
> Currently, there is no implementation by wpa_supplicant or
> authsae to block the plink state after it is set to ESTAB.
>
> By applying this patch, we can use the "iw mesh0 station set
> <MAC address> plink_action block" to block the peer mesh STA.
> This is useful for experimenting purposes.
Applied.
johannes