dpdk-fm10k/lib/librte_node/rte_node_ip4_api.h
David Marchand 74f4d6424d lib: remind experimental status in headers
The following libraries are experimental, all of their functions can
be changed or removed:

- librte_bbdev
- librte_bpf
- librte_compressdev
- librte_fib
- librte_flow_classify
- librte_graph
- librte_ipsec
- librte_node
- librte_rcu
- librte_rib
- librte_stack
- librte_telemetry

Their status is properly announced in MAINTAINERS.
Remind this status in their headers in a common fashion (aligned to ABI
docs).

Cc: stable@dpdk.org

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2020-07-07 12:49:10 +02:00

80 lines
1.7 KiB
C

/* SPDX-License-Identifier: BSD-3-Clause
* Copyright(C) 2020 Marvell International Ltd.
*/
#ifndef __INCLUDE_RTE_NODE_IP4_API_H__
#define __INCLUDE_RTE_NODE_IP4_API_H__
/**
* @file rte_node_ip4_api.h
*
* @warning
* @b EXPERIMENTAL:
* All functions in this file may be changed or removed without prior notice.
*
* This API allows to do control path functions of ip4_* nodes
* like ip4_lookup, ip4_rewrite.
*
*/
#ifdef __cplusplus
extern "C" {
#endif
#include <rte_common.h>
/**
* IP4 lookup next nodes.
*/
enum rte_node_ip4_lookup_next {
RTE_NODE_IP4_LOOKUP_NEXT_REWRITE,
/**< Rewrite node. */
RTE_NODE_IP4_LOOKUP_NEXT_PKT_DROP,
/**< Packet drop node. */
RTE_NODE_IP4_LOOKUP_NEXT_MAX,
/**< Number of next nodes of lookup node. */
};
/**
* Add ipv4 route to lookup table.
*
* @param ip
* IP address of route to be added.
* @param depth
* Depth of the rule to be added.
* @param next_hop
* Next hop id of the rule result to be added.
* @param next_node
* Next node to redirect traffic to.
*
* @return
* 0 on success, negative otherwise.
*/
__rte_experimental
int rte_node_ip4_route_add(uint32_t ip, uint8_t depth, uint16_t next_hop,
enum rte_node_ip4_lookup_next next_node);
/**
* Add a next hop's rewrite data.
*
* @param next_hop
* Next hop id to add rewrite data to.
* @param rewrite_data
* Rewrite data.
* @param rewrite_len
* Length of rewrite data.
* @param dst_port
* Destination port to redirect traffic to.
*
* @return
* 0 on success, negative otherwise.
*/
__rte_experimental
int rte_node_ip4_rewrite_add(uint16_t next_hop, uint8_t *rewrite_data,
uint8_t rewrite_len, uint16_t dst_port);
#ifdef __cplusplus
}
#endif
#endif /* __INCLUDE_RTE_NODE_IP4_API_H__ */