diff mbox

[v2] cfg80211: allow the plink state blocking for user managed mesh

Message ID 1429291802-14168-1-git-send-email-yeohchunyeow@gmail.com (mailing list archive)
State Accepted
Delegated to: Johannes Berg
Headers show

Commit Message

Chun-Yeow Yeoh April 17, 2015, 5:30 p.m. UTC
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 <yeohchunyeow@gmail.com>

v2: respin the commit log (Johannes)
---
 net/wireless/nl80211.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Johannes Berg April 24, 2015, 10:23 a.m. UTC | #1
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

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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;
 	}