1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(C) 2020 Marvell International Ltd.
4 #ifndef __INCLUDE_ETHDEV_RX_PRIV_H__
5 #define __INCLUDE_ETHDEV_RX_PRIV_H__
11 #include <rte_common.h>
13 struct ethdev_rx_node_elem;
14 struct ethdev_rx_node_ctx;
15 typedef struct ethdev_rx_node_elem ethdev_rx_node_elem_t;
16 typedef struct ethdev_rx_node_ctx ethdev_rx_node_ctx_t;
21 * Ethernet device Rx node context structure.
23 struct ethdev_rx_node_ctx {
24 uint16_t port_id; /**< Port identifier of the Rx node. */
25 uint16_t queue_id; /**< Queue identifier of the Rx node. */
31 * Ethernet device Rx node list element structure.
33 struct ethdev_rx_node_elem {
34 struct ethdev_rx_node_elem *next;
35 /**< Pointer to the next Rx node element. */
36 struct ethdev_rx_node_ctx ctx;
37 /**< Rx node context. */
39 /**< Node identifier of the Rx node. */
42 enum ethdev_rx_next_nodes {
43 ETHDEV_RX_NEXT_IP4_LOOKUP,
50 * Ethernet Rx node main structure.
52 struct ethdev_rx_node_main {
53 ethdev_rx_node_elem_t *head;
54 /**< Pointer to the head Rx node element. */
60 * Get the Ethernet Rx node data.
63 * Pointer to Ethernet Rx node data.
65 struct ethdev_rx_node_main *ethdev_rx_get_node_data_get(void);
70 * Get the Ethernet Rx node.
73 * Pointer to the Ethernet Rx node.
75 struct rte_node_register *ethdev_rx_node_get(void);
81 #endif /* __INCLUDE_ETHDEV_RX_PRIV_H__ */