From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <xuemingl@mellanox.com> Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id DEC295F25 for <dev@dpdk.org>; Fri, 9 Mar 2018 12:29:52 +0100 (CET) Received: from Internal Mail-Server by MTLPINE1 (envelope-from xuemingl@mellanox.com) with ESMTPS (AES256-SHA encrypted); 9 Mar 2018 13:30:20 +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 w29BTmDJ021021; Fri, 9 Mar 2018 13:29:48 +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 w29BTmTV002184; Fri, 9 Mar 2018 19:29:48 +0800 Received: (from xuemingl@localhost) by dev-r630-06.mtbc.labs.mlnx (8.14.7/8.14.7/Submit) id w29BTmfv002183; Fri, 9 Mar 2018 19:29:48 +0800 From: Xueming Li <xuemingl@mellanox.com> To: Wenzhuo Lu <wenzhuo.lu@intel.com>, Jingjing Wu <jingjing.wu@intel.com>, Thomas Monjalon <thomas@monjalon.net>, Nelio Laranjeiro <nelio.laranjeiro@6wind.com>, Adrien Mazarguil <adrien.mazarguil@6wind.com>, Shahaf Shuler <shahafs@mellanox.com>, Olivier Matz <olivier.matz@6wind.com> Cc: Xueming Li <xuemingl@mellanox.com>, dev@dpdk.org Date: Fri, 9 Mar 2018 19:29:01 +0800 Message-Id: <20180309112921.2105-2-xuemingl@mellanox.com> X-Mailer: git-send-email 2.13.3 In-Reply-To: <20180309112921.2105-1-xuemingl@mellanox.com> References: <20180309112921.2105-1-xuemingl@mellanox.com> In-Reply-To: <20180226150947.107179-2-xuemingl@mellanox.com> References: <20180226150947.107179-2-xuemingl@mellanox.com> Subject: [dpdk-dev] [PATCH v1 01/21] ethdev: support tunnel RSS level X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://dpdk.org/ml/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://dpdk.org/ml/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://dpdk.org/ml/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> X-List-Received-Date: Fri, 09 Mar 2018 11:29:53 -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 <xuemingl@mellanox.com> --- 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