[dpdk-dev] [PATCH 2/7] ethdev: add mbuf RSS update as a offload

Andrew Rybchenko arybchenko at solarflare.com
Fri Aug 16 09:48:24 CEST 2019


On 8/16/19 8:55 AM, pbhagavatula at marvell.com wrote:
> From: Pavan Nikhilesh <pbhagavatula at marvell.com>
>
> Add new Rx offload flag `DEV_RX_OFFLOAD_RSS_HASH` which can be used to
> enable/disable PMDs write to `rte_mbuf::hash::rss`.

It should be highlighted that presence of the RSS hash is indicated
by PKT_RX_RSS_HASH flag in mbuf anyway. Now applications have
a way to check that RSS hash delivery is supported and should
enable the offload if RSS hash is used. PMD may still provide the
hash even if the offload is not enabled.

> Signed-off-by: Pavan Nikhilesh <pbhagavatula at marvell.com>

Reviewed-by: Andrew Rybchenko <arybchenko at solarflare.com>

with above and one note below fixed.

> ---
>   doc/guides/nics/features.rst   | 2 ++
>   lib/librte_ethdev/rte_ethdev.h | 1 +
>   2 files changed, 3 insertions(+)
>
> diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
> index d4d55f721..f79b69b38 100644
> --- a/doc/guides/nics/features.rst
> +++ b/doc/guides/nics/features.rst
> @@ -274,6 +274,7 @@ Supports RSS hashing on RX.
>   
>   * **[uses]     user config**: ``dev_conf.rxmode.mq_mode`` = ``ETH_MQ_RX_RSS_FLAG``.
>   * **[uses]     user config**: ``dev_conf.rx_adv_conf.rss_conf``.
> +* **[uses]     rte_eth_rxconf,rte_eth_rxmode**: ``offloads:DEV_RX_OFFLOAD_RSS_HASH``.
>   * **[provides] rte_eth_dev_info**: ``flow_type_rss_offloads``.
>   * **[provides] mbuf**: ``mbuf.ol_flags:PKT_RX_RSS_HASH``, ``mbuf.rss``.
>   
> @@ -286,6 +287,7 @@ Inner RSS
>   Supports RX RSS hashing on Inner headers.
>   
>   * **[uses]    rte_flow_action_rss**: ``level``.
> +* **[uses]    rte_eth_rxconf,rte_eth_rxmode**: ``offloads:DEV_RX_OFFLOAD_RSS_HASH``.
>   * **[provides] mbuf**: ``mbuf.ol_flags:PKT_RX_RSS_HASH``, ``mbuf.rss``.
>   
>   
> diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
> index f97f0a6e5..889486a11 100644
> --- a/lib/librte_ethdev/rte_ethdev.h
> +++ b/lib/librte_ethdev/rte_ethdev.h
> @@ -1013,6 +1013,7 @@ struct rte_eth_conf {
>   #define DEV_RX_OFFLOAD_KEEP_CRC		0x00010000
>   #define DEV_RX_OFFLOAD_SCTP_CKSUM	0x00020000
>   #define DEV_RX_OFFLOAD_OUTER_UDP_CKSUM  0x00040000
> +#define DEV_RX_OFFLOAD_RSS_HASH		0x00080000

Should be added to rte_rx_offload_names in lib/librte_ethdev/rte_ethdev.c.



More information about the dev mailing list