99a2dd955f
There is no reason for the DPDK libraries to all have 'librte_' prefix on the directory names. This prefix makes the directory names longer and also makes it awkward to add features referring to individual libraries in the build - should the lib names be specified with or without the prefix. Therefore, we can just remove the library prefix and use the library's unique name as the directory name, i.e. 'eal' rather than 'librte_eal' Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
84 lines
1.6 KiB
C
84 lines
1.6 KiB
C
/* SPDX-License-Identifier: BSD-3-Clause
|
|
* Copyright(C) 2020 Marvell International Ltd.
|
|
*/
|
|
#ifndef __INCLUDE_ETHDEV_RX_PRIV_H__
|
|
#define __INCLUDE_ETHDEV_RX_PRIV_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <rte_common.h>
|
|
|
|
struct ethdev_rx_node_elem;
|
|
struct ethdev_rx_node_ctx;
|
|
typedef struct ethdev_rx_node_elem ethdev_rx_node_elem_t;
|
|
typedef struct ethdev_rx_node_ctx ethdev_rx_node_ctx_t;
|
|
|
|
/**
|
|
* @internal
|
|
*
|
|
* Ethernet device Rx node context structure.
|
|
*/
|
|
struct ethdev_rx_node_ctx {
|
|
uint16_t port_id; /**< Port identifier of the Rx node. */
|
|
uint16_t queue_id; /**< Queue identifier of the Rx node. */
|
|
uint16_t cls_next;
|
|
};
|
|
|
|
/**
|
|
* @internal
|
|
*
|
|
* Ethernet device Rx node list element structure.
|
|
*/
|
|
struct ethdev_rx_node_elem {
|
|
struct ethdev_rx_node_elem *next;
|
|
/**< Pointer to the next Rx node element. */
|
|
struct ethdev_rx_node_ctx ctx;
|
|
/**< Rx node context. */
|
|
rte_node_t nid;
|
|
/**< Node identifier of the Rx node. */
|
|
};
|
|
|
|
enum ethdev_rx_next_nodes {
|
|
ETHDEV_RX_NEXT_IP4_LOOKUP,
|
|
ETHDEV_RX_NEXT_PKT_CLS,
|
|
ETHDEV_RX_NEXT_MAX,
|
|
};
|
|
|
|
/**
|
|
* @internal
|
|
*
|
|
* Ethernet Rx node main structure.
|
|
*/
|
|
struct ethdev_rx_node_main {
|
|
ethdev_rx_node_elem_t *head;
|
|
/**< Pointer to the head Rx node element. */
|
|
};
|
|
|
|
/**
|
|
* @internal
|
|
*
|
|
* Get the Ethernet Rx node data.
|
|
*
|
|
* @return
|
|
* Pointer to Ethernet Rx node data.
|
|
*/
|
|
struct ethdev_rx_node_main *ethdev_rx_get_node_data_get(void);
|
|
|
|
/**
|
|
* @internal
|
|
*
|
|
* Get the Ethernet Rx node.
|
|
*
|
|
* @retrun
|
|
* Pointer to the Ethernet Rx node.
|
|
*/
|
|
struct rte_node_register *ethdev_rx_node_get(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __INCLUDE_ETHDEV_RX_PRIV_H__ */
|