diff mbox series

mac80211: allow station search on AP/VLANs

Message ID 1532931620-3161-1-git-send-email-mpubbise@codeaurora.org (mailing list archive)
State Rejected
Delegated to: Johannes Berg
Headers show
Series mac80211: allow station search on AP/VLANs | expand

Commit Message

Manikanta Pubbisetty July 30, 2018, 6:20 a.m. UTC
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 <mpubbise@codeaurora.org>
---
 net/mac80211/rx.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Johannes Berg Aug. 14, 2018, 11:28 a.m. UTC | #1
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
Manikanta Pubbisetty Aug. 14, 2018, 11:52 a.m. UTC | #2
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
Johannes Berg Aug. 14, 2018, 11:53 a.m. UTC | #3
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
Manikanta Pubbisetty Aug. 14, 2018, 12:13 p.m. UTC | #4
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
diff mbox series

Patch

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;
 
 		/*