5#ifndef _RTE_ETHDEV_CORE_H_
6#define _RTE_ETHDEV_CORE_H_
19struct rte_eth_dev_callback;
28typedef uint16_t (*eth_rx_burst_t)(
void *rxq,
35typedef uint16_t (*eth_tx_burst_t)(
void *
txq,
42typedef uint16_t (*eth_tx_prep_t)(
void *
txq,
48typedef uint32_t (*eth_rx_queue_count_t)(
void *rxq);
51typedef int (*eth_rx_descriptor_status_t)(
void *rxq, uint16_t offset);
54typedef int (*eth_tx_queue_count_t)(
void *
txq);
57typedef int (*eth_tx_descriptor_status_t)(
void *
txq, uint16_t offset);
60typedef uint16_t (*eth_recycle_tx_mbufs_reuse_t)(
void *
txq,
64typedef void (*eth_recycle_rx_descriptors_refill_t)(
void *rxq, uint16_t nb);
73struct 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];
129extern struct rte_eth_fp_ops rte_eth_fp_ops[RTE_MAX_ETHPORTS];
RTE_TAILQ_HEAD(rte_class_list, rte_class)
#define __rte_cache_aligned