[dpdk-dev] [dpdk-stable] [PATCH] net/bonding: stop and deactivate slaves when bonding port is stopped
Chas Williams
3chas3 at gmail.com
Fri Aug 24 16:05:58 CEST 2018
On Fri, Aug 24, 2018 at 6:39 AM Ferruh Yigit <ferruh.yigit at 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.yigit at intel.com
> > <mailto:ferruh.yigit at intel.com>> wrote:
> >
> > On 8/6/2018 4:50 PM, Chas Williams wrote:
> > > On Sun, Aug 5, 2018 at 5:55 PM Thomas Monjalon <
> thomas at monjalon.net
> > <mailto:thomas at 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: stable at dpdk.org <mailto:stable at dpdk.org>
> > >>>>
> > >>>> Signed-off-by: Radu Nicolau <radu.nicolau at intel.com
> > <mailto:radu.nicolau at intel.com>>
> > >>>
> > >>> Acked-by: Declan Doherty <declan.doherty at intel.com
> > <mailto:declan.doherty at 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.
More information about the dev
mailing list