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. */
32 * Ethernet device Rx node list element structure.
34 struct ethdev_rx_node_elem {
35 struct ethdev_rx_node_elem *next;
36 /**< Pointer to the next Rx node element. */
37 struct ethdev_rx_node_ctx ctx;
38 /**< Rx node context. */
40 /**< Node identifier of the Rx node. */
43 enum ethdev_rx_next_nodes {
44 ETHDEV_RX_NEXT_IP4_LOOKUP,
45 ETHDEV_RX_NEXT_PKT_CLS,
52 * Ethernet Rx node main structure.
54 struct ethdev_rx_node_main {
55 ethdev_rx_node_elem_t *head;
56 /**< Pointer to the head Rx node element. */
62 * Get the Ethernet Rx node data.
65 * Pointer to Ethernet Rx node data.
67 struct ethdev_rx_node_main *ethdev_rx_get_node_data_get(void);
72 * Get the Ethernet Rx node.
75 * Pointer to the Ethernet Rx node.
77 struct rte_node_register *ethdev_rx_node_get(void);
83 #endif /* __INCLUDE_ETHDEV_RX_PRIV_H__ */