diff mbox

cfg80211: allow the plink state blocking for user managed mesh

Message ID 1429161337-32680-1-git-send-email-yeohchunyeow@gmail.com (mailing list archive)
State Changes Requested
Delegated to: Johannes Berg
Headers show

Commit Message

Chun-Yeow Yeoh April 16, 2015, 5:15 a.m. UTC
User managed peering has no way to block the plink state
for mesh peering setup by wpa_supp or authsae. Try to do
allow this in kernel space, so that we can use iw utility
to do that.

Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@gmail.com>
---
 net/wireless/nl80211.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Johannes Berg April 16, 2015, 9:24 a.m. UTC | #1
On Thu, 2015-04-16 at 13:15 +0800, Chun-Yeow Yeoh wrote:
> User managed peering has no way to block the plink state
> for mesh peering setup by wpa_supp or authsae. Try to do
> allow this in kernel space, so that we can use iw utility
> to do that.

I have no idea what you're trying to say here.

johannes

PS: don't CC John any more :)

--
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
Chun-Yeow Yeoh April 16, 2015, 9:53 a.m. UTC | #2
On Thu, Apr 16, 2015 at 5:24 PM, Johannes Berg
<johannes@sipsolutions.net> wrote:
> On Thu, 2015-04-16 at 13:15 +0800, Chun-Yeow Yeoh wrote:
>> User managed peering has no way to block the plink state
>> for mesh peering setup by wpa_supp or authsae. Try to do
>> allow this in kernel space, so that we can use iw utility
>> to do that.
>
> I have no idea what you're trying to say here.
>

wpa_supplicant and authsae allows us to do mesh peering in user space,
but the plink state is still managed in kernel space.

But AFAIK, there is no implementation by wpa_supplicant or authsae to
block the plink state.

By applying this patch, we can use the "iw mesh0 station set
xx:xx:xx:xx:xx:xx plink_action block" to block the peer mesh STA. This
is useful for experimenting purposes.

> johannes
>
> PS: don't CC John any more :)
>

Oops, ok.

----
Chun-Yeow
--
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
Johannes Berg April 17, 2015, 11:21 a.m. UTC | #3
On Thu, 2015-04-16 at 17:53 +0800, Yeoh Chun-Yeow wrote:
> On Thu, Apr 16, 2015 at 5:24 PM, Johannes Berg
> <johannes@sipsolutions.net> wrote:
> > On Thu, 2015-04-16 at 13:15 +0800, Chun-Yeow Yeoh wrote:
> >> User managed peering has no way to block the plink state
> >> for mesh peering setup by wpa_supp or authsae. Try to do
> >> allow this in kernel space, so that we can use iw utility
> >> to do that.
> >
> > I have no idea what you're trying to say here.
> >
> 
> wpa_supplicant and authsae allows us to do mesh peering in user space,
> but the plink state is still managed in kernel space.
> 
> But AFAIK, there is no implementation by wpa_supplicant or authsae to
> block the plink state.
> 
> By applying this patch, we can use the "iw mesh0 station set
> xx:xx:xx:xx:xx:xx plink_action block" to block the peer mesh STA. This
> is useful for experimenting purposes.

Can you please respin with a bit more detail in the commit log?

Thanks.

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