1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(C) 2020 Marvell International Ltd. 3 */ 4 #ifndef __INCLUDE_ETHDEV_TX_PRIV_H__ 5 #define __INCLUDE_ETHDEV_TX_PRIV_H__ 6 7 struct ethdev_tx_node_ctx; 8 typedef struct ethdev_tx_node_ctx ethdev_tx_node_ctx_t; 9 10 enum ethdev_tx_next_nodes { 11 ETHDEV_TX_NEXT_PKT_DROP, 12 ETHDEV_TX_NEXT_MAX, 13 }; 14 15 /** 16 * @internal 17 * 18 * Ethernet Tx node context structure. 19 */ 20 struct ethdev_tx_node_ctx { 21 uint16_t port; /**< Port identifier of the Ethernet Tx node. */ 22 uint16_t queue; /**< Queue identifier of the Ethernet Tx node. */ 23 }; 24 25 /** 26 * @internal 27 * 28 * Ethernet Tx node main structure. 29 */ 30 struct ethdev_tx_node_main { 31 uint32_t nodes[RTE_MAX_ETHPORTS]; /**< Tx nodes for each ethdev port. */ 32 }; 33 34 /** 35 * @internal 36 * 37 * Get the Ethernet Tx node data. 38 * 39 * @return 40 * Pointer to Ethernet Tx node data. 41 */ 42 struct ethdev_tx_node_main *ethdev_tx_node_data_get(void); 43 44 /** 45 * @internal 46 * 47 * Get the Ethernet Tx node. 48 * 49 * @return 50 * Pointer to the Ethernet Tx node. 51 */ 52 struct rte_node_register *ethdev_tx_node_get(void); 53 54 #endif /* __INCLUDE_ETHDEV_TX_PRIV_H__ */ 55