[PATCH v4 1/7] ethdev: recomment some definitions related to RSS
Jie Hai
haijie1 at huawei.com
Fri Sep 8 10:00:23 CEST 2023
1. Recomment fields of 'rte_eth_rss_conf'.
2. Add comments for RTE_ETH_HASH_FUNCTION_DEFAULT.
Signed-off-by: Jie Hai <haijie1 at huawei.com>
---
lib/ethdev/rte_ethdev.h | 28 +++++++++++++---------------
lib/ethdev/rte_flow.h | 4 ++++
2 files changed, 17 insertions(+), 15 deletions(-)
diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h
index 04a2564f222a..40cfbb7efddd 100644
--- a/lib/ethdev/rte_ethdev.h
+++ b/lib/ethdev/rte_ethdev.h
@@ -448,24 +448,22 @@ struct rte_vlan_filter_conf {
/**
* A structure used to configure the Receive Side Scaling (RSS) feature
* of an Ethernet port.
- * If not NULL, the *rss_key* pointer of the *rss_conf* structure points
- * to an array holding the RSS key to use for hashing specific header
- * fields of received packets. The length of this array should be indicated
- * by *rss_key_len* below. Otherwise, a default random hash key is used by
- * the device driver.
- *
- * The *rss_key_len* field of the *rss_conf* structure indicates the length
- * in bytes of the array pointed by *rss_key*. To be compatible, this length
- * will be checked in i40e only. Others assume 40 bytes to be used as before.
- *
- * The *rss_hf* field of the *rss_conf* structure indicates the different
- * types of IPv4/IPv6 packets to which the RSS hashing must be applied.
- * Supplying an *rss_hf* equal to zero disables the RSS feature.
*/
struct rte_eth_rss_conf {
- uint8_t *rss_key; /**< If not NULL, 40-byte hash key. */
+ /**
+ * If not NULL, 40-byte hash key to use for hashing specific header
+ * fields of received packets. The size of rss_key should be indicated
+ * by *rss_key_len* below.
+ * Otherwise, a default random hash key is used by the device driver.
+ */
+ uint8_t *rss_key;
uint8_t rss_key_len; /**< hash key length in bytes. */
- uint64_t rss_hf; /**< Hash functions to apply - see below. */
+ /**
+ * The different types of packets to which the RSS hashing must be
+ * applied, may be combined with SRC/DST_ONLY, see below.
+ * Supplying an *rss_hf* equal to zero disables the RSS feature.
+ */
+ uint64_t rss_hf;
};
/*
diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h
index 2ebb76dbc083..3bd0dc64fbe2 100644
--- a/lib/ethdev/rte_flow.h
+++ b/lib/ethdev/rte_flow.h
@@ -3187,6 +3187,10 @@ struct rte_flow_query_count {
* Hash function types.
*/
enum rte_eth_hash_function {
+ /**
+ * DEFAULT means that conformance to a specific hash algorithm is
+ * uncared to the caller. The driver can pick the one it deems optimal.
+ */
RTE_ETH_HASH_FUNCTION_DEFAULT = 0,
RTE_ETH_HASH_FUNCTION_TOEPLITZ, /**< Toeplitz */
RTE_ETH_HASH_FUNCTION_SIMPLE_XOR, /**< Simple XOR */
--
2.30.0
More information about the dev
mailing list