From patchwork Thu Jan 9 12:16:32 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Iremonger, Bernard" X-Patchwork-Id: 64362 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id AD253A046B; Thu, 9 Jan 2020 13:17:46 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C4B221DD3D; Thu, 9 Jan 2020 13:17:05 +0100 (CET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 6AEB21DD37 for ; Thu, 9 Jan 2020 13:17:04 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Jan 2020 04:17:04 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,413,1571727600"; d="scan'208";a="227310102" Received: from sivswdev08.ir.intel.com (HELO localhost.localdomain) ([10.237.217.47]) by fmsmga001.fm.intel.com with ESMTP; 09 Jan 2020 04:17:02 -0800 From: Bernard Iremonger To: dev@dpdk.org, beilei.xing@intel.com, qi.z.zhang@intel.com, declan.doherty@intel.com Cc: konstantin.ananyev@intel.com, stephen1.byrne@intel.com, helin.zhang@intel.com, Bernard Iremonger Date: Thu, 9 Jan 2020 12:16:32 +0000 Message-Id: <1578572194-594-8-git-send-email-bernard.iremonger@intel.com> X-Mailer: git-send-email 1.7.0.7 In-Reply-To: <1576577756-648-1-git-send-email-bernard.iremonger@intel.com> References: <1576577756-648-1-git-send-email-bernard.iremonger@intel.com> Subject: [dpdk-dev] [PATCH v3 7/9] librte_ethdev: add ESP and AH flow types to RSS 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" Add flow types for the following PCTYPE's in the DDP ipsec profile: 14: IPV6 ESP 15: IPV4 ESP 16: IPV6 AH 17: IPV4 AH 18: IPV6 UDP ESP 19: IPV4 UDP ESP Add the following RSS macros for IPsec: ETH_RSS_ESP ETH_RSS_AH ETH_RSS_IPSEC Signed-off-by: Bernard Iremonger --- lib/librte_ethdev/rte_ethdev.h | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h index 18a9def..39c89cb 100644 --- a/lib/librte_ethdev/rte_ethdev.h +++ b/lib/librte_ethdev/rte_ethdev.h @@ -484,7 +484,13 @@ struct rte_eth_rss_conf { #define RTE_ETH_FLOW_NVGRE 21 /**< NVGRE protocol based flow */ #define RTE_ETH_FLOW_VXLAN_GPE 22 /**< VXLAN-GPE protocol based flow */ #define RTE_ETH_FLOW_GTPU 23 /**< GTPU protocol based flow */ -#define RTE_ETH_FLOW_MAX 24 +#define RTE_ETH_FLOW_IPV4_AH 24 /**< IPv4 AH protocol based flow */ +#define RTE_ETH_FLOW_IPV4_ESP 25 /**< IPv4 ESP protocol based flow */ +#define RTE_ETH_FLOW_IPV4_UDP_ESP 26 /**< IPv4 UDP ESP proto based flow */ +#define RTE_ETH_FLOW_IPV6_AH 27 /**< IPv6 AH protocol based flow */ +#define RTE_ETH_FLOW_IPV6_ESP 28 /**< IPv6 ESP protocol based flow */ +#define RTE_ETH_FLOW_IPV6_UDP_ESP 29 /**< IPv6 UDP ESP proto based flow */ +#define RTE_ETH_FLOW_MAX 30 /* * Below macros are defined for RSS offload types, they can be used to @@ -511,6 +517,13 @@ struct rte_eth_rss_conf { #define ETH_RSS_GENEVE (1ULL << 20) #define ETH_RSS_NVGRE (1ULL << 21) #define ETH_RSS_GTPU (1ULL << 23) +#define ETH_RSS_IPV4_AH (1ULL << 24) +#define ETH_RSS_IPV4_ESP (1ULL << 25) +#define ETH_RSS_IPV4_UDP_ESP (1ULL << 26) +#define ETH_RSS_IPV6_AH (1ULL << 27) +#define ETH_RSS_IPV6_ESP (1ULL << 28) +#define ETH_RSS_IPV6_UDP_ESP (1ULL << 29) + /* * We use the following macros to combine with above ETH_RSS_* for @@ -571,6 +584,20 @@ rte_eth_rss_hf_refine(uint64_t rss_hf) ETH_RSS_NONFRAG_IPV4_SCTP | \ ETH_RSS_NONFRAG_IPV6_SCTP) +#define ETH_RSS_AH ( \ + ETH_RSS_IPV4_AH | \ + ETH_RSS_IPV6_AH) + +#define ETH_RSS_ESP ( \ + ETH_RSS_IPV4_ESP | \ + ETH_RSS_IPV6_ESP | \ + ETH_RSS_IPV4_UDP_ESP | \ + ETH_RSS_IPV6_UDP_ESP) + +#define ETH_RSS_IPSEC ( \ + ETH_RSS_AH | \ + ETH_RSS_ESP) + #define ETH_RSS_TUNNEL ( \ ETH_RSS_VXLAN | \ ETH_RSS_GENEVE | \