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

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

Regards
Stanislaw



[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