Question about flow_type_rss_offloads in rte_eth_dev_info

lihuisong (C) lihuisong at huawei.com
Fri Apr 22 05:55:59 CEST 2022


Hi, all.

The RTE_ETH_FLOW_XXX macros, are used to display supported flow types 
for PMD
based on the rte_eth_dev_info.flow_type_rss_offloads in the 
port_infos_display() of
testpmd.

And PMD assigns RSS offload capability bit, like RTE_ETH_RSS_XXX, to 
this field.
The usage of RTE_ETH_RSS_XXX macros are described as follows in:
/*
  * Below macros are defined for RSS offload types, they can be used to
  * fill rte_eth_rss_conf.rss_hf or rte_flow_action_rss.types.
  */
#define RTE_ETH_RSS_IPV4               RTE_BIT64(2)

But RTE_ETH_FLOW_MAX is 24, and the number of RTE_ETH_FLOW_XXX micro far 
less than
the number of RTE_ETH_RSS_XXX. If PMD sets RSS offload capability bit 
out range of
RTE_ETH_FLOW_XXX, like RTE_ETH_RSS_L3_SRC_ONLY, to this field, testpmd 
will display
"user defined 63" when run 'show port info 0'. This is a problem that I 
have now.

On the other hand, rx_adv_conf.rte_eth_rss_conf.rss_hf from App must be 
within the
rte_eth_dev_info.flow_type_rss_offloads in dev_configure.

To sum up, I'm a little confused right now.
How should PMD populate the field "flow_type_rss_offloads" in struct 
rte_eth_dev_info?


More information about the dev mailing list