2018-07-30 07:53:56

by Manikanta Pubbisetty

[permalink] [raw]
Subject: [PATCH] mac80211: allow station search on AP/VLANs

When mac80211 receives a packet, we interate over the list of
active interfaces to find the station(which transmitted the packet).
Currently, station search is not allowed on AP/VLAN interface; since
stations can also get mapped to AP/VLAN interfaces, they are worth
considering for station search.

Found this during code review; just a theoritical fix.

Signed-off-by: Manikanta Pubbisetty <[email protected]>
---
net/mac80211/rx.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index a16ba56..e3fbed1 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -4391,8 +4391,7 @@ static void __ieee80211_rx_handle_packet(struct ieee80211_hw *hw,
if (!ieee80211_sdata_running(sdata))
continue;

- if (sdata->vif.type == NL80211_IFTYPE_MONITOR ||
- sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
+ if (sdata->vif.type == NL80211_IFTYPE_MONITOR)
continue;

/*
--
2.7.4


2018-08-14 15:00:04

by Manikanta Pubbisetty

[permalink] [raw]
Subject: Re: [PATCH] mac80211: allow station search on AP/VLANs



On 8/14/2018 5:23 PM, Johannes Berg wrote:
> On Tue, 2018-08-14 at 17:22 +0530, Manikanta Pubbisetty wrote:
>> On 8/14/2018 4:58 PM, Johannes Berg wrote:
>>
>>> On Mon, 2018-07-30 at 11:50 +0530, Manikanta Pubbisetty wrote:
>>>> When mac80211 receives a packet, we interate over the list of
>>>> active interfaces to find the station(which transmitted the packet).
>>>> Currently, station search is not allowed on AP/VLAN interface; since
>>>> stations can also get mapped to AP/VLAN interfaces, they are worth
>>>> considering for station search.
>>> I don't see how this makes sense. We use sta_info_get_bss() later, so
>>> any AP/AP_VLAN would be OK, so we don't need to try it twice for
>>> AP_VLAN?
>> AP/VLANs are skipped currently, we don't even get to sta_info_get_bss()
>> if the iftype is AP/VLAN. No?
> Yes, we won't try anything for the AP_VLANs, but when we hit the AP we
> look up through everything, no?

I think it does, it gets the correct station information when AP iftype
is hit.
Makes sense, we can drop this patch.

Manikanta

2018-08-14 14:41:35

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH] mac80211: allow station search on AP/VLANs

On Tue, 2018-08-14 at 17:22 +0530, Manikanta Pubbisetty wrote:
> On 8/14/2018 4:58 PM, Johannes Berg wrote:
>
> > On Mon, 2018-07-30 at 11:50 +0530, Manikanta Pubbisetty wrote:
> > > When mac80211 receives a packet, we interate over the list of
> > > active interfaces to find the station(which transmitted the packet).
> > > Currently, station search is not allowed on AP/VLAN interface; since
> > > stations can also get mapped to AP/VLAN interfaces, they are worth
> > > considering for station search.
> >
> > I don't see how this makes sense. We use sta_info_get_bss() later, so
> > any AP/AP_VLAN would be OK, so we don't need to try it twice for
> > AP_VLAN?
>
> AP/VLANs are skipped currently, we don't even get to sta_info_get_bss()
> if the iftype is AP/VLAN. No?

Yes, we won't try anything for the AP_VLANs, but when we hit the AP we
look up through everything, no?

Or maybe not - the _bss() just means fallback to AP?

Hmm. But even then I can't really see where this would apply?

johannes

2018-08-14 14:39:19

by Manikanta Pubbisetty

[permalink] [raw]
Subject: Re: [PATCH] mac80211: allow station search on AP/VLANs

On 8/14/2018 4:58 PM, Johannes Berg wrote:

> On Mon, 2018-07-30 at 11:50 +0530, Manikanta Pubbisetty wrote:
>> When mac80211 receives a packet, we interate over the list of
>> active interfaces to find the station(which transmitted the packet).
>> Currently, station search is not allowed on AP/VLAN interface; since
>> stations can also get mapped to AP/VLAN interfaces, they are worth
>> considering for station search.
> I don't see how this makes sense. We use sta_info_get_bss() later, so
> any AP/AP_VLAN would be OK, so we don't need to try it twice for
> AP_VLAN?

AP/VLANs are skipped currently, we don't even get to sta_info_get_bss()
if the iftype is AP/VLAN. No?

Manikanta

2018-08-14 14:16:08

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH] mac80211: allow station search on AP/VLANs

On Mon, 2018-07-30 at 11:50 +0530, Manikanta Pubbisetty wrote:
> When mac80211 receives a packet, we interate over the list of
> active interfaces to find the station(which transmitted the packet).
> Currently, station search is not allowed on AP/VLAN interface; since
> stations can also get mapped to AP/VLAN interfaces, they are worth
> considering for station search.

I don't see how this makes sense. We use sta_info_get_bss() later, so
any AP/AP_VLAN would be OK, so we don't need to try it twice for
AP_VLAN?

johannes