5 #ifndef _RTE_ETHDEV_CORE_H_ 6 #define _RTE_ETHDEV_CORE_H_ 19 struct rte_eth_dev_callback;
28 typedef uint16_t (*eth_rx_burst_t)(
void *rxq,
35 typedef uint16_t (*eth_tx_burst_t)(
void *
txq,
42 typedef uint16_t (*eth_tx_prep_t)(
void *
txq,
48 typedef uint32_t (*eth_rx_queue_count_t)(
void *rxq);
51 typedef int (*eth_rx_descriptor_status_t)(
void *rxq, uint16_t offset);
54 typedef int (*eth_tx_queue_count_t)(
void *
txq);
57 typedef int (*eth_tx_descriptor_status_t)(
void *
txq, uint16_t offset);
60 typedef uint16_t (*eth_recycle_tx_mbufs_reuse_t)(
void *
txq,
64 typedef void (*eth_recycle_rx_descriptors_refill_t)(
void *rxq, uint16_t nb);
73 struct rte_ethdev_qdata {
77 RTE_ATOMIC(
void *) *clbk;
95 struct rte_ethdev_qdata rxq;
97 eth_rx_burst_t rx_pkt_burst;
99 eth_rx_queue_count_t rx_queue_count;
101 eth_rx_descriptor_status_t rx_descriptor_status;
103 eth_recycle_rx_descriptors_refill_t recycle_rx_descriptors_refill;
104 uintptr_t reserved1[2];
113 struct rte_ethdev_qdata txq;
115 eth_tx_burst_t tx_pkt_burst;
117 eth_tx_prep_t tx_pkt_prepare;
119 eth_tx_descriptor_status_t tx_descriptor_status;
121 eth_recycle_tx_mbufs_reuse_t recycle_tx_mbufs_reuse;
123 eth_tx_queue_count_t tx_queue_count;
124 uintptr_t reserved2[1];
129 extern struct rte_eth_fp_ops rte_eth_fp_ops[RTE_MAX_ETHPORTS];
#define __rte_cache_aligned
RTE_TAILQ_HEAD(rte_class_list, rte_class)