On 9/28/2018 11:00 AM, Ferruh Yigit wrote: > On 8/24/2018 3:05 PM, Chas Williams wrote: >> >> >> On Fri, Aug 24, 2018 at 6:39 AM Ferruh Yigit <ferruh.yi...@intel.com >> <mailto:ferruh.yi...@intel.com>> wrote: >> >> On 8/23/2018 4:21 PM, Chas Williams wrote: >> > >> > >> > On Thu, Aug 23, 2018 at 9:15 AM Ferruh Yigit <ferruh.yi...@intel.com >> <mailto:ferruh.yi...@intel.com> >> > <mailto:ferruh.yi...@intel.com <mailto:ferruh.yi...@intel.com>>> wrote: >> > >> > On 8/6/2018 4:50 PM, Chas Williams wrote: >> > > On Sun, Aug 5, 2018 at 5:55 PM Thomas Monjalon >> <tho...@monjalon.net >> <mailto:tho...@monjalon.net> >> > <mailto:tho...@monjalon.net <mailto:tho...@monjalon.net>>> wrote: >> > > >> > >> 02/08/2018 15:38, Doherty, Declan: >> > >>> On 01/08/2018 2:18 PM, Radu Nicolau wrote: >> > >>>> When a bonding port is stopped also stop and deactivate all >> slaves. >> > >>>> Otherwise slaves will be still listed as active. >> > >>>> >> > >>>> Fixes: 69bce062132b ("net/bonding: do not clear active slave >> count") >> > >>>> Cc: sta...@dpdk.org <mailto:sta...@dpdk.org> >> <mailto:sta...@dpdk.org <mailto:sta...@dpdk.org>> >> > >>>> >> > >>>> Signed-off-by: Radu Nicolau <radu.nico...@intel.com >> <mailto:radu.nico...@intel.com> >> > <mailto:radu.nico...@intel.com <mailto:radu.nico...@intel.com>>> >> > >>> >> > >>> Acked-by: Declan Doherty <declan.dohe...@intel.com >> <mailto:declan.dohe...@intel.com> >> > <mailto:declan.dohe...@intel.com >> <mailto:declan.dohe...@intel.com>>> >> > >> >> > >> Waiting for opinion from the other bonding maintainer (Chas) >> > >> who started to review and has some doubts. >> > >> >> > > >> > > The slaves being listed as active is not a bug. If the slaves >> are not >> > > deactivated, then they should be considered activated. >> Previously, >> > > stopping the bonding PMD just reset the active slave count. >> That's >> > > not the right way to deactivate slaves. This was fixed by >> 69bce062132b. >> > > >> > > This patch is new behavior of explicitly deactivating the slaves >> when >> > > the bonding PMD is stopped. >> > > >> > > As I mentioned, I think this makes life difficult for those of >> us using >> > > an external state machine. However, that should probably be >> fixed >> > > differently then. >> > > >> > > >> > >> >> > >> Chas, please do you agree with Declan's ack? >> > >> >> > >> >> > >> >> > > Change the Fixes line. >> > >> > Hi Chas, >> > >> > Are you OK with the rest of the patch if Fixes line fixed? >> > If already have a proposed fixes line I can fix it while merging. >> > >> > >> > Yes, the rest of the patch is fine as long as the Fixes is correct. >> > Try this: >> > >> > Fixes: 2efb58cbab6e ("bond: new link bonding library") >> > >> > And it's really new behavior. Perhaps Fixes: isn't quite right. >> > The current code works fine with activated slaves existing outside >> > of the stop/star. >> >> From your description dropping Fixes line seems OK, but it will effect >> if the >> patch backported or not. >> >> >> Then dont' drop the Fixes line. See below. >> >> >> Isn't it clear from bonding requirement what should slave ports' status >> be when >> bonding port it stopped? >> >> >> I am guessing the author's original intent was to deactivate all the >> slaves because he reset the activate slave count to 0. However, that >> didn't actually deactivate a slave and later activating an already >> active slave after another start would result in some odd failures. > > Yes, intention seems as you said, there is an unit test that expects active > slave count to be 0 after bond port stopped. > Your change to remove setting active slave count to zero on bond stop causes > that test fail. > To fix the unit test, all slaves stopped and deactivated. > > I think it is still clear if that expectation from unit test coming from > bonding > requirement and development assumption. But will get the patch, with updated > fixes line, to fix the unit test.
it is still _not_ clear ... bonding requirement _or_ development assumption. ... > >> >> In a more existential sense, what does active mean? In the case of >> 802.3ad, a slave is potentially active until the protocol says otherwise >> which means a timeout. So the stopped/started aspect of the port >> isn't necessarily a concern. If you are just briefly stopping a >> port to reconfigure, perhaps you don't want to renegotiate the >> 802.3ad state. Of course, if you reconfigure a port, there is a >> good chance you want to renegotiate with the other end anyway. >> >> TL;DR -- fine with this patch. Add new Fixes line so backported. >> >> >> >> >