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_descriptor_status_t)(
void *
txq, uint16_t offset);
57 typedef uint16_t (*eth_recycle_tx_mbufs_reuse_t)(
void *
txq,
61 typedef void (*eth_recycle_rx_descriptors_refill_t)(
void *rxq, uint16_t nb);
70 struct rte_ethdev_qdata {
74 RTE_ATOMIC(
void *) *clbk;
84 struct rte_eth_fp_ops {
92 struct rte_ethdev_qdata rxq;
94 eth_rx_burst_t rx_pkt_burst;
96 eth_rx_queue_count_t rx_queue_count;
98 eth_rx_descriptor_status_t rx_descriptor_status;
100 eth_recycle_rx_descriptors_refill_t recycle_rx_descriptors_refill;
101 uintptr_t reserved1[2];
110 struct rte_ethdev_qdata txq;
112 eth_tx_burst_t tx_pkt_burst;
114 eth_tx_prep_t tx_pkt_prepare;
116 eth_tx_descriptor_status_t tx_descriptor_status;
118 eth_recycle_tx_mbufs_reuse_t recycle_tx_mbufs_reuse;
119 uintptr_t reserved2[2];
124 extern struct rte_eth_fp_ops rte_eth_fp_ops[RTE_MAX_ETHPORTS];
RTE_TAILQ_HEAD(rte_class_list, rte_class)
#define __rte_cache_aligned