1. overwrite the comments of fields of 'rte_eth_rss_conf'.
2. Add comments for RTE_ETH_HASH_FUNCTION_DEFAULT.

Signed-off-by: Jie Hai <haij...@huawei.com>
---
 lib/ethdev/rte_ethdev.h | 33 ++++++++++++++++++---------------
 lib/ethdev/rte_flow.h   |  1 +
 2 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h
index 2fd3cd808dbf..37fd5afef48a 100644
--- a/lib/ethdev/rte_ethdev.h
+++ b/lib/ethdev/rte_ethdev.h
@@ -448,24 +448,27 @@ 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. */
+       /**
+        * In rte_eth_dev_rss_hash_conf_get(), the *rss_key_len* should be
+        * greater than or equal to the hash_key_size which get from
+        * rte_eth_dev_info_get() API. And the *rss_key* should contain at least
+        * *rss_key_len* bytes. If not meet these requirements, the query result
+        * is unreliable even the operation returns success.
+        *
+        * In rte_eth_dev_rss_hash_update() or rte_eth_dev_configure(), the
+        * *rss_key_len* indicates the length of the *rss_key* in bytes of
+        * the array pointed by *rss_key*. Drivers are free to ignore the
+        * *rss_key_len* and assume key length is 40 bytes.
+        */
+       uint8_t *rss_key;
        uint8_t rss_key_len; /**< hash key length in bytes. */
-       uint64_t rss_hf;     /**< Hash functions to apply - see below. */
+       /**
+        * Indicates the type of packets or the specific part of packets to
+        * which RSS hashing is to be applied.
+        */
+       uint64_t rss_hf;
 };
 
 /*
diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h
index edefa34c10da..25f1dffd1f30 100644
--- a/lib/ethdev/rte_flow.h
+++ b/lib/ethdev/rte_flow.h
@@ -3226,6 +3226,7 @@ struct rte_flow_query_count {
  * Hash function types.
  */
 enum rte_eth_hash_function {
+       /** DEFAULT means driver decides which hash algorithm to pick. */
        RTE_ETH_HASH_FUNCTION_DEFAULT = 0,
        RTE_ETH_HASH_FUNCTION_TOEPLITZ, /**< Toeplitz */
        RTE_ETH_HASH_FUNCTION_SIMPLE_XOR, /**< Simple XOR */
-- 
2.30.0

Reply via email to