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 14:27 +0200, Michal Kazior wrote:
> On 7 May 2014 14:13, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote:
> > On Wed, 2014-05-07 at 15:08 +0300, Luca Coelho wrote:
> >
> >> I was thinking about the case where you you need to involve 3 contexts.
> >> Let's say you have 2 vifs in the same context and after the switch you
> >> need to split them into 2 new ones (for instance, if there is some
> >> incompatibility in the new chandefs).
> >>
> >> With the generic transactions you could do:
> >>  - new chanctx2
> >>  - new chanctx3
> >>  - switch vif1 chanctx1->chanctx2
> >>  - switch vif2 chanctx1->chanctx3
> >>  - del chanctx1
> >
> > This isn't an interesting case, because it means you have a spare, so
> > you might as well do
> >
> >  new chanctx3
> >  switch vif2 chanctx1->chanctx3
> >  switch_transaction(chanctx1, chanctx2, vif1)
> 
> Don't you mean switch_chandef(chanctx1, chandef)? Or do you assume
> chanctx2 was prepared earlier? Don't you need to remove chanctx1 then?
> Oh, and the chanctx overcommit.. :-)

I'm assuming "switch_transaction" is the API I proposed, except maybe
modified to have multiple vifs.

> I actually think Luca's example is a valid one as it shows the driver
> can freely handle things internally, no? Although I don't see when it
> would be required to make a transaction like that in real-world..

Yeah but do we want to make the API that complex? I don't see how Luca's
example doesn't degenerate to the simpler APIs + the new "switch
multiple vifs from one to another while possibly swapping those
chanctxs"

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