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 12869A046B for ; Fri, 26 Jul 2019 03:18:48 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A0A3E1C395; Fri, 26 Jul 2019 03:18:47 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id B99951C36A for ; Fri, 26 Jul 2019 03:18:45 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Jul 2019 18:18:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,308,1559545200"; d="scan'208";a="178199461" Received: from npg-dpdk-cvl-simeisu-116d153.sh.intel.com ([10.67.116.153]) by FMSMGA003.fm.intel.com with ESMTP; 25 Jul 2019 18:18:43 -0700 From: simei To: qi.z.zhang@intel.com, jingjing.wu@intel.com, adrien.mazarguil@6wind.com Cc: dev@dpdk.org, simei.su@intel.com Date: Fri, 26 Jul 2019 08:35:50 +0800 Message-Id: <1564101350-98092-1-git-send-email-simei.su@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1564054620-43179-1-git-send-email-simei.su@intel.com> References: <1564054620-43179-1-git-send-email-simei.su@intel.com> Subject: [dpdk-dev] [RFC,v2] ethdev: extend RSS offload types 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: Simei Su This RFC reserves several bits as input set selection from bottom of the 64 bits. The flow type is combined with input set to represent rss types. Correct the input set mask to align with the definition in rte_ethdev.h. for example: ETH_RSS_IPV4 | ETH_RSS_INSET_L3_SRC: hash on src ip address only ETH_RSS_IPV4_UDP | ETH_RSS_INSET_L4_DST: hash on src/dst IP and dst UDP port ETH_RSS_L2_PAYLOAD | ETH_RSS_INSET_L2_DST: hash on dst mac address Signed-off-by: Simei Su --- lib/librte_ethdev/rte_ethdev.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h index dc6596b..452d29f 100644 --- a/lib/librte_ethdev/rte_ethdev.h +++ b/lib/librte_ethdev/rte_ethdev.h @@ -508,6 +508,18 @@ struct rte_eth_rss_conf { #define ETH_RSS_GENEVE (1ULL << RTE_ETH_FLOW_GENEVE) #define ETH_RSS_NVGRE (1ULL << RTE_ETH_FLOW_NVGRE) +/* + * The following six macros are used combined with ETH_RSS_* to + * represent rss types. The structure rte_flow_action_rss.types is + * 64-bit wide and we reserve couple bits here for input set selection. + */ +#define ETH_RSS_INSET_L2_SRC 0x0400000000000000 +#define ETH_RSS_INSET_L2_DST 0x0800000000000000 +#define ETH_RSS_INSET_L3_SRC 0x1000000000000000 +#define ETH_RSS_INSET_L3_DST 0x2000000000000000 +#define ETH_RSS_INSET_L4_SRC 0x4000000000000000 +#define ETH_RSS_INSET_L4_DST 0x8000000000000000 + #define ETH_RSS_IP ( \ ETH_RSS_IPV4 | \ ETH_RSS_FRAG_IPV4 | \ -- 1.8.3.1