DPDK
25.11.0
Toggle main menu visibility
Loading...
Searching...
No Matches
rte_ethdev_core.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-3-Clause
2
* Copyright(c) 2017 Intel Corporation
3
*/
4
5
#ifndef _RTE_ETHDEV_CORE_H_
6
#define _RTE_ETHDEV_CORE_H_
7
18
19
struct
rte_eth_dev_callback;
21
RTE_TAILQ_HEAD
(rte_eth_dev_cb_list, rte_eth_dev_callback);
22
23
struct
rte_eth_dev;
24
28
typedef
uint16_t (*eth_rx_burst_t)(
void
*rxq,
29
struct
rte_mbuf
**rx_pkts,
30
uint16_t nb_pkts);
31
35
typedef
uint16_t (*eth_tx_burst_t)(
void
*
txq
,
36
struct
rte_mbuf
**tx_pkts,
37
uint16_t nb_pkts);
38
42
typedef
uint16_t (*eth_tx_prep_t)(
void
*
txq
,
43
struct
rte_mbuf
**tx_pkts,
44
uint16_t nb_pkts);
45
46
48
typedef
int (*eth_rx_queue_count_t)(
void
*rxq);
49
51
typedef
int (*eth_rx_descriptor_status_t)(
void
*rxq, uint16_t offset);
52
54
typedef
int (*eth_tx_queue_count_t)(
void
*
txq
);
55
57
typedef
int (*eth_tx_descriptor_status_t)(
void
*
txq
, uint16_t offset);
58
60
typedef
uint16_t (*eth_recycle_tx_mbufs_reuse_t)(
void
*
txq
,
61
struct
rte_eth_recycle_rxq_info
*recycle_rxq_info);
62
64
typedef
void (*eth_recycle_rx_descriptors_refill_t)(
void
*rxq, uint16_t nb);
65
73
struct
rte_ethdev_qdata {
75
void
**data;
77
RTE_ATOMIC(
void
*) *clbk;
78
};
79
87
struct
__rte_cache_aligned
rte_eth_fp_ops {
88
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];
106
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];
126
127
};
128
129
extern
struct
rte_eth_fp_ops rte_eth_fp_ops[RTE_MAX_ETHPORTS];
130
131
#endif
/* _RTE_ETHDEV_CORE_H_ */
RTE_TAILQ_HEAD
RTE_TAILQ_HEAD(rte_class_list, rte_class)
__rte_cache_aligned
#define __rte_cache_aligned
Definition
rte_common.h:739
rte_eth_recycle_rxq_info
Definition
rte_ethdev.h:1928
rte_mbuf
Definition
rte_mbuf_core.h:475
rte_mbuf::txq
uint16_t txq
Definition
rte_mbuf_core.h:597
lib
ethdev
rte_ethdev_core.h
Generated by
1.17.0