功能预览¶
标签说明F¶
[uses]: 驱动需要使用的应用输入信息[implements]: 驱动实现的功能[provides]: 驱动提供的功能[related]: 功能对应的API
速率¶
- [provides] rte_eth_dev_info:
speed_capa:RTE_ETH_LINK_SPEED_*. - [related] API:
rte_eth_dev_info_get().
链路状态¶
包括:链路速率,单工/双工,链路状态(up/down)
- [implements] eth_dev_ops:
link_update. - [implements] rte_eth_dev_data:
dev_link. - [related] API:
rte_eth_link_get(),rte_eth_link_get_nowait().
链路状态事件¶
- [uses] user config:
dev_conf.intr_conf.lsc. - [uses] rte_eth_dev_data:
dev_flags:RTE_ETH_DEV_INTR_LSC. - [uses] rte_eth_event_type:
RTE_ETH_EVENT_INTR_LSC. - [implements] rte_eth_dev_data:
dev_link. - [provides] rte_pci_driver.drv_flags:
RTE_PCI_DRV_INTR_LSC. - [related] API:
rte_eth_link_get(),rte_eth_link_get_nowait().
设备移出事件¶
- [uses] user config:
dev_conf.intr_conf.rmv. - [uses] rte_eth_dev_data:
dev_flags:RTE_ETH_DEV_INTR_RMV. - [uses] rte_eth_event_type:
RTE_ETH_EVENT_INTR_RMV. - [provides] rte_pci_driver.drv_flags:
RTE_PCI_DRV_INTR_RMV.
队列状态事件¶
- [uses] rte_eth_event_type:
RTE_ETH_EVENT_QUEUE_STATE.
接收中断¶
- [uses] user config:
dev_conf.intr_conf.rxq. - [implements] eth_dev_ops:
rx_queue_intr_enable,rx_queue_intr_disable. - [related] API:
rte_eth_dev_rx_intr_enable(),rte_eth_dev_rx_intr_disable().
多线程无锁使用发送队列¶
如果PMD设置了RTE_ETH_TX_OFFLOAD_MT_LOCKFREE,
多个现成可以同时使用该队列发送数据并且不用加锁
- [uses] rte_eth_txconf,rte_eth_txmode:
offloads:RTE_ETH_TX_OFFLOAD_MT_LOCKFREE. - [provides] rte_eth_dev_info:
tx_offload_capa,tx_queue_offload_capa:RTE_ETH_TX_OFFLOAD_MT_LOCKFREE. - [related] API:
rte_eth_tx_burst().
mbuf快速释放¶
当发送队列使用完mbuf后(并且该mbuf未被其他地方引用),可以快速释放
- [uses] rte_eth_txconf,rte_eth_txmode:
offloads:RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE. - [provides] rte_eth_dev_info:
tx_offload_capa,tx_queue_offload_capa:RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE.
按需释放发送mbuf¶
- [implements] eth_dev_ops:
tx_done_cleanup. - [related] API:
rte_eth_tx_done_cleanup().
启动/停止网口队列¶
- [implements] eth_dev_ops:
rx_queue_start,rx_queue_stop,tx_queue_start,tx_queue_stop. - [related] API:
rte_eth_dev_rx_queue_start(),rte_eth_dev_rx_queue_stop(),rte_eth_dev_tx_queue_start(),rte_eth_dev_tx_queue_stop().
更新MTU¶
- [implements] eth_dev_ops:
mtu_set. - [implements] rte_eth_dev_data:
mtu. - [provides] rte_eth_dev_info:
max_rx_pktlen. - [related] API:
rte_eth_dev_set_mtu(),rte_eth_dev_get_mtu().
分散接受¶
接受分段的mbuf
- [uses] rte_eth_rxconf,rte_eth_rxmode:
offloads:RTE_ETH_RX_OFFLOAD_SCATTER. - [implements] datapath:
Scattered Rx function. - [implements] rte_eth_dev_data:
scattered_rx. - [provides] eth_dev_ops:
rxq_info_get:scattered_rx. - [related] eth_dev_ops:
rx_pkt_burst.
2.13. Buffer Split on Rx¶
Scatters the packets being received on specified boundaries to segmented mbufs.
- [uses] rte_eth_rxconf,rte_eth_rxmode:
offloads:RTE_ETH_RX_OFFLOAD_BUFFER_SPLIT. - [uses] rte_eth_rxconf:
rx_conf.rx_seg, rx_conf.rx_nseg. - [implements] datapath:
Buffer Split functionality. - [provides] rte_eth_dev_info:
rx_offload_capa:RTE_ETH_RX_OFFLOAD_BUFFER_SPLIT. - [related] API:
rte_eth_rx_queue_setup().
2.14. LRO¶
Supports Large Receive Offload.
- [uses] rte_eth_rxconf,rte_eth_rxmode:
offloads:RTE_ETH_RX_OFFLOAD_TCP_LRO.dev_conf.rxmode.max_lro_pkt_size. - [implements] datapath:
LRO functionality. - [implements] rte_eth_dev_data:
lro. - [provides] mbuf:
mbuf.ol_flags:RTE_MBUF_F_RX_LRO,mbuf.tso_segsz. - [provides] rte_eth_dev_info:
rx_offload_capa,rx_queue_offload_capa:RTE_ETH_RX_OFFLOAD_TCP_LRO. - [provides] rte_eth_dev_info:
max_lro_pkt_size.
TSO¶
- [uses] rte_eth_txconf,rte_eth_txmode:
offloads:RTE_ETH_TX_OFFLOAD_TCP_TSO. - [uses] rte_eth_desc_lim:
nb_seg_max,nb_mtu_seg_max. - [uses] mbuf:
mbuf.ol_flags:RTE_MBUF_F_TX_TCP_SEG,RTE_MBUF_F_TX_IPV4,RTE_MBUF_F_TX_IPV6,RTE_MBUF_F_TX_IP_CKSUM. - [uses] mbuf:
mbuf.tso_segsz,mbuf.l2_len,mbuf.l3_len,mbuf.l4_len. - [implements] datapath:
TSO functionality. - [provides] rte_eth_dev_info:
tx_offload_capa,tx_queue_offload_capa:RTE_ETH_TX_OFFLOAD_TCP_TSO,RTE_ETH_TX_OFFLOAD_UDP_TSO.
网口混杂模式¶
- [implements] eth_dev_ops:
promiscuous_enable,promiscuous_disable. - [implements] rte_eth_dev_data:
promiscuous. - [related] API:
rte_eth_promiscuous_enable(),rte_eth_promiscuous_disable(),rte_eth_promiscuous_get().
组播功能¶
- [implements] eth_dev_ops:
allmulticast_enable,allmulticast_disable. - [implements] rte_eth_dev_data:
all_multicast. - [related] API:
rte_eth_allmulticast_enable(),rte_eth_allmulticast_disable(),rte_eth_allmulticast_get().
单播MAC过滤¶
- [implements] eth_dev_ops:
mac_addr_set,mac_addr_add,mac_addr_remove. - [implements] rte_eth_dev_data:
mac_addrs. - [related] API:
rte_eth_dev_default_mac_addr_set(),rte_eth_dev_mac_addr_add(),rte_eth_dev_mac_addr_remove(),rte_eth_macaddr_get().
多播MAC过滤¶
- [implements] eth_dev_ops:
set_mc_addr_list. - [related] API:
rte_eth_dev_set_mc_addr_list().
2.20. RSS hash¶
- [uses] user config:
dev_conf.rxmode.mq_mode=RTE_ETH_MQ_RX_RSS_FLAG. - [uses] user config:
dev_conf.rx_adv_conf.rss_conf. - [uses] rte_eth_rxconf,rte_eth_rxmode:
offloads:RTE_ETH_RX_OFFLOAD_RSS_HASH. - [provides] rte_eth_dev_info:
flow_type_rss_offloads. - [provides] mbuf:
mbuf.ol_flags:RTE_MBUF_F_RX_RSS_HASH,mbuf.rss.
Inner RSS¶
内部报头的RSS哈希
- [uses] rte_flow_action_rss:
level. - [uses] rte_eth_rxconf,rte_eth_rxmode:
offloads:RTE_ETH_RX_OFFLOAD_RSS_HASH. - [provides] mbuf:
mbuf.ol_flags:RTE_MBUF_F_RX_RSS_HASH,mbuf.rss.
更新RSS key¶
Supports configuration of Receive Side Scaling (RSS) hash computation. Updating Receive Side Scaling (RSS) hash key.
- [implements] eth_dev_ops:
rss_hash_update,rss_hash_conf_get. - [provides] rte_eth_dev_info:
hash_key_size. - [related] API:
rte_eth_dev_rss_hash_update(),rte_eth_dev_rss_hash_conf_get().
更新RSS重定向表¶
- [implements] eth_dev_ops:
reta_update,reta_query. - [provides] rte_eth_dev_info:
reta_size. - [related] API:
rte_eth_dev_rss_reta_update(),rte_eth_dev_rss_reta_query().
VMDq¶
Supports Virtual Machine Device Queues (VMDq).
- [uses] user config:
dev_conf.rxmode.mq_mode=RTE_ETH_MQ_RX_VMDQ_FLAG. - [uses] user config:
dev_conf.rx_adv_conf.vmdq_dcb_conf. - [uses] user config:
dev_conf.rx_adv_conf.vmdq_rx_conf. - [uses] user config:
dev_conf.tx_adv_conf.vmdq_dcb_tx_conf. - [uses] user config:
dev_conf.tx_adv_conf.vmdq_tx_conf.
SR-IOV¶
- [implements] rte_eth_dev_data:
sriov.
数据中心桥接¶
- [uses] user config:
dev_conf.rxmode.mq_mode=RTE_ETH_MQ_RX_DCB_FLAG. - [uses] user config:
dev_conf.rx_adv_conf.vmdq_dcb_conf. - [uses] user config:
dev_conf.rx_adv_conf.dcb_rx_conf. - [uses] user config:
dev_conf.tx_adv_conf.vmdq_dcb_tx_conf. - [uses] user config:
dev_conf.tx_adv_conf.vmdq_tx_conf. - [implements] eth_dev_ops:
get_dcb_info. - [related] API:
rte_eth_dev_get_dcb_info().
VLAN过滤¶
- [uses] rte_eth_rxconf,rte_eth_rxmode:
offloads:RTE_ETH_RX_OFFLOAD_VLAN_FILTER. - [implements] eth_dev_ops:
vlan_filter_set. - [related] API:
rte_eth_dev_vlan_filter().
flow控制¶
- [implements] eth_dev_ops:
flow_ctrl_get,flow_ctrl_set,priority_flow_ctrl_set,priority_flow_ctrl_queue_info_get,priority_flow_ctrl_queue_configure - [related] API:
rte_eth_dev_flow_ctrl_get(),rte_eth_dev_flow_ctrl_set(),rte_eth_dev_priority_flow_ctrl_set(),rte_eth_dev_priority_flow_ctrl_queue_info_get(),rte_eth_dev_priority_flow_ctrl_queue_configure().
发送速率限制¶
Supports Tx rate limitation for a queue.
- [implements] eth_dev_ops:
set_queue_rate_limit. - [related] API:
rte_eth_set_queue_rate_limit().
关联加密¶
Supports inline crypto processing defined by rte_security library to perform crypto operations of security protocol while packet is received in NIC. NIC is not aware of protocol operations. See Security library and PMD documentation for more details.
- [uses] rte_eth_rxconf,rte_eth_rxmode:
offloads:RTE_ETH_RX_OFFLOAD_SECURITY, - [uses] rte_eth_txconf,rte_eth_txmode:
offloads:RTE_ETH_TX_OFFLOAD_SECURITY. - [uses] mbuf:
mbuf.l2_len. - [implements] rte_security_ops:
session_create,session_update,session_stats_get,session_destroy,set_pkt_metadata,capabilities_get. - [provides] rte_eth_dev_info:
rx_offload_capa,rx_queue_offload_capa:RTE_ETH_RX_OFFLOAD_SECURITY,tx_offload_capa,tx_queue_offload_capa:RTE_ETH_TX_OFFLOAD_SECURITY. - [provides] mbuf:
mbuf.ol_flags:RTE_MBUF_F_RX_SEC_OFFLOAD,mbuf.ol_flags:RTE_MBUF_F_TX_SEC_OFFLOAD,mbuf.ol_flags:RTE_MBUF_F_RX_SEC_OFFLOAD_FAILED. - [provides] rte_security_ops, capabilities_get:
action: RTE_SECURITY_ACTION_TYPE_INLINE_CRYPTO
关联协议¶
Supports inline protocol processing defined by rte_security library to perform protocol processing for the security protocol (e.g. IPsec, MACSEC) while the packet is received at NIC. The NIC is capable of understanding the security protocol operations. See security library and PMD documentation for more details.
- [uses] rte_eth_rxconf,rte_eth_rxmode:
offloads:RTE_ETH_RX_OFFLOAD_SECURITY, - [uses] rte_eth_txconf,rte_eth_txmode:
offloads:RTE_ETH_TX_OFFLOAD_SECURITY. - [uses] mbuf:
mbuf.l2_len. - [implements] rte_security_ops:
session_create,session_update,session_stats_get,session_destroy,set_pkt_metadata,get_userdata,capabilities_get. - [provides] rte_eth_dev_info:
rx_offload_capa,rx_queue_offload_capa:RTE_ETH_RX_OFFLOAD_SECURITY,tx_offload_capa,tx_queue_offload_capa:RTE_ETH_TX_OFFLOAD_SECURITY. - [provides] mbuf:
mbuf.ol_flags:RTE_MBUF_F_RX_SEC_OFFLOAD,mbuf.ol_flags:RTE_MBUF_F_TX_SEC_OFFLOAD,mbuf.ol_flags:RTE_MBUF_F_RX_SEC_OFFLOAD_FAILED. - [provides] rte_security_ops, capabilities_get:
action: RTE_SECURITY_ACTION_TYPE_INLINE_PROTOCOL
CRC卸载¶
Supports CRC stripping by hardware. A PMD assumed to support CRC stripping by default. PMD should advertise if it supports keeping CRC.
- [uses] rte_eth_rxconf,rte_eth_rxmode:
offloads:RTE_ETH_RX_OFFLOAD_KEEP_CRC.
VLAN标签卸载¶
- [uses] rte_eth_rxconf,rte_eth_rxmode:
offloads:RTE_ETH_RX_OFFLOAD_VLAN_STRIP,RTE_ETH_RX_OFFLOAD_VLAN_FILTER,RTE_ETH_RX_OFFLOAD_VLAN_EXTEND. - [uses] rte_eth_txconf,rte_eth_txmode:
offloads:RTE_ETH_TX_OFFLOAD_VLAN_INSERT. - [uses] mbuf:
mbuf.ol_flags:RTE_MBUF_F_TX_VLAN,mbuf.vlan_tci. - [implements] eth_dev_ops:
vlan_offload_set. - [provides] mbuf:
mbuf.ol_flags:RTE_MBUF_F_RX_VLAN_STRIPPED,mbuf.ol_flags:RTE_MBUF_F_RX_VLANmbuf.vlan_tci. - [provides] rte_eth_dev_info:
rx_offload_capa,rx_queue_offload_capa:RTE_ETH_RX_OFFLOAD_VLAN_STRIP,tx_offload_capa,tx_queue_offload_capa:RTE_ETH_TX_OFFLOAD_VLAN_INSERT. - [related] API:
rte_eth_dev_set_vlan_offload(),rte_eth_dev_get_vlan_offload().
2.34. QinQ offload¶
Supports QinQ (queue in queue) offload.
- [uses] rte_eth_rxconf,rte_eth_rxmode:
offloads:RTE_ETH_RX_OFFLOAD_QINQ_STRIP. - [uses] rte_eth_txconf,rte_eth_txmode:
offloads:RTE_ETH_TX_OFFLOAD_QINQ_INSERT. - [uses] mbuf:
mbuf.ol_flags:RTE_MBUF_F_TX_QINQ,mbuf.vlan_tci_outer. - [provides] mbuf:
mbuf.ol_flags:RTE_MBUF_F_RX_QINQ_STRIPPED,mbuf.ol_flags:RTE_MBUF_F_RX_QINQ,mbuf.ol_flags:RTE_MBUF_F_RX_VLAN_STRIPPED,mbuf.ol_flags:RTE_MBUF_F_RX_VLANmbuf.vlan_tci,mbuf.vlan_tci_outer. - [provides] rte_eth_dev_info:
rx_offload_capa,rx_queue_offload_capa:RTE_ETH_RX_OFFLOAD_QINQ_STRIP,tx_offload_capa,tx_queue_offload_capa:RTE_ETH_TX_OFFLOAD_QINQ_INSERT.
2.35. FEC¶
Supports Forward error correction. Forward error correction (FEC) is a bit error correction mode. It adds error correction information to data packets at the transmit end, and uses the error correction information to correct the bit errors generated during data packet transmission at the receive end. This improves signal quality but also brings a delay to signals. This function can be enabled or disabled as required.
- [implements] eth_dev_ops:
fec_get_capability,fec_get,fec_set. - [provides] rte_eth_fec_capa:
speed:RTE_ETH_SPEED_NUM_*,capa:RTE_ETH_FEC_MODE_TO_CAPA(). - [related] API:
rte_eth_fec_get_capability(),rte_eth_fec_get(),rte_eth_fec_set().
IP报文重组¶
- [provides] eth_dev_ops:
ip_reassembly_capability_get,ip_reassembly_conf_get,ip_reassembly_conf_set. - [related] API:
rte_eth_ip_reassembly_capability_get(),rte_eth_ip_reassembly_conf_get(),rte_eth_ip_reassembly_conf_set().
L3校验和卸载¶
- [uses] rte_eth_rxconf,rte_eth_rxmode:
offloads:RTE_ETH_RX_OFFLOAD_IPV4_CKSUM. - [uses] rte_eth_txconf,rte_eth_txmode:
offloads:RTE_ETH_TX_OFFLOAD_IPV4_CKSUM. - [uses] mbuf:
mbuf.ol_flags:RTE_MBUF_F_TX_IP_CKSUM,mbuf.ol_flags:RTE_MBUF_F_TX_IPV4|RTE_MBUF_F_TX_IPV6. - [uses] mbuf:
mbuf.l2_len,mbuf.l3_len. - [provides] mbuf:
mbuf.ol_flags:RTE_MBUF_F_RX_IP_CKSUM_UNKNOWN|RTE_MBUF_F_RX_IP_CKSUM_BAD|RTE_MBUF_F_RX_IP_CKSUM_GOOD|RTE_MBUF_F_RX_IP_CKSUM_NONE. - [provides] rte_eth_dev_info:
rx_offload_capa,rx_queue_offload_capa:RTE_ETH_RX_OFFLOAD_IPV4_CKSUM,tx_offload_capa,tx_queue_offload_capa:RTE_ETH_TX_OFFLOAD_IPV4_CKSUM.
L4校验和卸载¶
Supports L4 checksum offload.
- [uses] rte_eth_rxconf,rte_eth_rxmode:
offloads:RTE_ETH_RX_OFFLOAD_UDP_CKSUM,RTE_ETH_RX_OFFLOAD_TCP_CKSUM,RTE_ETH_RX_OFFLOAD_SCTP_CKSUM. - [uses] rte_eth_txconf,rte_eth_txmode:
offloads:RTE_ETH_TX_OFFLOAD_UDP_CKSUM,RTE_ETH_TX_OFFLOAD_TCP_CKSUM,RTE_ETH_TX_OFFLOAD_SCTP_CKSUM. - [uses] mbuf:
mbuf.ol_flags:RTE_MBUF_F_TX_IPV4|RTE_MBUF_F_TX_IPV6,mbuf.ol_flags:RTE_MBUF_F_TX_L4_NO_CKSUM|RTE_MBUF_F_TX_TCP_CKSUM|RTE_MBUF_F_TX_SCTP_CKSUM|RTE_MBUF_F_TX_UDP_CKSUM. - [uses] mbuf:
mbuf.l2_len,mbuf.l3_len. - [provides] mbuf:
mbuf.ol_flags:RTE_MBUF_F_RX_L4_CKSUM_UNKNOWN|RTE_MBUF_F_RX_L4_CKSUM_BAD|RTE_MBUF_F_RX_L4_CKSUM_GOOD|RTE_MBUF_F_RX_L4_CKSUM_NONE. - [provides] rte_eth_dev_info:
rx_offload_capa,rx_queue_offload_capa:RTE_ETH_RX_OFFLOAD_UDP_CKSUM,RTE_ETH_RX_OFFLOAD_TCP_CKSUM,RTE_ETH_RX_OFFLOAD_SCTP_CKSUM,tx_offload_capa,tx_queue_offload_capa:RTE_ETH_TX_OFFLOAD_UDP_CKSUM,RTE_ETH_TX_OFFLOAD_TCP_CKSUM,RTE_ETH_TX_OFFLOAD_SCTP_CKSUM.
时间戳卸载¶
- [uses] rte_eth_rxconf,rte_eth_rxmode:
offloads:RTE_ETH_RX_OFFLOAD_TIMESTAMP. - [provides] mbuf:
mbuf.ol_flags:RTE_MBUF_F_RX_TIMESTAMP. - [provides] mbuf:
mbuf.timestamp. - [provides] rte_eth_dev_info:
rx_offload_capa,rx_queue_offload_capa: RTE_ETH_RX_OFFLOAD_TIMESTAMP. - [related] eth_dev_ops:
read_clock.
MACsec卸载¶
- [uses] rte_eth_rxconf,rte_eth_rxmode:
offloads:RTE_ETH_RX_OFFLOAD_MACSEC_STRIP. - [uses] rte_eth_txconf,rte_eth_txmode:
offloads:RTE_ETH_TX_OFFLOAD_MACSEC_INSERT. - [uses] mbuf:
mbuf.ol_flags:RTE_MBUF_F_TX_MACSEC. - [provides] rte_eth_dev_info:
rx_offload_capa,rx_queue_offload_capa:RTE_ETH_RX_OFFLOAD_MACSEC_STRIP,tx_offload_capa,tx_queue_offload_capa:RTE_ETH_TX_OFFLOAD_MACSEC_INSERT.
内部L3校验和¶
- [uses] rte_eth_rxconf,rte_eth_rxmode:
offloads:RTE_ETH_RX_OFFLOAD_OUTER_IPV4_CKSUM. - [uses] rte_eth_txconf,rte_eth_txmode:
offloads:RTE_ETH_TX_OFFLOAD_OUTER_IPV4_CKSUM. - [uses] mbuf:
mbuf.ol_flags:RTE_MBUF_F_TX_IP_CKSUM,mbuf.ol_flags:RTE_MBUF_F_TX_IPV4|RTE_MBUF_F_TX_IPV6,mbuf.ol_flags:RTE_MBUF_F_TX_OUTER_IP_CKSUM,mbuf.ol_flags:RTE_MBUF_F_TX_OUTER_IPV4|RTE_MBUF_F_TX_OUTER_IPV6. - [uses] mbuf:
mbuf.outer_l2_len,mbuf.outer_l3_len. - [provides] mbuf:
mbuf.ol_flags:RTE_MBUF_F_RX_OUTER_IP_CKSUM_BAD. - [provides] rte_eth_dev_info:
rx_offload_capa,rx_queue_offload_capa:RTE_ETH_RX_OFFLOAD_OUTER_IPV4_CKSUM,tx_offload_capa,tx_queue_offload_capa:RTE_ETH_TX_OFFLOAD_OUTER_IPV4_CKSUM.
内部L4校验和¶
- [uses] rte_eth_rxconf,rte_eth_rxmode:
offloads:RTE_ETH_RX_OFFLOAD_OUTER_UDP_CKSUM. - [provides] mbuf:
mbuf.ol_flags:RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN|RTE_MBUF_F_RX_OUTER_L4_CKSUM_BAD|RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD|RTE_MBUF_F_RX_OUTER_L4_CKSUM_INVALID. - [uses] rte_eth_txconf,rte_eth_txmode:
offloads:RTE_ETH_TX_OFFLOAD_OUTER_UDP_CKSUM. - [uses] mbuf:
mbuf.ol_flags:RTE_MBUF_F_TX_OUTER_IPV4|RTE_MBUF_F_TX_OUTER_IPV6.mbuf.ol_flags:RTE_MBUF_F_TX_OUTER_UDP_CKSUM. - [uses] mbuf:
mbuf.outer_l2_len,mbuf.outer_l3_len. - [provides] rte_eth_dev_info:
rx_offload_capa,rx_queue_offload_capa:RTE_ETH_RX_OFFLOAD_OUTER_UDP_CKSUM,tx_offload_capa,tx_queue_offload_capa:RTE_ETH_TX_OFFLOAD_OUTER_UDP_CKSUM.
共享接收队列¶
- [uses] rte_eth_dev_info:
dev_capa:RTE_ETH_DEV_CAPA_RXQ_SHARE. - [uses] rte_eth_dev_info,rte_eth_switch_info:
rx_domain,domain_id. - [uses] rte_eth_rxconf:
share_group,share_qid. - [provides] mbuf:
mbuf.port.
解析类型¶
- [implements] eth_dev_ops:
dev_supported_ptypes_get, - [related] API:
rte_eth_dev_get_supported_ptypes(),rte_eth_dev_set_ptypes(),dev_ptypes_set. - [provides] mbuf:
mbuf.packet_type.
时间同步¶
支持IEEE1588/802.1AS 时间戳
- [implements] eth_dev_ops:
timesync_enable,timesync_disabletimesync_read_rx_timestamp,timesync_read_tx_timestamp,timesync_adjust_time,timesync_read_time,timesync_write_time. - [related] API:
rte_eth_timesync_enable(),rte_eth_timesync_disable(),rte_eth_timesync_read_rx_timestamp(),rte_eth_timesync_read_tx_timestamp,rte_eth_timesync_adjust_time(),rte_eth_timesync_read_time(),rte_eth_timesync_write_time().
接受描述符状态¶
Supports check the status of a Rx descriptor. When rx_descriptor_status is used, status can be “Available”, “Done” or “Unavailable”.
- [implements] rte_eth_dev:
rx_descriptor_status. - [related] API:
rte_eth_rx_descriptor_status().
发送描述符状态¶
Supports checking the status of a Tx descriptor. Status can be “Full”, “Done” or “Unavailable.”
- [implements] rte_eth_dev:
tx_descriptor_status. - [related] API:
rte_eth_tx_descriptor_status().
统计¶
- [implements] eth_dev_ops:
stats_get,stats_reset. - [related] API:
rte_eth_stats_get,rte_eth_stats_reset().
统计扩展¶
- [implements] eth_dev_ops:
xstats_get,xstats_reset,xstats_get_names. - [implements] eth_dev_ops:
xstats_get_by_id,xstats_get_names_by_id. - [related] API:
rte_eth_xstats_get(),rte_eth_xstats_reset(),rte_eth_xstats_get_names,rte_eth_xstats_get_by_id(),rte_eth_xstats_get_names_by_id(),rte_eth_xstats_get_id_by_name().
队列统计¶
- [implements] eth_dev_ops:
queue_stats_mapping_set. - [related] API:
rte_eth_dev_set_rx_queue_stats_mapping(),rte_eth_dev_set_tx_queue_stats_mapping().
获取设备固件版本信息¶
- [implements] eth_dev_ops:
fw_version_get. - [related] API:
rte_eth_dev_fw_version_get().
2.52. EEPROM dump¶
Supports getting/setting device eeprom data.
- [implements] eth_dev_ops:
get_eeprom_length,get_eeprom,set_eeprom. - [related] API:
rte_eth_dev_get_eeprom_length(),rte_eth_dev_get_eeprom(),rte_eth_dev_set_eeprom().
2.53. Module EEPROM dump¶
Supports getting information and data of plugin module eeprom.
- [implements] eth_dev_ops:
get_module_info,get_module_eeprom. - [related] API:
rte_eth_dev_get_module_info(),rte_eth_dev_get_module_eeprom().
导出设备寄存器信息¶
- [implements] eth_dev_ops:
get_reg. - [related] API:
rte_eth_dev_get_reg_info().
LED¶
打开或关闭设备的LED
- [implements] eth_dev_ops:
dev_led_on,dev_led_off. - [related] API:
rte_eth_led_on(),rte_eth_led_off().
接收队列运行时设置¶
- [provides] rte_eth_dev_info:
dev_capa:RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP. - [related] API:
rte_eth_dev_info_get().
发送队列运行时设置¶
- [provides] rte_eth_dev_info:
dev_capa:RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP. - [related] API:
rte_eth_dev_info_get().
2.71. Burst模式信息¶
获取Rx/Tx报文burst模式信息
- [implements] eth_dev_ops:
rx_burst_mode_get,tx_burst_mode_get. - [related] API:
rte_eth_rx_burst_mode_get(),rte_eth_tx_burst_mode_get().
2.72. PMD power management using monitor addresses¶
Supports getting a monitoring condition to use together with Ethernet PMD power management (see Power Management for more details).
- [implements] eth_dev_ops:
get_monitor_addr
其他开发选项¶
rxq_info_gettxq_info_getvlan_tpid_setvlan_strip_queue_setvlan_pvid_setrx_queue_countuc_hash_table_setuc_all_hash_table_setudp_tunnel_port_addudp_tunnel_port_deltx_pkt_prepare