diff options
author | Nikolay Aleksandrov <nikolay@cumulusnetworks.com> | 2016-02-03 13:17:01 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-02-09 04:45:49 -0500 |
commit | 5ee14e6d336f1daacf5ba73e831029c5ab7ae329 (patch) | |
tree | eaa2d26fbcd0432f831709ba7986f1e45821c925 /drivers/net/bonding/bond_options.c | |
parent | a1b486aeeb2eadbcd782701ac7e7fafb01de8fbd (diff) | |
download | op-kernel-dev-5ee14e6d336f1daacf5ba73e831029c5ab7ae329.zip op-kernel-dev-5ee14e6d336f1daacf5ba73e831029c5ab7ae329.tar.gz |
bonding: 3ad: apply ad_actor settings changes immediately
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.vosburgh@gmail.com>
CC: Veaceslav Falico <vfalico@gmail.com>
CC: Andy Gospodarek <gospo@cumulusnetworks.com>
Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: Jay Vosburgh <jay.vosburgh@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bonding/bond_options.c')
-rw-r--r-- | drivers/net/bonding/bond_options.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/bonding/bond_options.c b/drivers/net/bonding/bond_options.c index 55e93b6..ed0bdae 100644 --- a/drivers/net/bonding/bond_options.c +++ b/drivers/net/bonding/bond_options.c @@ -1392,6 +1392,8 @@ static int bond_option_ad_actor_sys_prio_set(struct bonding *bond, newval->value); bond->params.ad_actor_sys_prio = newval->value; + bond_3ad_update_ad_actor_settings(bond); + return 0; } @@ -1418,6 +1420,8 @@ static int bond_option_ad_actor_system_set(struct bonding *bond, netdev_info(bond->dev, "Setting ad_actor_system to %pM\n", mac); ether_addr_copy(bond->params.ad_actor_system, mac); + bond_3ad_update_ad_actor_settings(bond); + return 0; err: |