Search Linux Wireless

Re: [PATCH v5] mac80211: implement multi-vif in-place reservations

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

 



On Wed, 2014-05-07 at 13:19 +0200, Michal Kazior wrote:
> On 7 May 2014 13:09, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote:
> > On Wed, 2014-05-07 at 12:38 +0200, Michal Kazior wrote:
> >
> >> I was actually thinking of just providing the bare minimum to fulfill
> >> requirements for the CSA case: int foo(*hw, **vifs, n_vifs, *oldctx,
> >> *newctx, flags).
> >>
> >> Having an array of transactions passed through a single call seems
> >> more robust and cleaner. Naiive drivers might just iterate over each
> >> entry while more complex drivers might examine the whole request and
> >> detect chanctx swapping.
> >
> > Not sure what you mean by "detect chanctx swapping" - the flags would
> > indicate that anyway, no? In any case, I like this better than a more
> > general transaction API I think, it's easier for the driver
> > implementation and clearer as to what needs to be done/supported.
> 
> You could submit a transaction sequence:
>  - new chanctx2
>  - switch vif1 chanctx1->chanctx2
>  - switch vif2 chanctx1->chanctx2
>  - remove chanctx1

Well, you don't really have any other choice with the API you proposed,
and IMHO that's a good thing. The only possibilities that can be
expressed with that would seem to be:

 1) for_each_vif: switch vif from oldctx to newctx
 2) add newctx
    for_each_vif: switch vif from oldctx to newctx
    del oldctx

With the option between 1/2 being selected by the flags. I don't see
what the driver has to infer about it being a channel switch - it
necessarily is one, no?

johannes

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




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

  Powered by Linux