From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xueming Li Subject: [PATCH 01/18] ethdev: support tunnel RSS level Date: Mon, 26 Feb 2018 23:09:30 +0800 Message-ID: <20180226150947.107179-2-xuemingl@mellanox.com> References: <20180226150947.107179-1-xuemingl@mellanox.com> Cc: Xueming Li , dev@dpdk.org To: Wenzhuo Lu , Jingjing Wu , Thomas Monjalon , Nelio Laranjeiro , Adrien Mazarguil , Shahaf Shuler 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) In-Reply-To: <20180226150947.107179-1-xuemingl@mellanox.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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