2015-04-16 05:16:08

by Chun-Yeow Yeoh

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

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 <[email protected]>
---
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-17 11:21:33

by Johannes Berg

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

On Thu, 2015-04-16 at 17:53 +0800, Yeoh Chun-Yeow wrote:
> On Thu, Apr 16, 2015 at 5:24 PM, Johannes Berg
> <[email protected]> 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


2015-04-16 09:24:25

by Johannes Berg

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

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 :)


2015-04-16 09:53:29

by Chun-Yeow Yeoh

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

On Thu, Apr 16, 2015 at 5:24 PM, Johannes Berg
<[email protected]> 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