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 D1812A0093 for ; Fri, 22 May 2020 11:41:39 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C690A1D966; Fri, 22 May 2020 11:41:39 +0200 (CEST) Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by dpdk.org (Postfix) with ESMTP id 94F1C1D966 for ; Fri, 22 May 2020 11:41:37 +0200 (CEST) Received: by mail-wr1-f67.google.com with SMTP id e16so9500142wra.7 for ; Fri, 22 May 2020 02:41:37 -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=RGKk7ErJzoJdktI4nuts1fImTpn8GKg2KohKFJ7L23E=; b=cdLDoTHiwg/IRX2+C9HUL9gAqxiCp8tDAzLO5UnsBGXovqASwc16TN9g0l1fXLmzM0 tsyeiBHvhQBIojzNARJ0avyXrXRcyFzuHvYH/eYAxZOr+yQQx3/Glb75Odk4tKrR9nVt WEGQ3YDTKz6EYlbPNZbk2lqoHuRIyQGUbzMwVYiORQ4i+d1gfMoKeCOPT8ARN7cl+D79 3qAJd7fR/FeecA1fQVH1KsrIlty/NB5S4+afh3VVqU8u/K51hn9vNPL7aGiqBgY6n/8Y 57qRuhstHJqb4y3ar12rmhGUnJYPpmwXrsNqXN6Nt6hYBoB0BCKZ7BKjt0IEp9Orw6D0 hV9g== 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=RGKk7ErJzoJdktI4nuts1fImTpn8GKg2KohKFJ7L23E=; b=uE09Vz2tBaA6QNCaA99oruvqqIVndRfC1p0DTC/MxtsCt8nYLGcuCMYtteeXDs9Msq uT9olohzt0Ak2stJvwWN5ii/aaf5XwrnZLigxPFNOepFp4XF8OJ2kgW26ibYV60ftMUM D3Y6LLV5EeRpn1sWAOYE6J0+SPBu2XE5cyjBuGyb7KtCCekww7vjgrxgC0KZB302Jz8+ +mGqUGUPALX5O3TUJwcra0DHzkDRtqe93w14xeR2HKVXMkoTxG8dRFBHwD0z/5HYIUV7 aIOGnUK2kmEH4Q/k6yLVp7p9LAqaHokVydfHvx9rpIffXbN6gn3A0YyJ53152xkJiAhv ppfQ== X-Gm-Message-State: AOAM533+n7OeLFIUlmucWL/3w3z0uFKabuBGH8772nMc5rwla4XrvtFQ OiFDgPGHkJIdPyLIeV7SOVQ= X-Google-Smtp-Source: ABdhPJx+0h6M/o+e2PTjTm2puSAHwT5OHfPs9sCvs0KIXakPvqriTdFMt0U2Fbe6nd2Etuouq5yYUg== X-Received: by 2002:adf:f5c4:: with SMTP id k4mr2559966wrp.23.1590140497340; Fri, 22 May 2020 02:41:37 -0700 (PDT) Received: from localhost ([88.98.246.218]) by smtp.gmail.com with ESMTPSA id u23sm9517763wmu.20.2020.05.22.02.41.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 May 2020 02:41:36 -0700 (PDT) From: luca.boccassi@gmail.com To: Shougang Wang Cc: Jeff Guo , Hailin Xu , Lunyuan Cui , dpdk stable Date: Fri, 22 May 2020 10:40:04 +0100 Message-Id: <20200522094022.1025696-25-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200522094022.1025696-1-luca.boccassi@gmail.com> References: <20200519130549.112823-214-luca.boccassi@gmail.com> <20200522094022.1025696-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'net/i40e: fix queue region in RSS flow' has been queued to stable release 19.11.3 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.3 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 05/24/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 fc047c800bad0e396e954523861151fbb5e794e1 Mon Sep 17 00:00:00 2001 From: Shougang Wang Date: Fri, 15 May 2020 07:32:31 +0000 Subject: [PATCH] net/i40e: fix queue region in RSS flow [ upstream commit da7018ec29d405e9b36b6997eedb728c04bb0fe8 ] This patch fixes the issue that the queue region does not take effect due to incorrectly setting the flow type. Fixes: ecad87d22383 ("net/i40e: move RSS to flow API") Signed-off-by: Shougang Wang Reviewed-by: Jeff Guo Tested-by: Hailin Xu Tested-by: Lunyuan Cui --- drivers/net/i40e/i40e_flow.c | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c index ea3b223e11..9b5e797d59 100644 --- a/drivers/net/i40e/i40e_flow.c +++ b/drivers/net/i40e/i40e_flow.c @@ -4327,7 +4327,34 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev, struct i40e_rte_flow_rss_conf *rss_info = &pf->rss_info; uint16_t i, j, n, tmp; uint32_t index = 0; - uint64_t hf_bit = 1; + + static const struct { + uint64_t rss_type; + enum i40e_filter_pctype pctype; + } pctype_match_table[] = { + {ETH_RSS_FRAG_IPV4, + I40E_FILTER_PCTYPE_FRAG_IPV4}, + {ETH_RSS_NONFRAG_IPV4_TCP, + I40E_FILTER_PCTYPE_NONF_IPV4_TCP}, + {ETH_RSS_NONFRAG_IPV4_UDP, + I40E_FILTER_PCTYPE_NONF_IPV4_UDP}, + {ETH_RSS_NONFRAG_IPV4_SCTP, + I40E_FILTER_PCTYPE_NONF_IPV4_SCTP}, + {ETH_RSS_NONFRAG_IPV4_OTHER, + I40E_FILTER_PCTYPE_NONF_IPV4_OTHER}, + {ETH_RSS_FRAG_IPV6, + I40E_FILTER_PCTYPE_FRAG_IPV6}, + {ETH_RSS_NONFRAG_IPV6_TCP, + I40E_FILTER_PCTYPE_NONF_IPV6_TCP}, + {ETH_RSS_NONFRAG_IPV6_UDP, + I40E_FILTER_PCTYPE_NONF_IPV6_UDP}, + {ETH_RSS_NONFRAG_IPV6_SCTP, + I40E_FILTER_PCTYPE_NONF_IPV6_SCTP}, + {ETH_RSS_NONFRAG_IPV6_OTHER, + I40E_FILTER_PCTYPE_NONF_IPV6_OTHER}, + {ETH_RSS_L2_PAYLOAD, + I40E_FILTER_PCTYPE_L2_PAYLOAD}, + }; NEXT_ITEM_OF_ACTION(act, actions, index); rss = act->conf; @@ -4345,9 +4372,10 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev, } if (action_flag) { - for (n = 0; n < 64; n++) { - if (rss->types & (hf_bit << n)) { - conf_info->region[0].hw_flowtype[0] = n; + for (j = 0; j < RTE_DIM(pctype_match_table); j++) { + if (rss->types & pctype_match_table[j].rss_type) { + conf_info->region[0].hw_flowtype[0] = + (uint8_t)pctype_match_table[j].pctype; conf_info->region[0].flowtype_num = 1; conf_info->queue_region_number = 1; break; -- 2.20.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2020-05-22 10:37:40.187412741 +0100 +++ 0025-net-i40e-fix-queue-region-in-RSS-flow.patch 2020-05-22 10:37:39.140412929 +0100 @@ -1,30 +1,33 @@ -From da7018ec29d405e9b36b6997eedb728c04bb0fe8 Mon Sep 17 00:00:00 2001 +From fc047c800bad0e396e954523861151fbb5e794e1 Mon Sep 17 00:00:00 2001 From: Shougang Wang Date: Fri, 15 May 2020 07:32:31 +0000 Subject: [PATCH] net/i40e: fix queue region in RSS flow +[ upstream commit da7018ec29d405e9b36b6997eedb728c04bb0fe8 ] + This patch fixes the issue that the queue region does not take effect due to incorrectly setting the flow type. Fixes: ecad87d22383 ("net/i40e: move RSS to flow API") -Cc: stable@dpdk.org Signed-off-by: Shougang Wang Reviewed-by: Jeff Guo Tested-by: Hailin Xu Tested-by: Lunyuan Cui --- - drivers/net/i40e/i40e_flow.c | 35 ++++++++++++++++++++++++++++++++--- - 1 file changed, 32 insertions(+), 3 deletions(-) + drivers/net/i40e/i40e_flow.c | 36 ++++++++++++++++++++++++++++++++---- + 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c -index 72f3527386..25c77e7aa6 100644 +index ea3b223e11..9b5e797d59 100644 --- a/drivers/net/i40e/i40e_flow.c +++ b/drivers/net/i40e/i40e_flow.c -@@ -4622,6 +4622,34 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev, +@@ -4327,7 +4327,34 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev, + struct i40e_rte_flow_rss_conf *rss_info = &pf->rss_info; + uint16_t i, j, n, tmp; uint32_t index = 0; - uint64_t hf_bit = 1; - +- uint64_t hf_bit = 1; ++ + static const struct { + uint64_t rss_type; + enum i40e_filter_pctype pctype; @@ -52,14 +55,13 @@ + {ETH_RSS_L2_PAYLOAD, + I40E_FILTER_PCTYPE_L2_PAYLOAD}, + }; -+ + NEXT_ITEM_OF_ACTION(act, actions, index); rss = act->conf; - -@@ -4638,9 +4666,10 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev, +@@ -4345,9 +4372,10 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev, } - if (p_info.action_flag && rss->queue_num) { + if (action_flag) { - for (n = 0; n < 64; n++) { - if (rss->types & (hf_bit << n)) { - conf_info->region[0].hw_flowtype[0] = n;