From patchwork Tue Sep 12 12:10:05 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nikolay Aleksandrov X-Patchwork-Id: 812814 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=cumulusnetworks.com header.i=@cumulusnetworks.com header.b="OCE0CTLb"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xs3Xf1b52z9sRm for ; Tue, 12 Sep 2017 22:10:41 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751444AbdILMKX (ORCPT ); Tue, 12 Sep 2017 08:10:23 -0400 Received: from mail-wr0-f169.google.com ([209.85.128.169]:34171 "EHLO mail-wr0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751373AbdILMKV (ORCPT ); Tue, 12 Sep 2017 08:10:21 -0400 Received: by mail-wr0-f169.google.com with SMTP id v109so21449834wrc.1 for ; Tue, 12 Sep 2017 05:10:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cumulusnetworks.com; s=google; h=from:to:cc:subject:date:message-id; bh=k5LhDEVaITb5pP7/GK7O8DUrmwwpKHujLqy/X7xCsxg=; b=OCE0CTLbMz9PJU798SjZBzCROfRjs37LdvP1dKnqmJMyD3ES9G1mZi6NsmAjShsl2/ NTA3zkrFBdU94oKwK1QY2JUOvy3EoFZO+l0yVlgCUhdsf1wDBJ+IvBlk4udLtOxOU8+Y HEAsYH4YZMt3dNv+2KTa02DKvqWo3tNDibJUc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=k5LhDEVaITb5pP7/GK7O8DUrmwwpKHujLqy/X7xCsxg=; b=YRF2cwp7ivPRxipiy40O2PRUK2iYzp0E704a/9Z2EjNe+ii9ol0hxq0iFwO0YPK2Ga 4QwmqLSDYLFDXNZUjILS2gQqsI4nbOMi3WbL8nAreCwoQDkhqfU6H2dr9Br3EW//VQq/ 8CrwV37GFEWbyZg5Qa0vMYQiioPVuSCPdrFWs1/+P/wblxh5vylsr/qepRWCBkFsLgFe MPQL86WrRuawHtcrJvyBNoqVKMxi0Mcql2G3d0mGV7OWAO0EsHGsQgH7jPjnMhl8UgNz GQQqciR6YraOsVAHILzMYey3alDsH1+ugTDzBBvyxqguO10DWU0FDcU8OXvpwB3P/Kfm 0hUw== X-Gm-Message-State: AHPjjUgFmiLzABoYlaA3plNucjoMYjnrLax27dFjkwTVVS4xgiV71zGY KBY3PprIDcxgjetOTh8= X-Google-Smtp-Source: ADKCNb62V+alwCcttAQ26qe34wLcW5Yc28E3szTrQjUr5kepmERtVskhQvpwjvUaLSfKdma2MQtALA== X-Received: by 10.223.131.193 with SMTP id 59mr11826349wre.157.1505218220171; Tue, 12 Sep 2017 05:10:20 -0700 (PDT) Received: from debil.mediahub-bg.com (46-10-142-144.ip.btc-net.bg. [46.10.142.144]) by smtp.gmail.com with ESMTPSA id x185sm630243wmx.35.2017.09.12.05.10.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 12 Sep 2017 05:10:18 -0700 (PDT) From: Nikolay Aleksandrov To: netdev@vger.kernel.org Cc: j.vosburgh@gmail.com, vfalico@gmail.com, andy@greyhouse.net, maheshb@google.com, Nikolay Aleksandrov Subject: [PATCH net] net: bonding: fix tlb_dynamic_lb default value Date: Tue, 12 Sep 2017 15:10:05 +0300 Message-Id: <1505218205-2637-1-git-send-email-nikolay@cumulusnetworks.com> X-Mailer: git-send-email 2.1.4 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org 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. Fixes: 8b426dc54cf4 ("bonding: remove hardcoded value") Signed-off-by: Nikolay Aleksandrov Acked-by: Mahesh Bandewar --- drivers/net/bonding/bond_main.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index fc63992ab0e0..c99dc59d729b 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c @@ -4289,7 +4289,7 @@ static int bond_check_params(struct bond_params *params) int 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_params *params) } 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",