[dpdk-dev] [PATCH v1] ethdev: document RSS default key and types

Thomas Monjalon thomas at monjalon.net
Mon Nov 5 22:47:38 CET 2018


This patch is in next-net but may be improved before reaching mainline.
The comments may be shorter and avoid being split in 2 parts.
The second part of the doxygen comments, starting with /**,
will apply wrongly to the next field.


03/11/2018 16:46, Ophir Munk:
> struct rte_flow_action_rss include fields 'key' and 'types'.
> Field 'key' is a pointer to bytes array (uint8_t *) which contains the
> specific RSS hash key.
> If an application is only interested in default RSS operation it
> should not care about the specific hash key. The application can set
> the hash key to NULL such that any PMD uses its default RSS key.
> 
> Field 'types' is a uint64_t bits flag used to specify a specific RSS
> hash type such as ETH_RSS_IP (see ETH_RSS_*).
> If an application does not care about the specific RSS type it can set
> this field to 0 such that any PMD uses its default type.
> 
> Signed-off-by: Ophir Munk <ophirmu at mellanox.com>
> ---
> v1: Initial version
> 
> --- a/lib/librte_ethdev/rte_flow.h
> +++ b/lib/librte_ethdev/rte_flow.h
> @@ -1782,13 +1782,29 @@ struct rte_flow_action_rss {
>  	 * through.
>  	 */
>  	uint32_t level;
> -	uint64_t types; /**< Specific RSS hash types (see ETH_RSS_*). */
> +	uint64_t types; /**< Specific RSS hash types (see ETH_RSS_*) or 0 */
> +	/**
> +	 * Applications should supply specific RSS hash types (e.g.
> +	 * ETH_RSS_IP). If the application does not care about the specific RSS
> +	 * types it can set them to 0 and let any PMD use its default types.
> +	 */
>  	uint32_t key_len; /**< Hash key length in bytes. */
>  	uint32_t queue_num; /**< Number of entries in @p queue. */
> -	const uint8_t *key; /**< Hash key. */
> +	const uint8_t *key; /**< Hash key (can be NULL). */
> +	/**
> +	 * The key is a pointer to hash bytes array.
> +	 *
> +	 * Applications should supply a specific RSS hash key.
> +	 * If an application is only interested in default RSS operation it
> +	 * should not care about the specific hash key. By setting the hash
> +	 * key to NULL - any PMD will use its default RSS key.
> +	 */
>  	const uint16_t *queue; /**< Queue indices to use. */
>  };
>  
> +
> +
> +
>  /**
>   * RTE_FLOW_ACTION_TYPE_VF
>   *





More information about the dev mailing list