On 02/03/2016 08:48 PM, Jay Vosburgh wrote: > Nikolay Aleksandrov <niko...@cumulusnetworks.com> wrote: > >> On 02/03/2016 08:05 PM, Jay Vosburgh wrote: >>> Nikolay Aleksandrov <ra...@blackwall.org> wrote: >>> >>>> From: Nikolay Aleksandrov <niko...@cumulusnetworks.com> >>>> >>>> Currently the bonding allows to set ad_actor_system and prio while the >>>> bond device is down, but these are actually applied only if there aren't >>>> any slaves yet (applied to bond device when first slave shows up, and to >>>> slaves at 3ad bind time). After this patch changes are applied immediately >>>> and the new values can be used/seen after the bond's upped so it's not >>>> necessary anymore to release all and enslave again to see the changes. >>>> >>>> CC: Jay Vosburgh <j.vosbu...@gmail.com> >>>> CC: Veaceslav Falico <vfal...@gmail.com> >>>> CC: Andy Gospodarek <go...@cumulusnetworks.com> >>>> Signed-off-by: Nikolay Aleksandrov <niko...@cumulusnetworks.com> >>> >>> Looks good to me. >>> >>> Signed-off-by: Jay Vosburgh <jay.vosbu...@canonical.com> >>> >>> -J >>> >> >> Thanks Jay. Do you think it makes sense to allow setting these while the >> bond is up ? I don't see any serious problems. > > Actually, I was thinking about that when I read the patch. > > Changing these while live will trigger reselection of the > aggregator(s), since selection information in the LACPDUs will change. > It should just work itself out when the parter system sees the change. > Yes, that was my thinking as well.
> E.g., if bonding received a LACPDU with a changed _prio or > _system, __update_selected will clear AD_PORT_SELECTED if it doesn't > match, and that will cascade through the state machine (in > ad_mux_machine, COLLECTING_DISTRIBUTING state will revert to > MUX_ATTACHED, which will clear COLL_DIST and go from there). > > I think it may converge more quickly if bonding set ->ntt on the > ports after the change to immediately send new LACPDUs (rather than > waiting for the LACP timeout), but that's an optimization. If the _prio > or _system are set to the same values they had previously, this is > harmless as the partner system shouldn't reselect if nothing in the > LACPDU changed. > Good point, will look into it. > There's a similar optimization in bond_3ad_unbind_slave to send > a LACPDU with AGGREGATION cleared to speed up the LACP processing on the > partner system. > > -J > > --- > -Jay Vosburgh, jay.vosbu...@canonical.com > Okay then, I'll give it a try and will post a patch. Thank you, Nik