* [PATCH] allow AP interfaces to handle BACK action frames
@ 2008-10-08 23:18 Andrey Yurovsky
2008-10-09 4:29 ` Kalle Valo
2008-10-09 9:56 ` Johannes Berg
0 siblings, 2 replies; 6+ messages in thread
From: Andrey Yurovsky @ 2008-10-08 23:18 UTC (permalink / raw)
To: linux-wireless
Add AP mode to the allowed interface check in ieee80211_rx_h_action. This
function handles BACK action frames such as ADDBA and AP interfaces need to
receive those.
Signed-off-by: Andrey Yurovsky <andrey@cozybit.com>
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index 080b0ce..fe406f5 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -1553,7 +1553,8 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx)
* of these frames in other modes as well!
*/
if (sdata->vif.type != NL80211_IFTYPE_STATION &&
- sdata->vif.type != NL80211_IFTYPE_ADHOC)
+ sdata->vif.type != NL80211_IFTYPE_ADHOC &&
+ sdata->vif.type != NL80211_IFTYPE_AP)
return RX_CONTINUE;
switch (mgmt->u.action.category) {
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] allow AP interfaces to handle BACK action frames
2008-10-08 23:18 [PATCH] allow AP interfaces to handle BACK action frames Andrey Yurovsky
@ 2008-10-09 4:29 ` Kalle Valo
2008-10-09 9:56 ` Johannes Berg
1 sibling, 0 replies; 6+ messages in thread
From: Kalle Valo @ 2008-10-09 4:29 UTC (permalink / raw)
To: Andrey Yurovsky; +Cc: linux-wireless
Andrey Yurovsky <andrey@cozybit.com> writes:
> Add AP mode to the allowed interface check in ieee80211_rx_h_action. This
> function handles BACK action frames such as ADDBA and AP interfaces need to
> receive those.
You forgot mac80211 from the subject, it should be something like
this:
[PATCH] mac80211: allow AP interfaces to handle BACK action frames
--
Kalle Valo
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] allow AP interfaces to handle BACK action frames
2008-10-08 23:18 [PATCH] allow AP interfaces to handle BACK action frames Andrey Yurovsky
2008-10-09 4:29 ` Kalle Valo
@ 2008-10-09 9:56 ` Johannes Berg
2008-10-09 17:38 ` Andrey Yurovsky
1 sibling, 1 reply; 6+ messages in thread
From: Johannes Berg @ 2008-10-09 9:56 UTC (permalink / raw)
To: Andrey Yurovsky; +Cc: linux-wireless
[-- Attachment #1: Type: text/plain, Size: 1257 bytes --]
On Wed, 2008-10-08 at 16:18 -0700, Andrey Yurovsky wrote:
> Add AP mode to the allowed interface check in ieee80211_rx_h_action. This
> function handles BACK action frames such as ADDBA and AP interfaces need to
> receive those.
>
> Signed-off-by: Andrey Yurovsky <andrey@cozybit.com>
Fine with me, but I think you need to allow VLAN too? Also, how about
simply removing this check? Can anything bad happen when we try this in
an IBSS or on WDS or on MESH?
johannes
> diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
> index 080b0ce..fe406f5 100644
> --- a/net/mac80211/rx.c
> +++ b/net/mac80211/rx.c
> @@ -1553,7 +1553,8 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx)
> * of these frames in other modes as well!
> */
> if (sdata->vif.type != NL80211_IFTYPE_STATION &&
> - sdata->vif.type != NL80211_IFTYPE_ADHOC)
> + sdata->vif.type != NL80211_IFTYPE_ADHOC &&
> + sdata->vif.type != NL80211_IFTYPE_AP)
> return RX_CONTINUE;
>
> switch (mgmt->u.action.category) {
>
>
> --
> 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
>
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] allow AP interfaces to handle BACK action frames
2008-10-09 9:56 ` Johannes Berg
@ 2008-10-09 17:38 ` Andrey Yurovsky
2008-10-09 17:47 ` Andrey Yurovsky
2008-10-10 9:16 ` Johannes Berg
0 siblings, 2 replies; 6+ messages in thread
From: Andrey Yurovsky @ 2008-10-09 17:38 UTC (permalink / raw)
To: Johannes Berg; +Cc: linux-wireless
As I understand it, despite the "h" in ieee80211_rx_h_action, it
filters both BACK (802.11e and required for 802.11n) and spectrum
management (802.11h) action frames. I suppose that the entire check
isn't really necessary. I don't know much about the
WLAN_ACTION_SPCT_MSR_REQ frame but as far as the BACK frames, there
shouldn't be any harm with passing them to the driver for any of the
interface types. Should I resubmit this as removing the check
entirely? Should there perhaps be separate functions for the 11e and
11h action frames?
Additionally, with the check the way it currently is, an AP interface
(for example) will respond to an ADDBA frame with something strange
(action code 0x83 for starters, and the rest of the action frame
doesn't make sense), at least with iwlagn. It seems that if the check
fails and we don't pass the frame to the driver, something weird still
happens (otherwise, for iwlagn at least, the right thing happens). I
haven't had a chance to see if other drivers / interfaces do that.
Thanks,
On Thu, Oct 9, 2008 at 2:56 AM, Johannes Berg <johannes@sipsolutions.net> wrote:
> On Wed, 2008-10-08 at 16:18 -0700, Andrey Yurovsky wrote:
>> Add AP mode to the allowed interface check in ieee80211_rx_h_action. This
>> function handles BACK action frames such as ADDBA and AP interfaces need to
>> receive those.
>>
>> Signed-off-by: Andrey Yurovsky <andrey@cozybit.com>
>
> Fine with me, but I think you need to allow VLAN too? Also, how about
> simply removing this check? Can anything bad happen when we try this in
> an IBSS or on WDS or on MESH?
>
> johannes
>
>> diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
>> index 080b0ce..fe406f5 100644
>> --- a/net/mac80211/rx.c
>> +++ b/net/mac80211/rx.c
>> @@ -1553,7 +1553,8 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx)
>> * of these frames in other modes as well!
>> */
>> if (sdata->vif.type != NL80211_IFTYPE_STATION &&
>> - sdata->vif.type != NL80211_IFTYPE_ADHOC)
>> + sdata->vif.type != NL80211_IFTYPE_ADHOC &&
>> + sdata->vif.type != NL80211_IFTYPE_AP)
>> return RX_CONTINUE;
>>
>> switch (mgmt->u.action.category) {
>>
>>
>> --
>> 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
>>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] allow AP interfaces to handle BACK action frames
2008-10-09 17:38 ` Andrey Yurovsky
@ 2008-10-09 17:47 ` Andrey Yurovsky
2008-10-10 9:16 ` Johannes Berg
1 sibling, 0 replies; 6+ messages in thread
From: Andrey Yurovsky @ 2008-10-09 17:47 UTC (permalink / raw)
To: Johannes Berg; +Cc: linux-wireless
oops, I meant "don't call a handler for the frame", not "don't pass
the frame to the driver", sorry.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] allow AP interfaces to handle BACK action frames
2008-10-09 17:38 ` Andrey Yurovsky
2008-10-09 17:47 ` Andrey Yurovsky
@ 2008-10-10 9:16 ` Johannes Berg
1 sibling, 0 replies; 6+ messages in thread
From: Johannes Berg @ 2008-10-10 9:16 UTC (permalink / raw)
To: Andrey Yurovsky; +Cc: linux-wireless, Tomas Winkler
[-- Attachment #1: Type: text/plain, Size: 1366 bytes --]
On Thu, 2008-10-09 at 10:38 -0700, Andrey Yurovsky wrote:
> As I understand it, despite the "h" in ieee80211_rx_h_action,
Heh. That is part of _rx_h which stands for RX handler :)
> it
> filters both BACK (802.11e and required for 802.11n) and spectrum
> management (802.11h) action frames. I suppose that the entire check
> isn't really necessary. I don't know much about the
> WLAN_ACTION_SPCT_MSR_REQ frame but as far as the BACK frames, there
> shouldn't be any harm with passing them to the driver for any of the
> interface types. Should I resubmit this as removing the check
> entirely?
I think so.
> Should there perhaps be separate functions for the 11e and
> 11h action frames?
Possible, although right now we only handle measurement requests by
rejecting them...
> Additionally, with the check the way it currently is, an AP interface
> (for example) will respond to an ADDBA frame with something strange
> (action code 0x83 for starters, and the rest of the action frame
> doesn't make sense), at least with iwlagn. It seems that if the check
> fails and we don't pass the frame to the driver, something weird still
> happens (otherwise, for iwlagn at least, the right thing happens). I
> haven't had a chance to see if other drivers / interfaces do that.
Do we know where that frame comes from?
johannes
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2008-10-10 9:16 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-08 23:18 [PATCH] allow AP interfaces to handle BACK action frames Andrey Yurovsky
2008-10-09 4:29 ` Kalle Valo
2008-10-09 9:56 ` Johannes Berg
2008-10-09 17:38 ` Andrey Yurovsky
2008-10-09 17:47 ` Andrey Yurovsky
2008-10-10 9:16 ` Johannes Berg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).