[dpdk-dev] [DPDK] lib/librte_ether: add comments RSS flags
Qiming Yang
qiming.yang at intel.com
Thu Jan 4 19:15:06 CET 2018
Detail the comment for RSS offload types and added comments for each type.
Signed-off-by: Qiming Yang <qiming.yang at 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
More information about the dev
mailing list