numam-dpdk/lib/node/ip4_rewrite_priv.h
Bruce Richardson 99a2dd955f lib: remove librte_ prefix from directory names
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>
2021-04-21 14:04:09 +02:00

78 lines
1.6 KiB
C

/* SPDX-License-Identifier: BSD-3-Clause
* Copyright(C) 2020 Marvell International Ltd.
*/
#ifndef __INCLUDE_IP4_REWRITE_PRIV_H__
#define __INCLUDE_IP4_REWRITE_PRIV_H__
#ifdef __cplusplus
extern "C" {
#endif
#include <rte_common.h>
#define RTE_GRAPH_IP4_REWRITE_MAX_NH 64
#define RTE_GRAPH_IP4_REWRITE_MAX_LEN 56
/**
* @internal
*
* Ipv4 rewrite next hop header data structure. Used to store port specific
* rewrite data.
*/
struct ip4_rewrite_nh_header {
uint16_t rewrite_len; /**< Header rewrite length. */
uint16_t tx_node; /**< Tx node next index identifier. */
uint16_t enabled; /**< NH enable flag */
uint16_t rsvd;
union {
struct {
struct rte_ether_addr dst;
/**< Destination mac address. */
struct rte_ether_addr src;
/**< Source mac address. */
};
uint8_t rewrite_data[RTE_GRAPH_IP4_REWRITE_MAX_LEN];
/**< Generic rewrite data */
};
};
/**
* @internal
*
* Ipv4 node main data structure.
*/
struct ip4_rewrite_node_main {
struct ip4_rewrite_nh_header nh[RTE_GRAPH_IP4_REWRITE_MAX_NH];
/**< Array of next hop header data */
uint16_t next_index[RTE_MAX_ETHPORTS];
/**< Next index of each configured port. */
};
/**
* @internal
*
* Get the ipv4 rewrite node.
*
* @retrun
* Pointer to the ipv4 rewrite node.
*/
struct rte_node_register *ip4_rewrite_node_get(void);
/**
* @internal
*
* Set the Edge index of a given port_id.
*
* @param port_id
* Ethernet port identifier.
* @param next_index
* Edge index of the Given Tx node.
*/
int ip4_rewrite_set_next(uint16_t port_id, uint16_t next_index);
#ifdef __cplusplus
}
#endif
#endif /* __INCLUDE_IP4_REWRITE_PRIV_H__ */