From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id BBC794C92 for ; Mon, 26 Feb 2018 16:10:20 +0100 (CET) Received: from Internal Mail-Server by MTLPINE1 (envelope-from xuemingl@mellanox.com) with ESMTPS (AES256-SHA encrypted); 26 Feb 2018 17:10:36 +0200 Received: from dev-r630-06.mtbc.labs.mlnx (dev-r630-06.mtbc.labs.mlnx [10.12.205.180]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id w1QFAHVE021352; Mon, 26 Feb 2018 17:10:17 +0200 Received: from dev-r630-06.mtbc.labs.mlnx (localhost [127.0.0.1]) by dev-r630-06.mtbc.labs.mlnx (8.14.7/8.14.7) with ESMTP id w1QFAH9n107255; Mon, 26 Feb 2018 23:10:17 +0800 Received: (from xuemingl@localhost) by dev-r630-06.mtbc.labs.mlnx (8.14.7/8.14.7/Submit) id w1QFAHFi107254; Mon, 26 Feb 2018 23:10:17 +0800 From: Xueming Li To: Wenzhuo Lu , Jingjing Wu , Thomas Monjalon , Nelio Laranjeiro , Adrien Mazarguil , Shahaf Shuler Cc: Xueming Li , dev@dpdk.org Date: Mon, 26 Feb 2018 23:09:30 +0800 Message-Id: <20180226150947.107179-2-xuemingl@mellanox.com> X-Mailer: git-send-email 2.13.3 In-Reply-To: <20180226150947.107179-1-xuemingl@mellanox.com> References: <20180226150947.107179-1-xuemingl@mellanox.com> Subject: [dpdk-dev] [PATCH 01/18] ethdev: support tunnel RSS level 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: , X-List-Received-Date: Mon, 26 Feb 2018 15:10:21 -0000 Currently PMD implementations default RSS on either tunnel outer or inner fields. This patch introduced RSS level to allow user to specify RSS hash field level of tunneled packets. 0: outer RSS. 1: inner RSS. 2-255: deep RSS level. Please note that tunnels that tightly nested without IP/UDP/TCP layer interlaced are deemed as one level. For example the following packet can only use level 0 or 1: eth / ipv4 / GRE / MPLS / ipv4 / udp Signed-off-by: Xueming Li --- lib/librte_ether/rte_ethdev.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index 0361533..baaeb3c 100644 --- a/lib/librte_ether/rte_ethdev.h +++ b/lib/librte_ether/rte_ethdev.h @@ -398,6 +398,15 @@ struct rte_eth_rss_conf { uint8_t *rss_key; /**< If not NULL, 40-byte hash key. */ uint8_t rss_key_len; /**< hash key length in bytes. */ uint64_t rss_hf; /**< Hash functions to apply - see below. */ + /** + * RSS hash calculation on tunnel level: + * 0: outer RSS, default. + * 1: inner RSS. + * 2-255: deep RSS level. + * Please note that tunnels not interlaced with [IP|TCP|UDP] are + * deemed as one level, such as MPLS over GRE. + */ + uint8_t rss_level; }; /* -- 1.8.3.1