From: Xiangning Yu <yuxiangn...@gmail.com> Date: Wed, 6 Jun 2018 03:18:23 -0700
> diff --git a/drivers/net/bonding/bond_options.c > b/drivers/net/bonding/bond_options.c > index 58c705f..b594bae 100644 > --- a/drivers/net/bonding/bond_options.c > +++ b/drivers/net/bonding/bond_options.c > @@ -1142,6 +1142,7 @@ static int bond_option_primary_set(struct bonding *bond, > slave->dev->name); > rcu_assign_pointer(bond->primary_slave, slave); > strcpy(bond->params.primary, slave->dev->name); > + bond->force_primary = true; > bond_select_active_slave(bond); > goto out; > } Based upon your analysis, it does indeed seem logical that we need to re-evaluate bond->force_primary any time the primary slave name string changes. Please submit this formally, thank you.