Patch "net: bonding: fix tlb_dynamic_lb default value" has been added to the 4.13-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
net: bonding: fix tlb_dynamic_lb default value
to the 4.13-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
net-bonding-fix-tlb_dynamic_lb-default-value.patch
and it can be found in the queue-4.13 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Mon Oct 9 09:32:35 CEST 2017
From: Nikolay Aleksandrov <[email protected]>
Date: Tue, 12 Sep 2017 15:10:05 +0300
Subject: net: bonding: fix tlb_dynamic_lb default value
From: Nikolay Aleksandrov <[email protected]>
[ Upstream commit f13ad104b4e886a03e75f130daf579ef9bf33dfc ]
Commit 8b426dc54cf4 ("bonding: remove hardcoded value") changed the default value for tlb_dynamic_lb which lead to either broken ALB mode (since tlb_dynamic_lb can be changed only in TLB) or setting TLB mode with tlb_dynamic_lb equal to 0.
The first issue was recently fixed by setting tlb_dynamic_lb to 1 always when switching to ALB mode, but the default value is still wrong and we'll enter TLB mode with tlb_dynamic_lb equal to 0 if the mode is changed via netlink or sysfs. In order to restore the previous behaviour and default value simply remove the mode check around the default param initialization for tlb_dynamic_lb which will always set it to 1 as before.
--- drivers/net/bonding/bond_main.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-)
drivers/net/bonding/bond_main.c +7 -10
@@ -4289,7 +4289,7 @@ static int bond_check_params(struct bondint bond_mode =BOND_MODE_ROUNDROBIN ;int xmit_hashtype =BOND_XMIT_POLICY_LAYER2 ;int lacp_fast =0 ; -int tlb_dynamic_lb =0 ; +int tlb_dynamic_lb;/* Convert string parameters. */ if (mode) {
@@ -4601,16 +4601,13 @@ static int bond_check_params(struct bond } ad_user_port_key = valptr->value; -if ((bond_mode ==BOND_MODE_TLB ) || (bond_mode ==BOND_MODE_ALB )) { -bond_opt_initstr (&newval,"default" ); - valptr =bond_opt_parse (bond_opt_get (BOND_OPT_TLB_DYNAMIC_LB ), - &newval); -if (!valptr) { -pr_err ("Error: No tlb_dynamic_lb default value" ); -return -EINVAL ; - } - tlb_dynamic_lb = valptr->value; +bond_opt_initstr (&newval,"default" ); + valptr =bond_opt_parse (bond_opt_get (BOND_OPT_TLB_DYNAMIC_LB ), &newval); +if (!valptr) { +pr_err ("Error: No tlb_dynamic_lb default value" ); +return -EINVAL ; } + tlb_dynamic_lb = valptr->value;if (lp_interval ==0 ) { pr_warn("Warning: ip_interval must be between 1 and %d, so it was reset to %d\n",
Patches currently in stable-queue which might be from [email protected] are
queue-4.13/net-bonding-fix-transmit-load-balancing-in-balance-alb-mode-if-specified-by-sysfs.patch queue-4.13/net-rtnetlink-fix-info-leak-in-rtm_getstats-call.patch queue-4.13/net-bonding-fix-tlb_dynamic_lb-default-value.patch