FD.io VPP  v17.04-9-g99c0734
Vector Packet Processing
mpls.h File Reference
+ Include dependency graph for mpls.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  mpls_fib_t_
struct  mpls_main_t


#define mpls_error(n, s)   MPLS_ERROR_##n,
#define MPLS_FIB_KEY_SIZE   21
 Type exposure is to allow the DP fast/inlined access. More...
#define MPLS_FIB_DB_SIZE   (1 << (MPLS_FIB_KEY_SIZE-1))


typedef struct mpls_fib_t_ mpls_fib_t
typedef void(* mpls_interface_state_change_callback_t) (u32 sw_if_index, u32 is_enable)
 Definition of a callback for receiving MPLS interface state change notifications. More...


enum  mpls_error_t { MPLS_N_ERROR }


clib_error_tmpls_feature_init (vlib_main_t *vm)
void mpls_sw_interface_enable_disable (mpls_main_t *mm, u32 sw_if_index, u8 is_enable)
u8 mpls_sw_interface_is_enabled (u32 sw_if_index)
int mpls_fib_reset_labels (u32 fib_id)
int mpls_dest_cmp (void *a1, void *a2)
int mpls_fib_index_cmp (void *a1, void *a2)
int mpls_label_cmp (void *a1, void *a2)


mpls_main_t mpls_main
format_function_t format_mpls_eos_bit
format_function_t format_mpls_unicast_header_net_byte_order
format_function_t format_mpls_unicast_label
format_function_t format_mpls_header
vlib_node_registration_t mpls_input_node
 (constructor) VLIB_REGISTER_NODE (mpls_input_node) More...
vlib_node_registration_t mpls_output_node
 (constructor) VLIB_REGISTER_NODE (mpls_output_node) More...
vlib_node_registration_t mpls_midchain_node
 (constructor) VLIB_REGISTER_NODE (mpls_midchain_node) More...
unformat_function_t unformat_mpls_protocol_host_byte_order
unformat_function_t unformat_mpls_protocol_net_byte_order
unformat_function_t unformat_mpls_label_net_byte_order
unformat_function_t unformat_mpls_unicast_label
unformat_function_t unformat_mpls_header
unformat_function_t unformat_pg_mpls_header

Macro Definition Documentation

#define mpls_error (   n,
)    MPLS_ERROR_##n,

Definition at line 27 of file mpls.h.

#define MPLS_FIB_DB_SIZE   (1 << (MPLS_FIB_KEY_SIZE-1))

Definition at line 39 of file mpls.h.


Definition at line 33 of file mpls.h.

#define MPLS_FIB_KEY_SIZE   21

Type exposure is to allow the DP fast/inlined access.

Definition at line 38 of file mpls.h.

Typedef Documentation

typedef struct mpls_fib_t_ mpls_fib_t
typedef void(* mpls_interface_state_change_callback_t) (u32 sw_if_index, u32 is_enable)

Definition of a callback for receiving MPLS interface state change notifications.

Definition at line 60 of file mpls.h.

Enumeration Type Documentation


Definition at line 26 of file mpls.h.

Function Documentation

int mpls_dest_cmp ( void *  a1,
void *  a2 

Definition at line 173 of file mpls.c.

clib_error_t* mpls_feature_init ( vlib_main_t vm)
int mpls_fib_index_cmp ( void *  a1,
void *  a2 

Definition at line 182 of file mpls.c.

int mpls_fib_reset_labels ( u32  fib_id)

Definition at line 493 of file mpls.c.

int mpls_label_cmp ( void *  a1,
void *  a2 

Definition at line 191 of file mpls.c.

void mpls_sw_interface_enable_disable ( mpls_main_t mm,
u32  sw_if_index,
u8  is_enable 

Definition at line 38 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8 mpls_sw_interface_is_enabled ( u32  sw_if_index)

Definition at line 27 of file interface.c.

Variable Documentation

format_function_t format_mpls_eos_bit

Definition at line 89 of file mpls.h.

format_function_t format_mpls_header

Definition at line 92 of file mpls.h.

format_function_t format_mpls_unicast_header_net_byte_order

Definition at line 90 of file mpls.h.

format_function_t format_mpls_unicast_label

Definition at line 91 of file mpls.h.

vlib_node_registration_t mpls_input_node
Initial value:
= {
.function = mpls_input,
.name = "mpls-input",
.vector_size = sizeof (u32),
.runtime_data_bytes = sizeof(mpls_input_runtime_t),
.n_errors = MPLS_N_ERROR,
.error_strings = mpls_error_strings,
.n_next_nodes = MPLS_INPUT_N_NEXT,
.next_nodes = {
#define _(s,n)
.format_trace = format_mpls_input_trace,
static char * mpls_error_strings[]
Definition: mpls_input.c:249
format_function_t format_mpls_unicast_header_net_byte_order
Definition: mpls.h:90
#define foreach_mpls_input_next
Definition: mpls_input.c:28
static u8 * format_mpls_input_trace(u8 *s, va_list *args)
Definition: mpls_input.c:40
unsigned int u32
Definition: types.h:88
static uword mpls_input(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
Definition: mpls_input.c:242

(constructor) VLIB_REGISTER_NODE (mpls_input_node)

Definition at line 255 of file mpls_input.c.

mpls_main_t mpls_main

Definition at line 25 of file mpls.c.

vlib_node_registration_t mpls_midchain_node

(constructor) VLIB_REGISTER_NODE (mpls_midchain_node)

Definition at line 358 of file mpls_output.c.

vlib_node_registration_t mpls_output_node

(constructor) VLIB_REGISTER_NODE (mpls_output_node)

Definition at line 330 of file mpls_output.c.

unformat_function_t unformat_mpls_header

Definition at line 106 of file mpls.h.

unformat_function_t unformat_mpls_label_net_byte_order

Definition at line 102 of file mpls.h.

unformat_function_t unformat_mpls_protocol_host_byte_order

Definition at line 100 of file mpls.h.

unformat_function_t unformat_mpls_protocol_net_byte_order

Definition at line 101 of file mpls.h.

unformat_function_t unformat_mpls_unicast_label

Definition at line 103 of file mpls.h.

unformat_function_t unformat_pg_mpls_header

Definition at line 107 of file mpls.h.