]>
Commit | Line | Data |
---|---|---|
f67539c2 TL |
1 | /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0) |
2 | * Copyright(c) 2018-2019 Pensando Systems, Inc. All rights reserved. | |
3 | */ | |
4 | ||
5 | #ifndef _IONIC_RXTX_H_ | |
6 | #define _IONIC_RXTX_H_ | |
7 | ||
8 | #include <rte_mbuf.h> | |
9 | ||
10 | struct ionic_rx_service { | |
11 | /* cb in */ | |
12 | struct rte_mbuf **rx_pkts; | |
13 | uint16_t nb_pkts; | |
14 | /* cb out */ | |
15 | uint16_t nb_rx; | |
16 | }; | |
17 | ||
18 | uint16_t ionic_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, | |
19 | uint16_t nb_pkts); | |
20 | uint16_t ionic_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, | |
21 | uint16_t nb_pkts); | |
22 | uint16_t ionic_prep_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, | |
23 | uint16_t nb_pkts); | |
24 | ||
25 | int ionic_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id, | |
26 | uint16_t nb_desc, uint32_t socket_id, | |
27 | const struct rte_eth_rxconf *rx_conf, struct rte_mempool *mp); | |
28 | void ionic_dev_rx_queue_release(void *rxq); | |
29 | int ionic_dev_rx_queue_start(struct rte_eth_dev *dev, uint16_t rx_queue_id); | |
30 | int ionic_dev_rx_queue_stop(struct rte_eth_dev *eth_dev, uint16_t rx_queue_id); | |
31 | ||
32 | int ionic_dev_tx_queue_setup(struct rte_eth_dev *dev, uint16_t tx_queue_id, | |
33 | uint16_t nb_desc, uint32_t socket_id, | |
34 | const struct rte_eth_txconf *tx_conf); | |
35 | void ionic_dev_tx_queue_release(void *tx_queue); | |
36 | int ionic_dev_tx_queue_stop(struct rte_eth_dev *eth_dev, uint16_t tx_queue_id); | |
37 | int ionic_dev_tx_queue_start(struct rte_eth_dev *dev, uint16_t tx_queue_id); | |
38 | ||
39 | void ionic_rxq_info_get(struct rte_eth_dev *dev, uint16_t queue_id, | |
40 | struct rte_eth_rxq_info *qinfo); | |
41 | void ionic_txq_info_get(struct rte_eth_dev *dev, uint16_t queue_id, | |
42 | struct rte_eth_txq_info *qinfo); | |
43 | ||
44 | #endif /* _IONIC_RXTX_H_ */ |