linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ben Greear <greearb@candelatech.com>
To: Johannes Berg <johannes@sipsolutions.net>,
	linux-wireless@vger.kernel.org
Subject: Re: [PATCH-v2 1/2] mac80211: Take bitrates into account when building IEs.
Date: Thu, 18 Feb 2016 12:59:35 -0800	[thread overview]
Message-ID: <56C630B7.7020604@candelatech.com> (raw)
In-Reply-To: <1455828330.2084.38.camel@sipsolutions.net>

On 02/18/2016 12:45 PM, Johannes Berg wrote:
> On Thu, 2016-02-18 at 12:40 -0800, Ben Greear wrote:
>
>>> 1) sdata->sband[5GHZ].vht = wiphy->sband[5GHZ].vht & user-config
>>>      (semantically, not implementation of course)
>>> 2) sdata->sband[5GHZ].vht = wiphy->sband[5GHZ].vht
>
>> I think option 1 might be better.  For option 2, I'd be worried about
>> someone changing the wiphy somehow and vdevs getting out of sync.
>
> Huh? I'm confused. Those two options above weren't meant as options,
> they were meant as two sides of an "if (have-user-config)" branch :)

Oh.  In that case, what if this happens:

wiphy created and init
vdev created, vht copied from wiphy
....
wiphy vht info changes?  Can this ever happen?  I'm thinking maybe when
  a user uses 'iw' to set the rx/rx chainmask on a phy?  Possibly nasty
debugfs hacks that have worked so far?

I wouldn't want to try to re-propagate that to already-created vdevs.

So, I think it should be more like:

if (vdata->have-user-config) {
   return sdata->user_config_vht & sdata->wiphy->vht;
}
else {
   return sdata->wiphy->vht;
}

Point of the above 'code' is that we do not want to ever have duplicate
state (ie, a copy of wiphy->vht in sdata->vht, because then they can get out
of sync.  But, we can have a set of over-ride data in sdata, and since we logically
AND that with wiphy data, then we should never exceed the capabilities of either
sdata or wiphy.

That make sense?

>
>> Any opinions on the lifetime for the sdata->sband_user_config data?
>>
>> For instance, could be cleared when station dis-associates,
>> or we could make it persist until changed or until vdev goes away?
>
> Should probably persist.

That is fine with me, would make supplicant patches easier than my method,
probably.

>
>> And, while this would take care of some of the issues (3x3 vs 2x2?),
>> it still wouldn't let someone have full control over the advertised
>> rates vs configured-rates and such, would it?
>
> Why not? The sband also contains the rates list. I was just using VHT
> as an example.

Ok, the details of mac80211 have leaked out of my skull since the start
of this thread...I'll see if I can make a stab at implementing this
proposal.  But, likely it will be a bit, as I'm swamped with other things
at the moment.  If someone else is interested in trying this,
then of course be my guest!

Thanks,
Ben


-- 
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com


  reply	other threads:[~2016-02-18 20:59 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-20 17:24 [PATCH-v2 1/2] mac80211: Take bitrates into account when building IEs greearb
2015-10-20 17:24 ` [PATCH-v2 2/2] mac80211: ensure association req uses configured ratemask greearb
2016-01-26 11:18   ` Johannes Berg
2015-11-05 18:47 ` [PATCH-v2 1/2] mac80211: Take bitrates into account when building IEs Ben Greear
2015-11-05 19:04   ` Johannes Berg
2016-01-26 11:16 ` Johannes Berg
2016-01-26 15:19   ` Ben Greear
2016-02-04  9:02     ` Johannes Berg
2016-02-04 17:52       ` Ben Greear
2016-02-18 20:32         ` Johannes Berg
2016-02-18 20:40           ` Ben Greear
2016-02-18 20:45             ` Johannes Berg
2016-02-18 20:59               ` Ben Greear [this message]
2016-02-18 21:14                 ` Johannes Berg
2016-02-18 21:54                   ` Ben Greear
2016-02-23 11:06                     ` Johannes Berg
2016-03-10 17:56                       ` Ben Greear
2016-03-15 14:15                         ` Johannes Berg
2016-03-15 16:10                           ` Ben Greear
2016-03-15 20:20                             ` Johannes Berg
2016-06-10 18:43                               ` Ben Greear
2016-06-21  9:40                                 ` Johannes Berg
2016-06-21 14:19                                   ` Ben Greear
2016-03-15 14:17                         ` Johannes Berg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56C630B7.7020604@candelatech.com \
    --to=greearb@candelatech.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).