|
FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
|
Go to the documentation of this file.
16 #ifndef __MPLS_TUNNEL_H__
17 #define __MPLS_TUNNEL_H__
36 #define MPLS_TUNNEL_ATTRIBUTES { \
37 [MPLS_TUNNEL_ATTRIBUTE_MCAST] = "multicast", \
38 [MPLS_TUNNEL_ATTRIBUTE_L2] = "L2", \
40 #define FOR_EACH_MPLS_TUNNEL_ATTRIBUTE(_item) \
41 for (_item = MPLS_TUNNEL_ATTRIBUTE_FIRST; \
42 _item <= MPLS_TUNNEL_ATTRIBUTE_LAST; \
u32 mt_sibling_index
sibling index on the path-list so notifications are received.
@ MPLS_TUNNEL_ATTRIBUTE_LAST
@ MPLS_TUNNEL_ATTRIBUTE_L2
The tunnel is L2 only.
fib_node_index_t mt_path_list
The path-list over which the tunnel's destination is reachable.
int vnet_mpls_tunnel_get_index(u32 sw_if_index)
return the tunnel index from the sw_if_index
void vnet_mpls_tunnel_path_add(u32 sw_if_index, fib_route_path_t *rpath)
Add a path to an MPLS tunnel.
enum mpls_tunnel_flag_t_ mpls_tunnel_flags_t
int vnet_mpls_tunnel_path_remove(u32 sw_if_index, fib_route_path_t *rpath)
remove a path from a tunnel.
void mpls_tunnel_walk(mpls_tunnel_walk_cb_t cb, void *ctx)
Walk all the MPLS tunnels.
void(* mpls_tunnel_walk_cb_t)(u32 index, void *ctx)
Callback function invoked while walking MPLS tunnels.
@ MPLS_TUNNEL_ATTRIBUTE_FIRST
A list of path-extensions.
u32 fib_node_index_t
A typedef of a node index.
fib_node_t mt_node
The tunnel hooks into the FIB control plane graph.
@ MPLS_TUNNEL_ATTRIBUTE_MCAST
The tunnel has an underlying multicast LSP.
dpo_id_t mt_l2_lb
If the tunnel is an L2 tunnel, this is the link type ETHERNET load-balance.
fib_path_ext_list_t mt_path_exts
A vector of path extensions o hold the label stack for each path.
A uni-directional MPLS tunnel.
void vnet_mpls_tunnel_del(u32 sw_if_index)
Delete an MPLS tunnel.
enum mpls_tunnel_attribute_t_ mpls_tunnel_attribute_t
A representation of a path as described by a route producer.
struct mpls_tunnel_t_ mpls_tunnel_t
A uni-directional MPLS tunnel.
An node in the FIB graph.
const mpls_tunnel_t * mpls_tunnel_get(u32 index)
mpls_tunnel_flags_t mt_flags
Tunnel flags.
u32 vnet_mpls_tunnel_create(u8 l2_only, u8 is_multicast, u8 *description)
Create a new MPLS tunnel.
u8 mt_tag[64]
User defined name tag for this MPLS Tunnel.
u32 mt_hw_if_index
The HW interface index of the tunnel interfaces.
The identity of a DPO is a combination of its type and its instance number/index of objects of that t...
vl_api_interface_index_t sw_if_index
u32 mt_sw_if_index
The SW interface index of the tunnel interfaces.