]>
git.proxmox.com Git - ceph.git/blob - ceph/src/spdk/dpdk/lib/librte_node/rte_node_eth_api.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(C) 2020 Marvell International Ltd.
5 #ifndef __INCLUDE_RTE_NODE_ETH_API_H__
6 #define __INCLUDE_RTE_NODE_ETH_API_H__
9 * @file rte_node_eth_api.h
12 * @b EXPERIMENTAL: this API may change without prior notice
14 * This API allows to setup ethdev_rx and ethdev_tx nodes
15 * and its queue associations.
23 #include <rte_common.h>
24 #include <rte_mempool.h>
27 * Port config for ethdev_rx and ethdev_tx node.
29 struct rte_node_ethdev_config
{
31 /**< Port identifier */
32 uint16_t num_rx_queues
;
33 /**< Number of Rx queues. */
34 uint16_t num_tx_queues
;
35 /**< Number of Tx queues. */
36 struct rte_mempool
**mp
;
37 /**< Array of mempools associated to Rx queue. */
39 /**< Size of mp array. */
43 * Initializes ethdev nodes.
46 * Array of ethdev config that identifies which port's
47 * ethdev_rx and ethdev_tx nodes need to be created
48 * and queue association.
52 * Number of graphs that will be used.
55 * 0 on successful initialization, negative otherwise.
58 int rte_node_eth_config(struct rte_node_ethdev_config
*cfg
,
59 uint16_t cnt
, uint16_t nb_graphs
);
64 #endif /* __INCLUDE_RTE_NODE_ETH_API_H__ */