{"id":811303,"url":"http://patchwork.ozlabs.org/api/1.2/patches/811303/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/patch/1504837512-16395-1-git-send-email-hanko@drivescale.com/","project":{"id":7,"url":"http://patchwork.ozlabs.org/api/1.2/projects/7/?format=json","name":"Linux network development","link_name":"netdev","list_id":"netdev.vger.kernel.org","list_email":"netdev@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<1504837512-16395-1-git-send-email-hanko@drivescale.com>","list_archive_url":null,"date":"2017-09-08T02:25:12","name":"[net-next] team: fall back to hash if table entry is empty","commit_ref":null,"pull_url":null,"state":"deferred","archived":true,"hash":"342cb9be991240564e1833d22a41724a520fa41b","submitter":{"id":72327,"url":"http://patchwork.ozlabs.org/api/1.2/people/72327/?format=json","name":"Jim Hanko","email":"hanko@drivescale.com"},"delegate":{"id":34,"url":"http://patchwork.ozlabs.org/api/1.2/users/34/?format=json","username":"davem","first_name":"David","last_name":"Miller","email":"davem@davemloft.net"},"mbox":"http://patchwork.ozlabs.org/project/netdev/patch/1504837512-16395-1-git-send-email-hanko@drivescale.com/mbox/","series":[{"id":2090,"url":"http://patchwork.ozlabs.org/api/1.2/series/2090/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/list/?series=2090","date":"2017-09-08T02:25:12","name":"[net-next] team: fall back to hash if table entry is empty","version":1,"mbox":"http://patchwork.ozlabs.org/series/2090/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/811303/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/811303/checks/","tags":{},"related":[],"headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=drivescale-com.20150623.gappssmtp.com\n\theader.i=@drivescale-com.20150623.gappssmtp.com\n\theader.b=\"LftAQDxk\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xpLmm5Fcbz9sPk\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri,  8 Sep 2017 12:26:48 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1753577AbdIHC0e (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tThu, 7 Sep 2017 22:26:34 -0400","from mail-oi0-f100.google.com ([209.85.218.100]:37982 \"EHLO\n\tmail-oi0-f100.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1752093AbdIHC0c (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Thu, 7 Sep 2017 22:26:32 -0400","by mail-oi0-f100.google.com with SMTP id a197so389299oib.5\n\tfor <netdev@vger.kernel.org>; Thu, 07 Sep 2017 19:26:32 -0700 (PDT)","from dcs.hq.drivescale.com ([68.74.115.3])\n\tby smtp-relay.gmail.com with ESMTP id\n\tr16sm24217uai.5.2017.09.07.19.26.31; \n\tThu, 07 Sep 2017 19:26:31 -0700 (PDT)","from hanko-Inspiron-570.drivescale.com (hanko.drivescale.com\n\t[192.168.33.33])\n\tby dcs.hq.drivescale.com (Postfix) with ESMTP id BB47F41829;\n\tFri,  8 Sep 2017 02:26:29 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=drivescale-com.20150623.gappssmtp.com; s=20150623;\n\th=from:to:cc:subject:date:message-id;\n\tbh=olv0EfSSW8+QaAcvUBBi2yiwqsK7VbT5W8slA54pRno=;\n\tb=LftAQDxk4dscNMELCwE//YZDbYS1zge398bx6wYk3KRmVq47uNgx0gQKfAe4Why/+8\n\t1TTG16fqXwTco4O/USL637eothemDT4nUK3SKzgnFzF6vxCWwH8P/Ka6nQyYRvuv5xej\n\tH/6m2qYBr3L97hoQebYMsKYQuUnaROkrn5W4/3Z5fU8gfYUM2YV8WJO5shQwb0jBMEhU\n\tvwvnU9n/Y06GtxUHKwHCWbEFlZCvR7XCJ6P27M2Q65cL+l8HF6vZInYEiMKzLCtDvpba\n\tF4p6ev8xzS5tlUXqB/lGEKuSXkPbKZdSRid8HQjB3uIJ+wAj+pb7nNWowdlHwts0rINj\n\tVW5g==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id;\n\tbh=olv0EfSSW8+QaAcvUBBi2yiwqsK7VbT5W8slA54pRno=;\n\tb=dU48OmilUH81DD3cLvDppBOfjM+KPapxG8kITYHhzVRU/IQAG4ZLNZh/E0PXRq7uOI\n\t8rY9L5dus2WhMOaDXWPl3bXkAemWBkNmF+uSOHieIAjmIrey8fss/6Ml49jFa6Upr+Qh\n\taoxu5Tx2FlQL4MCoSq8WexA3fH0wf438v0nQcIJK42lEjF6OxDwKzUHKL0cQRcfToay9\n\t68Khu2Yo6dlTzaVDEM1v2rhRX4uFRdonwKN4ISXNPSMUszPSc+L28zhz6nL7tHFpgTR+\n\tCNaSHqYuB60EcGPwXSoSA4mF3rTI2/nm/BW36rBZZwFgDroT9orvngG3eMNfHU5ijs0+\n\tmroA==","X-Gm-Message-State":"AHPjjUhPOKVUOeUHWobRsOD77zNu8qnDW3NFhQpDQuE2v6TYnWd+rXh3\n\tsxVo7YXtSDtsQcMuZ7I3K8BNEV7Uc9woTfU31/+0","X-Google-Smtp-Source":"ADKCNb6sbthlphXHZsF1Vjx6fxcnCdxlvJnXGey2xjHefba/iTKx8zP70LgCKWpGDyf1gcPbUB6GDUIzZdFH","X-Received":"by 10.176.76.104 with SMTP id d40mr793052uag.128.1504837591767; \n\tThu, 07 Sep 2017 19:26:31 -0700 (PDT)","X-Relaying-Domain":"drivescale.com","From":"Jim Hanko <hanko@drivescale.com>","To":"jiri@resnulli.us, netdev@vger.kernel.org, linux-kernel@vger.kernel.org","Cc":"Jim Hanko <hanko@drivescale.com>","Subject":"[patch net-next] team: fall back to hash if table entry is empty","Date":"Thu,  7 Sep 2017 19:25:12 -0700","Message-Id":"<1504837512-16395-1-git-send-email-hanko@drivescale.com>","X-Mailer":"git-send-email 2.7.4","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"},"content":"If the hash to port mapping table does not have a valid port (i.e. when\na port goes down), fall back to the simple hashing mechanism to avoid\ndropping packets.\n\nSigned-off-by: Jim Hanko <hanko@drivescale.com>\n---\n drivers/net/team/team_mode_loadbalance.c | 8 +++++++-\n 1 file changed, 7 insertions(+), 1 deletion(-)","diff":"diff --git a/drivers/net/team/team_mode_loadbalance.c b/drivers/net/team/team_mode_loadbalance.c\nindex 1468ddf..a5ef970 100644\n--- a/drivers/net/team/team_mode_loadbalance.c\n+++ b/drivers/net/team/team_mode_loadbalance.c\n@@ -137,7 +137,13 @@ static struct team_port *lb_htpm_select_tx_port(struct team *team,\n \t\t\t\t\t\tstruct sk_buff *skb,\n \t\t\t\t\t\tunsigned char hash)\n {\n-\treturn rcu_dereference_bh(LB_HTPM_PORT_BY_HASH(lb_priv, hash));\n+\tstruct team_port *port;\n+\n+\tport = rcu_dereference_bh(LB_HTPM_PORT_BY_HASH(lb_priv, hash));\n+\tif (likely(port))\n+\t\treturn port;\n+\t/* If no valid port in the table, fall back to simple hash */\n+\treturn lb_hash_select_tx_port(team, lb_priv, skb, hash);\n }\n \n struct lb_select_tx_port {\n","prefixes":["net-next"]}