[dpdk-dev,v1,01/21] ethdev: support tunnel RSS level
Checks
Commit Message
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(+)
@@ -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;
};
/*