From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id DEEEAA0518 for ; Fri, 24 Jul 2020 14:11:07 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C98651C246; Fri, 24 Jul 2020 14:11:07 +0200 (CEST) Received: from mail-wm1-f65.google.com (mail-wm1-f65.google.com [209.85.128.65]) by dpdk.org (Postfix) with ESMTP id 448241C20A for ; Fri, 24 Jul 2020 14:11:06 +0200 (CEST) Received: by mail-wm1-f65.google.com with SMTP id t142so1692700wmt.4 for ; Fri, 24 Jul 2020 05:11:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=1zxs2wld9VnLL8/VQJ+A7ZJ63eOAD2tnXcehRh0RbAY=; b=uTDxJ3svlkJ0mMcvYiQNSEnmYaJ+Vs/1domI/FALTmCqaQnOZaeV9Qn+tNC+VOWUc6 VjmbRq+2d8tPlah9pXqFy30QydRr/0InDhC1mA9h4EOzTNiQGKRiTLhxVJ9nnJpBEKgi soe0w4yE28r6MYml+35wJ/hC1LbWf8UQd8mHsgBDHeWuNUBRHLnetPB1NPwo3nU66Ftb nhcRZRpT2EEbmB6YgqC8lSSjz1TF6yyLzFdKb7/Z7o5NTDWuKzphbviEhoTEhT4uyWKP +VRnP4sIH3hx3x4pmmgrh0EOpMdYAZFSGmmMpRzN6RUbKSzOfdzT08c/NBseU/WEdxLm PtwA== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=1zxs2wld9VnLL8/VQJ+A7ZJ63eOAD2tnXcehRh0RbAY=; b=P4DzXjRILkFgur8li1x6b1XNK+2+tO99B9lQM0PZZCnTN9El77phd8csD3Qpe3m7Kj RrnBwSZXpO2497ZVSBMdTlcCLIXR1DD9LxVwBda12YEtyxoByO641BNltPKrm/nHjNVK LYMsAICRLmj44+OQRp1aVXNOejkPirWWD8qdcZjFvDZ5N2hEglbcf+mjiKfFSnMvCbaR i+GgnFbhFtBgY0/0egjIubWl4WI7/APJsIRZMF3DP1Hr8i+vktbzQQJDSt9nPMiwlVu+ FL65bOt3L+nb/w3N8cML7g+DlNTF88YS4JaW9b0XzXWC0M4+LgZHceAu5x2sxDL18E45 j/Zw== X-Gm-Message-State: AOAM531CC6l9RSDHLzfHnWyGktO0OqxYF4xCyTkaVCf0CFOKSbmv444r fId751Sc6ZRpAv2P4hfBJzmRDqC0jcx3jg== X-Google-Smtp-Source: ABdhPJzgAbwRzHWsLqNtI7PE0SkhREjMoHxVeHg4KrAnaovT8i60LiwfyBXqq0oJVZNjDjzUPYO7kQ== X-Received: by 2002:a1c:c1:: with SMTP id 184mr8979033wma.105.1595592665991; Fri, 24 Jul 2020 05:11:05 -0700 (PDT) Received: from localhost ([88.98.246.218]) by smtp.gmail.com with ESMTPSA id e23sm6792145wme.35.2020.07.24.05.11.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Jul 2020 05:11:05 -0700 (PDT) From: luca.boccassi@gmail.com To: Shougang Wang Cc: Wei Zhao , dpdk stable Date: Fri, 24 Jul 2020 13:00:02 +0100 Message-Id: <20200724120030.1863487-164-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200724120030.1863487-1-luca.boccassi@gmail.com> References: <20200724120030.1863487-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'net/i40e: fix filter pctype' has been queued to stable release 19.11.4 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Hi, FYI, your patch has been queued to stable release 19.11.4 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 07/26/20. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Thanks. Luca Boccassi --- >From 2f6583d4cc1a38117c0e386b4a3e3ec675346022 Mon Sep 17 00:00:00 2001 From: Shougang Wang Date: Wed, 15 Jul 2020 08:08:10 +0000 Subject: [PATCH] net/i40e: fix filter pctype [ upstream commit 11b58ac709690cb4086a0a01f979b3d3f8ea7d21 ] The i40e_filter_pctype TCP_SYN_NO_ACK, UNICAST_IPV4_UDP and MULTICAST_IPV4_UDP for x722 were missing when translating RSS type to i40e_filter_pctype. This patch fixes it. Fixes: da7018ec29d4 ("net/i40e: fix queue region in RSS flow") Signed-off-by: Shougang Wang Reviewed-by: Wei Zhao --- drivers/net/i40e/i40e_flow.c | 45 ++++++++++++++++++++++++++++++------ 1 file changed, 38 insertions(+), 7 deletions(-) diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c index a83543c26..ae2fb4593 100644 --- a/drivers/net/i40e/i40e_flow.c +++ b/drivers/net/i40e/i40e_flow.c @@ -4325,11 +4325,12 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev, const struct rte_flow_action *act; const struct rte_flow_action_rss *rss; struct i40e_pf *pf = I40E_DEV_PRIVATE_TO_PF(dev->data->dev_private); + struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private); struct i40e_queue_regions *info = &pf->queue_region; struct i40e_rte_flow_rss_conf *rss_config = &filter->rss_conf; struct i40e_rte_flow_rss_conf *rss_info = &pf->rss_info; - uint16_t i, j, n, tmp; + uint16_t i, j, n, m, tmp; uint32_t index = 0; static const struct { @@ -4360,6 +4361,24 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev, I40E_FILTER_PCTYPE_L2_PAYLOAD}, }; + static const struct { + uint64_t rss_type; + enum i40e_filter_pctype pctype; + } pctype_match_table_x722[] = { + {ETH_RSS_NONFRAG_IPV4_TCP, + I40E_FILTER_PCTYPE_NONF_IPV4_TCP_SYN_NO_ACK}, + {ETH_RSS_NONFRAG_IPV4_UDP, + I40E_FILTER_PCTYPE_NONF_UNICAST_IPV4_UDP}, + {ETH_RSS_NONFRAG_IPV4_UDP, + I40E_FILTER_PCTYPE_NONF_MULTICAST_IPV4_UDP}, + {ETH_RSS_NONFRAG_IPV6_TCP, + I40E_FILTER_PCTYPE_NONF_IPV6_TCP_SYN_NO_ACK}, + {ETH_RSS_NONFRAG_IPV6_UDP, + I40E_FILTER_PCTYPE_NONF_UNICAST_IPV6_UDP}, + {ETH_RSS_NONFRAG_IPV6_UDP, + I40E_FILTER_PCTYPE_NONF_MULTICAST_IPV6_UDP}, + }; + NEXT_ITEM_OF_ACTION(act, actions, index); rss = act->conf; @@ -4385,6 +4404,18 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev, break; } } + + if (hw->mac.type == I40E_MAC_X722) + for (j = 0; j < RTE_DIM(pctype_match_table_x722); j++) { + if (rss->types & + pctype_match_table_x722[j].rss_type) { + m = conf_info->region[0].flowtype_num; + conf_info->region[0].hw_flowtype[m] = + pctype_match_table_x722[j].pctype; + conf_info->region[0].flowtype_num++; + conf_info->queue_region_number = 1; + } + } } /** @@ -4482,9 +4513,9 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev, info->region[i].user_priority_num++; } - j = info->region[i].flowtype_num; - tmp = conf_info->region[n].hw_flowtype[0]; - if (conf_info->region[n].flowtype_num) { + for (m = 0; m < conf_info->region[n].flowtype_num; m++) { + j = info->region[i].flowtype_num; + tmp = conf_info->region[n].hw_flowtype[m]; info->region[i].hw_flowtype[j] = tmp; info->region[i].flowtype_num++; } @@ -4497,9 +4528,9 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev, info->region[i].user_priority_num++; } - j = info->region[i].flowtype_num; - tmp = conf_info->region[n].hw_flowtype[0]; - if (conf_info->region[n].flowtype_num) { + for (m = 0; m < conf_info->region[n].flowtype_num; m++) { + j = info->region[i].flowtype_num; + tmp = conf_info->region[n].hw_flowtype[m]; info->region[i].hw_flowtype[j] = tmp; info->region[i].flowtype_num++; } -- 2.20.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2020-07-24 12:53:54.891279246 +0100 +++ 0164-net-i40e-fix-filter-pctype.patch 2020-07-24 12:53:48.547011304 +0100 @@ -1,14 +1,15 @@ -From 11b58ac709690cb4086a0a01f979b3d3f8ea7d21 Mon Sep 17 00:00:00 2001 +From 2f6583d4cc1a38117c0e386b4a3e3ec675346022 Mon Sep 17 00:00:00 2001 From: Shougang Wang Date: Wed, 15 Jul 2020 08:08:10 +0000 Subject: [PATCH] net/i40e: fix filter pctype +[ upstream commit 11b58ac709690cb4086a0a01f979b3d3f8ea7d21 ] + The i40e_filter_pctype TCP_SYN_NO_ACK, UNICAST_IPV4_UDP and MULTICAST_IPV4_UDP for x722 were missing when translating RSS type to i40e_filter_pctype. This patch fixes it. Fixes: da7018ec29d4 ("net/i40e: fix queue region in RSS flow") -Cc: stable@dpdk.org Signed-off-by: Shougang Wang Reviewed-by: Wei Zhao @@ -17,10 +18,10 @@ 1 file changed, 38 insertions(+), 7 deletions(-) diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c -index 9a8bca46f..51d8fdd79 100644 +index a83543c26..ae2fb4593 100644 --- a/drivers/net/i40e/i40e_flow.c +++ b/drivers/net/i40e/i40e_flow.c -@@ -4851,11 +4851,12 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev, +@@ -4325,11 +4325,12 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev, const struct rte_flow_action *act; const struct rte_flow_action_rss *rss; struct i40e_pf *pf = I40E_DEV_PRIVATE_TO_PF(dev->data->dev_private); @@ -29,12 +30,12 @@ struct i40e_rte_flow_rss_conf *rss_config = &filter->rss_conf; struct i40e_rte_flow_rss_conf *rss_info = &pf->rss_info; -- uint16_t i, j, n, tmp, nb_types; -+ uint16_t i, j, n, m, tmp, nb_types; +- uint16_t i, j, n, tmp; ++ uint16_t i, j, n, m, tmp; uint32_t index = 0; - uint64_t hf_bit = 1; -@@ -4887,6 +4888,24 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev, + static const struct { +@@ -4360,6 +4361,24 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev, I40E_FILTER_PCTYPE_L2_PAYLOAD}, }; @@ -59,7 +60,7 @@ NEXT_ITEM_OF_ACTION(act, actions, index); rss = act->conf; -@@ -4912,6 +4931,18 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev, +@@ -4385,6 +4404,18 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev, break; } } @@ -78,7 +79,7 @@ } /** -@@ -5009,9 +5040,9 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev, +@@ -4482,9 +4513,9 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev, info->region[i].user_priority_num++; } @@ -91,7 +92,7 @@ info->region[i].hw_flowtype[j] = tmp; info->region[i].flowtype_num++; } -@@ -5024,9 +5055,9 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev, +@@ -4497,9 +4528,9 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev, info->region[i].user_priority_num++; }