该数据结构是用于配置RX高级选项的结构体。其主要成员变量解释如下:
- struct rte_eth_rxmode rxmode:RX模式配置,包括以下参数:
- mq_mode:多队列模式,默认为ETH_MQ_RX_NONE
- max_rx_pkt_len:最大接收包长度,默认为RTE_ETHER_MAX_LEN
- split_hdr_size:分裂头部大小,默认为0
- offloads:禁用基本特征集合、IP校验和等
uint16_t nb_queues:RX队列数目
uint16_t nb_desc:每个队列描述符数量,也称作ring buffer大小
uint8_t rx_thresh:接收阈值,包含以下参数:
- pthresh:预取阈值
- hthresh:处理阈值
- wthresh:写入阈值
- struct rte_eth_vmdq_rx_conf vmdq:VMDq配置,包含以下参数:
- nb_queue_pools:队列池数目
- enable_default_pool:是否启用默认队列池
- default_pool:默认队列池号
- pool_map:队列池映射表
- struct rte_eth_dcb_rx_conf dcb:DCB配置,包含以下参数:
- nb_tcs:Traffic Class数目
- dcb_tc: Traffic Class映射表
- struct rte_eth_flex_payload_cfg flex_conf:灵活负载配置,包括以下参数:
- nb_payloads:可用的payload数量
- payload_limit:单个payload的最大长度
- payload_offload:是否启用offload
- struct rte_eth_rxadv_conf adv_conf:高级选项配置,包含以下参数:
- rss_conf:RSS配置
- vmdq_dcb_conf:VMDq+DCB配置
这些成员变量可以通过调用rte_eth_dev_configure()
函数来进行配置。