28 #define L3XC_PLUGIN_VERSION_MAJOR 1 29 #define L3XC_PLUGIN_VERSION_MINOR 0
A representation of a path as described by a route producer.
int(* l3xc_walk_cb_t)(index_t l3xci, void *ctx)
Callback function invoked during a walk of all policies.
u32 index_t
A Data-Path Object is an object that represents actions that are applied to packets are they are swit...
index_t l3xc_find(u32 sw_if_index, fib_protocol_t fproto)
Find a L3 XC object from an interfce and FIB protocol.
l3xc_t * l3xc_pool
Data-plane functions.
dpo_id_t l3xc_dpo
DPO for forwarding.
enum fib_protocol_t_ fib_protocol_t
Protocol Type.
vlib_node_registration_t l3xc_ip4_node
(constructor) VLIB_REGISTER_NODE (l3xc_ip4_node)
#define static_always_inline
vl_api_interface_index_t sw_if_index
int l3xc_update(u32 sw_if_index, u8 is_ip6, const fib_route_path_t *rpaths)
Create or update an L3XC Policy.
void l3xc_walk(l3xc_walk_cb_t cb, void *ctx)
Walk/visit each of the L3XC policies.
static_always_inline l3xc_t * l3xc_get(u32 index)
The identity of a DPO is a combination of its type and its instance number/index of objects of that t...
#define pool_elt_at_index(p, i)
Returns pointer to element at given index.
u32 l3xc_sw_if_index
The input interface.
An node in the FIB graph.
u32 fib_node_index_t
A typedef of a node index.
vlib_node_registration_t l3xc_ip6_node
(constructor) VLIB_REGISTER_NODE (l3xc_ip6_node)
u32 l3xc_sibling
Sibling index on the path-list.
struct _vlib_node_registration vlib_node_registration_t
CLIB_CACHE_LINE_ALIGN_MARK(cacheline0)
int l3xc_delete(u32 sw_if_index, u8 is_ip6)
Delete an L3XC.
fib_node_index_t l3xc_pl
The path-list describing how to forward in case of a match.
fib_node_t l3xc_node
Linkage into the FIB graph.
fib_protocol_t l3xc_proto