Detail the comment for RSS offload types and added comments for each type. Signed-off-by: Qiming Yang <qiming.y...@intel.com> --- lib/librte_ether/rte_ethdev.h | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-)
diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index 341c2d6..2091560 100644 --- a/lib/librte_ether/rte_ethdev.h +++ b/lib/librte_ether/rte_ethdev.h @@ -427,31 +427,52 @@ struct rte_eth_rss_conf { uint64_t rss_hf; /**< Hash functions to apply - see below. */ }; -/* - * The RSS offload types are defined based on flow types which are defined - * in rte_eth_ctrl.h. Different NIC hardwares may support different RSS offload - * types. The supported flow types or RSS offload types can be queried by +/** + * The RSS offload types are related to *rss_hf* field of *rss_conf* structure. + * They are defined based on flow types which are defined in rte_eth_ctrl.h. + * Different NIC hardwares may support different RSS offload types. The + * supported flow types or RSS offload types can be queried by * rte_eth_dev_info_get(). */ +/** Enable RSS offload on IPV4 packets */ #define ETH_RSS_IPV4 (1ULL << RTE_ETH_FLOW_IPV4) +/** Enable RSS offload on fragmented IPV4 packets */ #define ETH_RSS_FRAG_IPV4 (1ULL << RTE_ETH_FLOW_FRAG_IPV4) +/** Enable RSS offload on none fragmented IPV4 TCP packets */ #define ETH_RSS_NONFRAG_IPV4_TCP (1ULL << RTE_ETH_FLOW_NONFRAG_IPV4_TCP) +/** Enable RSS offload on none fragmented IPV4 UDP packets */ #define ETH_RSS_NONFRAG_IPV4_UDP (1ULL << RTE_ETH_FLOW_NONFRAG_IPV4_UDP) +/** Enable RSS offload on none fragmented IPV4 SCTP packets */ #define ETH_RSS_NONFRAG_IPV4_SCTP (1ULL << RTE_ETH_FLOW_NONFRAG_IPV4_SCTP) +/** Enable RSS offload on other none fragmented IPV4 packets */ #define ETH_RSS_NONFRAG_IPV4_OTHER (1ULL << RTE_ETH_FLOW_NONFRAG_IPV4_OTHER) +/** Enable RSS offload on IPV6 packets */ #define ETH_RSS_IPV6 (1ULL << RTE_ETH_FLOW_IPV6) +/** Enable RSS offload on fragmented IPV6 packets */ #define ETH_RSS_FRAG_IPV6 (1ULL << RTE_ETH_FLOW_FRAG_IPV6) +/** Enable RSS offload on none fragmented IPV6 TCP packets */ #define ETH_RSS_NONFRAG_IPV6_TCP (1ULL << RTE_ETH_FLOW_NONFRAG_IPV6_TCP) +/** Enable RSS offload on none fragmented IPV6 UDP packets */ #define ETH_RSS_NONFRAG_IPV6_UDP (1ULL << RTE_ETH_FLOW_NONFRAG_IPV6_UDP) +/** Enable RSS offload on none fragmented IPV6 SCTP packets */ #define ETH_RSS_NONFRAG_IPV6_SCTP (1ULL << RTE_ETH_FLOW_NONFRAG_IPV6_SCTP) +/** Enable RSS offload on other none fragmented IPV6 packets */ #define ETH_RSS_NONFRAG_IPV6_OTHER (1ULL << RTE_ETH_FLOW_NONFRAG_IPV6_OTHER) +/** Enable RSS offload on L2 Ethernet packets */ #define ETH_RSS_L2_PAYLOAD (1ULL << RTE_ETH_FLOW_L2_PAYLOAD) +/** Enable RSS offload on extended IPV6 packets */ #define ETH_RSS_IPV6_EX (1ULL << RTE_ETH_FLOW_IPV6_EX) +/** Enable RSS offload on extended IPV6 TCP packets */ #define ETH_RSS_IPV6_TCP_EX (1ULL << RTE_ETH_FLOW_IPV6_TCP_EX) +/** Enable RSS offload on extended IPV6 UDP packets */ #define ETH_RSS_IPV6_UDP_EX (1ULL << RTE_ETH_FLOW_IPV6_UDP_EX) +/** Enable RSS offload on all packets from that port */ #define ETH_RSS_PORT (1ULL << RTE_ETH_FLOW_PORT) +/** Enable RSS offload on VXLAN packets */ #define ETH_RSS_VXLAN (1ULL << RTE_ETH_FLOW_VXLAN) +/** Enable RSS offload on GENEVE packets */ #define ETH_RSS_GENEVE (1ULL << RTE_ETH_FLOW_GENEVE) +/** Enable RSS offload on NVGRE packets */ #define ETH_RSS_NVGRE (1ULL << RTE_ETH_FLOW_NVGRE) #define ETH_RSS_IP ( \ -- 2.9.4