2015-04-17 17:30:21

by Chun-Yeow Yeoh

[permalink] [raw]
Subject: [PATCH v2] cfg80211: allow the plink state blocking for user managed mesh

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



2015-04-24 10:23:14

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH v2] cfg80211: allow the plink state blocking for user managed mesh

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