FD.io VPP  v17.01.1-3-gc6833f8
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
 
struct  show_mpls_fib_t
 

Macros

#define mpls_error(n, s)   MPLS_ERROR_##n,
 
#define MPLS_FIB_DEFAULT_TABLE_ID   0
 
#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))
 
#define foreach_mpls_input_next
 
#define foreach_mpls_lookup_next
 
#define foreach_mpls_output_next   _(DROP, "error-drop")
 

Typedefs

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...
 

Enumerations

enum  mpls_error_t { mpls_error, mpls_error }
 
enum  mpls_input_next_t { MPLS_INPUT_N_NEXT }
 
enum  mpls_lookup_next_t { MPLS_LOOKUP_N_NEXT }
 
enum  mpls_output_next_t { MPLS_OUTPUT_N_NEXT }
 

Functions

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)
 

Variables

mpls_main_t mpls_main
 
format_function_t format_mpls_protocol
 
format_function_t format_mpls_encap_index
 
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_policy_encap_node
 
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 foreach_mpls_input_next
Value:
_(DROP, "error-drop") \
_(LOOKUP, "mpls-lookup")
DROP
Definition: error.def:41

Definition at line 121 of file mpls.h.

#define foreach_mpls_lookup_next
Value:
_(DROP, "error-drop") \
_(IP4_INPUT, "ip4-input") \
_(L2_OUTPUT, "l2-output")
DROP
Definition: error.def:41

Definition at line 132 of file mpls.h.

#define foreach_mpls_output_next   _(DROP, "error-drop")

Definition at line 145 of file mpls.h.

#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.

#define MPLS_FIB_DEFAULT_TABLE_ID   0

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

Enumerator
mpls_error 
mpls_error 

Definition at line 26 of file mpls.h.

Enumerator
MPLS_INPUT_N_NEXT 

Definition at line 125 of file mpls.h.

Enumerator
MPLS_LOOKUP_N_NEXT 

Definition at line 138 of file mpls.h.

Enumerator
MPLS_OUTPUT_N_NEXT 

Definition at line 148 of file mpls.h.

Function Documentation

int mpls_dest_cmp ( void *  a1,
void *  a2 
)

Definition at line 165 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 174 of file mpls.c.

int mpls_fib_reset_labels ( u32  fib_id)

Definition at line 483 of file mpls.c.

int mpls_label_cmp ( void *  a1,
void *  a2 
)

Definition at line 183 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_encap_index

Definition at line 90 of file mpls.h.

format_function_t format_mpls_eos_bit

Definition at line 92 of file mpls.h.

format_function_t format_mpls_header

Definition at line 95 of file mpls.h.

format_function_t format_mpls_protocol

Definition at line 89 of file mpls.h.

format_function_t format_mpls_unicast_header_net_byte_order

Definition at line 93 of file mpls.h.

format_function_t format_mpls_unicast_label

Definition at line 94 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 uword mpls_input(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
Definition: node.c:234
#define foreach_mpls_input_next
Definition: mpls.h:121
format_function_t format_mpls_unicast_header_net_byte_order
Definition: mpls.h:93
static u8 * format_mpls_input_trace(u8 *s, va_list *args)
Definition: node.c:29
unsigned int u32
Definition: types.h:88
static char * mpls_error_strings[]
Definition: mpls_lookup.c:301

(constructor) VLIB_REGISTER_NODE (mpls_input_node)

Definition at line 247 of file node.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 337 of file mpls_output.c.

vlib_node_registration_t mpls_output_node

(constructor) VLIB_REGISTER_NODE (mpls_output_node)

Definition at line 309 of file mpls_output.c.

vlib_node_registration_t mpls_policy_encap_node
unformat_function_t unformat_mpls_header

Definition at line 110 of file mpls.h.

unformat_function_t unformat_mpls_label_net_byte_order

Definition at line 106 of file mpls.h.

unformat_function_t unformat_mpls_protocol_host_byte_order

Definition at line 104 of file mpls.h.

unformat_function_t unformat_mpls_protocol_net_byte_order

Definition at line 105 of file mpls.h.

unformat_function_t unformat_mpls_unicast_label

Definition at line 107 of file mpls.h.

unformat_function_t unformat_pg_mpls_header

Definition at line 111 of file mpls.h.