On Wed, Jul 30, 2025 at 10:47:19AM -0400, Aaron Conole wrote: > When adjusting bond parameters, any adjustment is considered sufficient > for triggering a rebalance. This is a very simplistic config update > scheme that triggers complete rebalancing even if the time adjustment > would move the next expiration out beyond the last calculated expiration. > > For the interval parameter only, we can simply recalculate the expiry > deadline and let the next bond_run() event do the rebalance if needed. > Even if the recalculation would cause the deadline to have occurred in > the past, it should execute on the next bond_run() anyway. This is > still okay, as the rebalance interval timeout may not result in a > full rebalance anyway. > > Reported-at: > https://www.mail-archive.com/ovs-discuss@openvswitch.org/msg10409.html > Signed-off-by: Aaron Conole <acon...@redhat.com>
Nit on the patch title: s/rebalance/revalidation/ Otherwise: Reviewed-by: Adrian Moreno <amore...@redhat.com> > --- > ofproto/bond.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/ofproto/bond.c b/ofproto/bond.c > index 3859ddca08..86e21607e5 100644 > --- a/ofproto/bond.c > +++ b/ofproto/bond.c > @@ -459,8 +459,14 @@ bond_reconfigure(struct bond *bond, const struct > bond_settings *s) > } > > if (bond->rebalance_interval != s->rebalance_interval) { > + /* Recompute the next rebalance interval by moving the next_rebalance > + * to be offset by the new interval. Then let the rebalance code > + * trigger a rebalance based on the new details. In this case, if > + * all that was updated is the rebalance interval, we can skip > + * triggering the rest of the port reconfigure mechanism. */ > + int old_start_time = bond->next_rebalance - bond->rebalance_interval; > bond->rebalance_interval = s->rebalance_interval; > - revalidate = true; > + bond->next_rebalance = old_start_time + bond->rebalance_interval; > } > > if (bond->balance != s->balance) { > -- > 2.49.0 > _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev