Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1735151

[patch net-next] team: fall back to hash if table entry is empty

Path csiph.com!news.redatomik.org!aioe.org!bofh.it!news.nic.it!robomod
From Jim Hanko <hanko@drivescale.com>
Newsgroups linux.kernel
Subject [patch net-next] team: fall back to hash if table entry is empty
Date Tue, 19 Sep 2017 20:40:02 +0200
Message-ID <urvB8-tP-3@gated-at.bofh.it> (permalink)
Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=drivescale-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=qjZ4HVqau0iZDdM6wemtzVfoJV6MJ0Y48M38iwXCRW4=; b=UR2s7DI2osFz918LhaoMep18sY1+0de05n8eMoPbRiKpkDwJ3qVjhij0r3eM8dru/j ejgV++iNn3LrytU3RWbh08in5DWs0zKCH3H4HaxlYwlaaIZdj0fl4ThNzljAmASl3lfi gFrg2A6V1ckPFv16K2dByae/90+LmuSDl0CYVI2cC5GrvrSTE2M2/Kzy0hqHA8dMPPkM Nifmdrt8qfbcBrWRJi0PSGeTinIYWR4kfaSSTZc4F+48f9n2MJwHzEchs+tjAGn+wVNV lRG+5thUnJmvceTi+bAvpeZ+klrycFosmQis+3wvo4az7lbTpjpTUs1KX7ot6V0wlUHB 35VA==
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=qjZ4HVqau0iZDdM6wemtzVfoJV6MJ0Y48M38iwXCRW4=; b=HYdAPs29bJyw7j7TZUVHa49gAU7B2eCWXQDkXx6BzPy/5tOOqHJdOZRe6YHXJkWhvZ i+WPRpmg0QNlaeTv9tFYwMhsDuswuEN0LcXqXFPXBMWhQF5eUb31fBg2ZbBdMGN9Tmhh MaJgop4qxibZSMCOQw2ynDbMaCkHrR9Y5VPcvhTCykFUEMnaedKE4lnQxjcFJpnxi57u jgJaGyXT6FNrw24HpNTZAy5VU088gaOKvjlu47NrlCiU4SnUu7/ACGeT/tfwg4pcpp1d 8BJy63jgh5u/M4xo2QKgjm9z24zeijPyurZYtgNC1ZJkAYOT7YT5kP4flwtmQFBujgoU EnJA==
X-Gm-Message-State AHPjjUiciFJOiO572yuBv0GcogjktST9O5RTkdE4vEJ9skzNgJkAfSCI oIy2Vv+jEx+42w5FT8jKW5CnvIM3RNR4dBl4b4F6fCoDBvsGyg==
X-Google-SMTP-Source AOwi7QCD0puWxFPQM4EDK67Syi5CadcgB+i2N/cMxHa5ufsdYU1S5PSfFq/msk5S/f+WwlhRGVU6fim82CZ1
X-Received by 10.107.175.21 with SMTP id y21mr3220828ioe.71.1505846044907; Tue, 19 Sep 2017 11:34:04 -0700 (PDT)
X-Relaying-Domain drivescale.com
X-Mailer git-send-email 2.7.4
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 31
Organization linux.* mail to news gateway
X-Original-Cc Jim Hanko <hanko@drivescale.com>
X-Original-Date Tue, 19 Sep 2017 11:33:39 -0700
X-Original-Message-ID <1505846019-6785-1-git-send-email-hanko@drivescale.com>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1735151

Show key headers only | View raw


If the hash to port mapping table does not have a valid port (i.e. when
a port goes down), fall back to the simple hashing mechanism to avoid
dropping packets.

Signed-off-by: Jim Hanko <hanko@drivescale.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
---
 drivers/net/team/team_mode_loadbalance.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/net/team/team_mode_loadbalance.c b/drivers/net/team/team_mode_loadbalance.c
index 1468ddf..a5ef970 100644
--- a/drivers/net/team/team_mode_loadbalance.c
+++ b/drivers/net/team/team_mode_loadbalance.c
@@ -137,7 +137,13 @@ static struct team_port *lb_htpm_select_tx_port(struct team *team,
 						struct sk_buff *skb,
 						unsigned char hash)
 {
-	return rcu_dereference_bh(LB_HTPM_PORT_BY_HASH(lb_priv, hash));
+	struct team_port *port;
+
+	port = rcu_dereference_bh(LB_HTPM_PORT_BY_HASH(lb_priv, hash));
+	if (likely(port))
+		return port;
+	/* If no valid port in the table, fall back to simple hash */
+	return lb_hash_select_tx_port(team, lb_priv, skb, hash);
 }
 
 struct lb_select_tx_port {
-- 
2.7.4

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[patch net-next] team: fall back to hash if table entry is empty Jim Hanko <hanko@drivescale.com> - 2017-09-19 20:40 +0200
  Re: [patch net-next] team: fall back to hash if table entry is  empty David Miller <davem@davemloft.net> - 2017-09-20 01:20 +0200

csiph-web