On Fri, Aug 24, 2018 at 6:39 AM Ferruh Yigit <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>> 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>> 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> > > >>>> > > >>>> Signed-off-by: Radu Nicolau <radu.nico...@intel.com > > <mailto:radu.nico...@intel.com>> > > >>> > > >>> Acked-by: Declan Doherty <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. 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.