From patchwork Mon Jan 26 06:16:57 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonathan Toppins X-Patchwork-Id: 432660 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id B4ED1140188 for ; Mon, 26 Jan 2015 17:20:26 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752861AbbAZGUT (ORCPT ); Mon, 26 Jan 2015 01:20:19 -0500 Received: from mail-qg0-f51.google.com ([209.85.192.51]:43782 "EHLO mail-qg0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752718AbbAZGUP (ORCPT ); Mon, 26 Jan 2015 01:20:15 -0500 Received: by mail-qg0-f51.google.com with SMTP id z107so5568521qgd.10 for ; Sun, 25 Jan 2015 22:20:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cumulusnetworks.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=bK2uczc6bmUYqUIXMAeqk+Di9j/src5UBmc3saSGJHY=; b=FeyuS7EmwWJMNyl29IuG4gNNAG/QMoZ1ad+uvTT3I4giT7lLblOxlxskFfYEa7bOnh oSJ4CHTyR6xIHQ0ke36FFNoRt6I96DytkUafRFGioT5zgoF8n7sHe5LgQPdq7hMDlhlp VqKC7UdhKOsOyNNiv0MW97vpXl2J7dHo7RmyM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=bK2uczc6bmUYqUIXMAeqk+Di9j/src5UBmc3saSGJHY=; b=YnKBzSzJQfauat6JrMHgNYzPO8r/potyB6mojXxyzVjm6yH6aC1u5ODoEQxcL051Sh wBOxdzVB5vZz+Sjj7AyV7AgjZXIui4RBgDxsuoX89zmaxw05nT0+inrSbemKdFNTvWql pgNbZ+qIKg2ygmtpU7TMYwhvgVkV1ii+OK04U7mRusMfQAE65cWH77/pKPUgGdmgEW/y keuYzPLlIHEZNd48mFjWq0l9VOh+Ku7vq65UEZeU5Vy9E86otiG6V+ngpF70Yd0pOqcw O3Okh7qwO995C22nrThstBkJgzjGaNdqug8pwEmvHCB8vaBG+WhMuxgJ94ReZpGJKs5t Zk8w== X-Gm-Message-State: ALoCoQliVxsaVg70O+ZPXIX5sXKeECwlBVLWZ/J4tHz+/M+jIU22NzXCiKcklIvwgxWvastOeOV3 X-Received: by 10.140.83.163 with SMTP id j32mr36585863qgd.52.1422253215099; Sun, 25 Jan 2015 22:20:15 -0800 (PST) Received: from debian-devel.instigatornetwork.net (cpe-173-095-150-122.nc.res.rr.com. [173.95.150.122]) by mx.google.com with ESMTPSA id r9sm5530610qac.27.2015.01.25.22.20.14 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 25 Jan 2015 22:20:14 -0800 (PST) From: Jonathan Toppins To: Jay Vosburgh , Veaceslav Falico , Andy Gospodarek Cc: netdev@vger.kernel.org, Andy Gospodarek Subject: [PATCH net-next v2 1/5] bonding: update bond carrier state when min_links option changes Date: Mon, 26 Jan 2015 01:16:57 -0500 Message-Id: <1422253021-3798-2-git-send-email-jtoppins@cumulusnetworks.com> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1422253021-3798-1-git-send-email-jtoppins@cumulusnetworks.com> References: <1422253021-3798-1-git-send-email-jtoppins@cumulusnetworks.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Cc: Andy Gospodarek Signed-off-by: Jonathan Toppins Signed-off-by: Jay Vosburgh --- drivers/net/bonding/bond_main.c | 2 +- drivers/net/bonding/bond_options.c | 1 + include/net/bonding.h | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 0dceba1..02ffedb 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c @@ -334,7 +334,7 @@ static int bond_vlan_rx_kill_vid(struct net_device *bond_dev, * * Returns zero if carrier state does not change, nonzero if it does. */ -static int bond_set_carrier(struct bonding *bond) +int bond_set_carrier(struct bonding *bond) { struct list_head *iter; struct slave *slave; diff --git a/drivers/net/bonding/bond_options.c b/drivers/net/bonding/bond_options.c index 9bd538d4..4df2894 100644 --- a/drivers/net/bonding/bond_options.c +++ b/drivers/net/bonding/bond_options.c @@ -1181,6 +1181,7 @@ static int bond_option_min_links_set(struct bonding *bond, netdev_info(bond->dev, "Setting min links value to %llu\n", newval->value); bond->params.min_links = newval->value; + bond_set_carrier(bond); return 0; } diff --git a/include/net/bonding.h b/include/net/bonding.h index 983a94b..29f53ea 100644 --- a/include/net/bonding.h +++ b/include/net/bonding.h @@ -525,6 +525,7 @@ void bond_sysfs_slave_del(struct slave *slave); int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev); int bond_release(struct net_device *bond_dev, struct net_device *slave_dev); u32 bond_xmit_hash(struct bonding *bond, struct sk_buff *skb); +int bond_set_carrier(struct bonding *bond); void bond_select_active_slave(struct bonding *bond); void bond_change_active_slave(struct bonding *bond, struct slave *new_active); void bond_create_debugfs(void);