FD.io VPP
v18.07-34-g55fbdb9
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
struct | mpls_tunnel_t_ |
A uni-directional MPLS tunnel. More... | |
Macros | |
#define | MPLS_TUNNEL_ATTRIBUTES |
#define | FOR_EACH_MPLS_TUNNEL_ATTRIBUTE(_item) |
Typedefs | |
typedef enum mpls_tunnel_attribute_t_ | mpls_tunnel_attribute_t |
typedef enum mpls_tunnel_flag_t_ | mpls_tunnel_flags_t |
typedef struct mpls_tunnel_t_ | mpls_tunnel_t |
A uni-directional MPLS tunnel. More... | |
typedef void(* | mpls_tunnel_walk_cb_t) (u32 index, void *ctx) |
Callback function invoked while walking MPLS tunnels. More... | |
Enumerations | |
enum | mpls_tunnel_attribute_t_ { MPLS_TUNNEL_ATTRIBUTE_FIRST = 0, MPLS_TUNNEL_ATTRIBUTE_L2 = MPLS_TUNNEL_ATTRIBUTE_FIRST, MPLS_TUNNEL_ATTRIBUTE_MCAST, MPLS_TUNNEL_ATTRIBUTE_LAST = MPLS_TUNNEL_ATTRIBUTE_MCAST } |
enum | mpls_tunnel_flag_t_ { MPLS_TUNNEL_FLAG_NONE = 0, MPLS_TUNNEL_FLAG_L2 = (1 << MPLS_TUNNEL_ATTRIBUTE_L2), MPLS_TUNNEL_FLAG_MCAST = (1 << MPLS_TUNNEL_ATTRIBUTE_MCAST) } |
Functions | |
u32 | vnet_mpls_tunnel_create (u8 l2_only, u8 is_multicast) |
Create a new MPLS tunnel. More... | |
void | vnet_mpls_tunnel_path_add (u32 sw_if_index, fib_route_path_t *rpath) |
Add a path to an MPLS tunnel. More... | |
int | vnet_mpls_tunnel_path_remove (u32 sw_if_index, fib_route_path_t *rpath) |
remove a path from a tunnel. More... | |
void | vnet_mpls_tunnel_del (u32 sw_if_index) |
Delete an MPLS tunnel. More... | |
const mpls_tunnel_t * | mpls_tunnel_get (u32 index) |
void | mpls_tunnel_walk (mpls_tunnel_walk_cb_t cb, void *ctx) |
Walk all the MPLS tunnels. More... | |
#define FOR_EACH_MPLS_TUNNEL_ATTRIBUTE | ( | _item | ) |
Definition at line 40 of file mpls_tunnel.h.
#define MPLS_TUNNEL_ATTRIBUTES |
Definition at line 36 of file mpls_tunnel.h.
typedef enum mpls_tunnel_attribute_t_ mpls_tunnel_attribute_t |
typedef enum mpls_tunnel_flag_t_ mpls_tunnel_flags_t |
typedef struct mpls_tunnel_t_ mpls_tunnel_t |
A uni-directional MPLS tunnel.
Callback function invoked while walking MPLS tunnels.
Definition at line 129 of file mpls_tunnel.h.
Enumerator | |
---|---|
MPLS_TUNNEL_ATTRIBUTE_FIRST | |
MPLS_TUNNEL_ATTRIBUTE_L2 |
The tunnel is L2 only. |
MPLS_TUNNEL_ATTRIBUTE_MCAST |
The tunnel has an underlying multicast LSP. |
MPLS_TUNNEL_ATTRIBUTE_LAST |
Definition at line 22 of file mpls_tunnel.h.
enum mpls_tunnel_flag_t_ |
Enumerator | |
---|---|
MPLS_TUNNEL_FLAG_NONE | |
MPLS_TUNNEL_FLAG_L2 | |
MPLS_TUNNEL_FLAG_MCAST |
Definition at line 45 of file mpls_tunnel.h.
const mpls_tunnel_t* mpls_tunnel_get | ( | u32 | index | ) |
void mpls_tunnel_walk | ( | mpls_tunnel_walk_cb_t | cb, |
void * | ctx | ||
) |
Walk all the MPLS tunnels.
Definition at line 570 of file mpls_tunnel.c.
Create a new MPLS tunnel.
Definition at line 602 of file mpls_tunnel.c.
void vnet_mpls_tunnel_del | ( | u32 | sw_if_index | ) |
Delete an MPLS tunnel.
Definition at line 582 of file mpls_tunnel.c.
void vnet_mpls_tunnel_path_add | ( | u32 | sw_if_index, |
fib_route_path_t * | rpath | ||
) |
Add a path to an MPLS tunnel.
Definition at line 660 of file mpls_tunnel.c.
int vnet_mpls_tunnel_path_remove | ( | u32 | sw_if_index, |
fib_route_path_t * | rpath | ||
) |
remove a path from a tunnel.
Definition at line 712 of file mpls_tunnel.c.