Search Linux Wireless

Re: [PATCH 1/7] mt76x02: use mask for vifs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2019-01-28 12:16, Stanislaw Gruszka wrote:
> On Mon, Jan 28, 2019 at 10:02:01AM +0100, Stanislaw Gruszka wrote:
>> On Mon, Jan 28, 2019 at 09:41:45AM +0100, Felix Fietkau wrote:
>> > >> Moreover I am a little worried about tpt regressions with this patch.
>> > >> Are you sure that if you use complete different mac addresses on a multivif scenario
>> > >> you can get the same tpt on all the interfaces? Could you please provide some
>> > >> tpt results?
>> > > 
>> > > How exactly posted patch can cause tpt regression ?
>> > > 
>> > > Posted patch just add possibility to configure HW MAC address
>> > > by this:
>> > > 
>> > > iw dev wlan0 del
>> > > iw phy phy0 interface add wlan0 type managed addr 00:11:22:33:44:55
>> > > 
>> > > what is feature of mt76x2u. Patch just extend that possibly to other
>> > > mt76x02 devices and allow to remove custom mt76x2u add_interfacea
>> > > callback.
>> > The main part that could cause issues is that you're changing the way
>> > that the vif index is calculated. Without the patch, it's calculated
>> > from the MAC address in a way consistent with what the hardware expects.
>> > With the patch, it's just allocated from a mask.
>> > The vif index ends up being passed down to the hardware as a BSS index
>> > WCID attribute in mt76x02_mac_wcid_setup.
>> > We would have to run some tests with multiple AP interfaces, bringing up
>> > secondary interfaces in a different order to see if there are any
>> > regressions there if the BSS index no longer matches the MAC address
>> > based index.
>> 
>> Ok, that objection make sense.  I'll check that.
> 
> I'm not sure if I'm doing something wrong or current code is
> wrong. But when I configure multi bssid's is hostapd.conf like this:
> 
> 02:aa:bb:cc:dd:e0
> 06:aa:bb:cc:dd:e0
> 0a:aa:bb:cc:dd:e0
> 
> hostapd fail with "Too many bits in the BSSID mask" error . To make hostapd
> work, I have configure bssid's like this:
Do you have a bssid mask set? I don't think the current code does that.
Also, in OpenWrt, I didn't see any issue like that.

> 02:aa:bb:cc:dd:e0
> 02:aa:bb:cc:dd:e4
> 02:aa:bb:cc:dd:e8
> 
> But this ends up with the same index in mt76 for diffrent vif's. Seems like
> calculating of the index should be fixed by:
> 
>         if (vif->addr[0] & BIT(1))
>                 idx = 1 + (((dev->mt76.macaddr[5] ^ vif->addr[5]) >> 2) & 7);
This MAC adddress allocation scheme will cause problems if you have
multiple devices next to each other that have consecutive MAC addresses.

While it may sound unlikely, I do know people that encountered this
issue (though with QCA based hardware), and it took us quite a while to
figure out what was messing up their network ;)

- Felix



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux