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 209C8A0573; Thu, 5 Mar 2020 11:48:31 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 8FAFA1BFFA; Thu, 5 Mar 2020 11:48:10 +0100 (CET) Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [148.163.129.52]) by dpdk.org (Postfix) with ESMTP id 7BA5D1BFE2 for ; Thu, 5 Mar 2020 11:48:07 +0100 (CET) X-Virus-Scanned: Proofpoint Essentials engine Received: from webmail.solarflare.com (uk.solarflare.com [193.34.186.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mx1-us4.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id 25905800056 for ; Thu, 5 Mar 2020 10:48:06 +0000 (UTC) Received: from ukex01.SolarFlarecom.com (10.17.10.4) by ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 5 Mar 2020 10:48:00 +0000 Received: from opal.uk.solarflarecom.com (10.17.10.1) by ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Thu, 5 Mar 2020 10:48:00 +0000 Received: from ukv-loginhost.uk.solarflarecom.com (ukv-loginhost.uk.solarflarecom.com [10.17.10.39]) by opal.uk.solarflarecom.com (8.13.8/8.13.8) with ESMTP id 025Am1pt016210; Thu, 5 Mar 2020 10:48:01 GMT Received: from ukv-loginhost.uk.solarflarecom.com (localhost [127.0.0.1]) by ukv-loginhost.uk.solarflarecom.com (Postfix) with ESMTP id 2BE5F1611DB; Thu, 5 Mar 2020 10:48:01 +0000 (GMT) From: Andrew Rybchenko To: CC: Ivan Malov Date: Thu, 5 Mar 2020 10:47:47 +0000 Message-ID: <1583405273-14176-2-git-send-email-arybchenko@solarflare.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1583405273-14176-1-git-send-email-arybchenko@solarflare.com> References: <1583405273-14176-1-git-send-email-arybchenko@solarflare.com> MIME-Version: 1.0 Content-Type: text/plain X-TM-AS-Product-Ver: SMEX-12.5.0.1300-8.5.1020-25270.003 X-TM-AS-Result: No-5.888200-8.000000-10 X-TMASE-MatchedRID: PIgnFej44f6RfEAa9TTCniZm6wdY+F8Kpr8UJOYMZDJqrsOvUFEKy88L sFcDLWgWJLbE0OI0XCNtw5RFtiqXjfSCkSozt+9huwdUMMznEA8/pOSL72dTfwdkFovAReUo1gg lJbmeshO0V6PZx5kBNpf1EF8dUCKBXXhMBXemG5RGjDwRSl8gFBA5wxKjT3bqQW6eCaGxKwLUNu /GwgXq7hQEIBfWbs2WuZnpC1DG3WrepncDgUbx3aUjrBFsam6VTdVzLEuviE9DRvNKoirMYNlQt UFiiij63YB2wzhQsBSXMgn25/IXtkkjllSXrjtQFEUknJ/kEl7dB/CxWTRRu25FeHtsUoHu63s9 fHwlQDtOJnempR3MRCnlArFkICrou77ZJxAM1XM2RRIMOrvjaQ== X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--5.888200-8.000000 X-TMASE-Version: SMEX-12.5.0.1300-8.5.1020-25270.003 X-MDID: 1583405286-0BFykO2bSqT5 Subject: [dpdk-dev] [PATCH 1/7] net/sfc: make flow RSS details VNIC-specific X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Ivan Malov The flow specification structure will be transformed to a generic one, and its current contents will be fenced off to form a VNIC-specific parameters. Flow RSS details do not belong to the said specification currently, albeit being VNIC-specific. This patch addresses this issue as a preparation step. Signed-off-by: Ivan Malov Signed-off-by: Andrew Rybchenko --- drivers/net/sfc/sfc_flow.c | 12 ++++++------ drivers/net/sfc/sfc_flow.h | 6 ++++-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/net/sfc/sfc_flow.c b/drivers/net/sfc/sfc_flow.c index 8d636f692..f285ba552 100644 --- a/drivers/net/sfc/sfc_flow.c +++ b/drivers/net/sfc/sfc_flow.c @@ -1262,7 +1262,7 @@ sfc_flow_parse_rss(struct sfc_adapter *sa, unsigned int rxq_hw_index_max; efx_rx_hash_type_t efx_hash_types; const uint8_t *rss_key; - struct sfc_flow_rss *sfc_rss_conf = &flow->rss_conf; + struct sfc_flow_rss *sfc_rss_conf = &flow->spec.rss_conf; unsigned int i; if (action_rss->queue_num == 0) @@ -1334,7 +1334,7 @@ sfc_flow_parse_rss(struct sfc_adapter *sa, rss_key = rss->key; } - flow->rss = B_TRUE; + flow->spec.rss = B_TRUE; sfc_rss_conf->rxq_hw_index_min = rxq_hw_index_min; sfc_rss_conf->rxq_hw_index_max = rxq_hw_index_max; @@ -1402,12 +1402,12 @@ sfc_flow_filter_insert(struct sfc_adapter *sa, { struct sfc_adapter_shared * const sas = sfc_sa2shared(sa); struct sfc_rss *rss = &sas->rss; - struct sfc_flow_rss *flow_rss = &flow->rss_conf; + struct sfc_flow_rss *flow_rss = &flow->spec.rss_conf; uint32_t efs_rss_context = EFX_RSS_CONTEXT_DEFAULT; unsigned int i; int rc = 0; - if (flow->rss) { + if (flow->spec.rss) { unsigned int rss_spread = MIN(flow_rss->rxq_hw_index_max - flow_rss->rxq_hw_index_min + 1, EFX_MAXRSS); @@ -1450,7 +1450,7 @@ sfc_flow_filter_insert(struct sfc_adapter *sa, if (rc != 0) goto fail_filter_insert; - if (flow->rss) { + if (flow->spec.rss) { /* * Scale table is set after filter insertion because * the table entries are relative to the base RxQ ID @@ -1491,7 +1491,7 @@ sfc_flow_filter_remove(struct sfc_adapter *sa, if (rc != 0) return rc; - if (flow->rss) { + if (flow->spec.rss) { /* * All specifications for a given flow rule have the same RSS * context, so that RSS context value is taken from the first diff --git a/drivers/net/sfc/sfc_flow.h b/drivers/net/sfc/sfc_flow.h index 71ec18cb9..14a6b5d14 100644 --- a/drivers/net/sfc/sfc_flow.h +++ b/drivers/net/sfc/sfc_flow.h @@ -43,13 +43,15 @@ struct sfc_flow_spec { efx_filter_spec_t filters[SF_FLOW_SPEC_NB_FILTERS_MAX]; /* number of complete specifications */ unsigned int count; + /* RSS toggle */ + boolean_t rss; + /* RSS configuration */ + struct sfc_flow_rss rss_conf; }; /* PMD-specific definition of the opaque type from rte_flow.h */ struct rte_flow { struct sfc_flow_spec spec; /* flow spec for hardware filter(s) */ - boolean_t rss; /* RSS toggle */ - struct sfc_flow_rss rss_conf; /* RSS configuration */ TAILQ_ENTRY(rte_flow) entries; /* flow list entries */ }; -- 2.17.1