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