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
13 * All functions in this file may be changed or removed without prior notice.
15 * This API allows to setup ethdev_rx and ethdev_tx nodes
16 * and its queue associations.
24 #include <rte_common.h>
25 #include <rte_mempool.h>
28 * Port config for ethdev_rx and ethdev_tx node.
30 struct rte_node_ethdev_config {
32 /**< Port identifier */
33 uint16_t num_rx_queues;
34 /**< Number of Rx queues. */
35 uint16_t num_tx_queues;
36 /**< Number of Tx queues. */
37 struct rte_mempool **mp;
38 /**< Array of mempools associated to Rx queue. */
40 /**< Size of mp array. */
44 * Initializes ethdev nodes.
47 * Array of ethdev config that identifies which port's
48 * ethdev_rx and ethdev_tx nodes need to be created
49 * and queue association.
53 * Number of graphs that will be used.
56 * 0 on successful initialization, negative otherwise.
59 int rte_node_eth_config(struct rte_node_ethdev_config *cfg,
60 uint16_t cnt, uint16_t nb_graphs);
65 #endif /* __INCLUDE_RTE_NODE_ETH_API_H__ */