Go to the source code of this file.
|
clib_error_t * | mpls_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) |
|
mpls_encap_t * | mpls_encap_by_fib_and_dest (mpls_main_t *mm, u32 rx_fib, u32 dst_address) |
|
int | vnet_mpls_ethernet_add_del_tunnel (u8 *dst, ip4_address_t *intfc, u32 mask_width, u32 inner_fib_id, u32 tx_sw_if_index, u32 *tunnel_sw_if_index, u8 l2_only, u8 is_add) |
|
int | mpls_fib_reset_labels (u32 fib_id) |
|
int | vnet_mpls_add_del_encap (ip4_address_t *dest, u32 fib_id, u32 *labels_host_byte_order, u32 policy_tunnel_index, int no_dst_hash, u32 *indexp, int is_add) |
|
int | vnet_mpls_policy_tunnel_add_rewrite (mpls_main_t *mm, mpls_encap_t *e, u32 policy_tunnel_index) |
|
u8 * | format_mpls_eth_tx_trace (u8 *s, va_list *args) |
|
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) |
|
#define foreach_mpls_input_next |
Value:
Definition at line 213 of file mpls.h.
#define foreach_mpls_lookup_next |
Value:_(IP4_INPUT, "ip4-input") \
_(L2_OUTPUT, "l2-output")
Definition at line 224 of file mpls.h.
#define foreach_mpls_output_next _(DROP, "error-drop") |
#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.
Definition at line 62 of file mpls.h.
#define VNET_MPLS_FEATURE_INIT |
( |
|
x, |
|
|
|
... |
|
) |
| |
Value:static void __vnet_add_feature_registration_uc_##x (void) \
__attribute__((__constructor__)) ; \
static void __vnet_add_feature_registration_uc_##x (void) \
{ \
} \
vnet_feature_registration_t * next_feature[VNET_N_IP_FEAT]
struct _vnet_feature_registration vnet_feature_registration_t
feature registration object
Definition at line 133 of file mpls.h.
#define VNET_MPLS_TX_FEATURE_INIT |
( |
|
x, |
|
|
|
... |
|
) |
| |
Value:static void __vnet_add_feature_registration_tx_##x (void) \
__attribute__((__constructor__)) ; \
static void __vnet_add_feature_registration_tx_##x (void) \
{ \
} \
vnet_feature_registration_t * next_feature[VNET_N_IP_FEAT]
struct _vnet_feature_registration vnet_feature_registration_t
feature registration object
Definition at line 145 of file mpls.h.
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 84 of file mpls.h.
Enumerator |
---|
mpls_error |
|
mpls_error |
|
Definition at line 26 of file mpls.h.
Enumerator |
---|
MPLS_INPUT_N_NEXT |
|
Definition at line 217 of file mpls.h.
Enumerator |
---|
MPLS_LOOKUP_N_NEXT |
|
Definition at line 230 of file mpls.h.
Enumerator |
---|
MPLS_OUTPUT_N_NEXT |
|
Definition at line 240 of file mpls.h.
u8* format_mpls_eth_tx_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
int mpls_dest_cmp |
( |
void * |
a1, |
|
|
void * |
a2 |
|
) |
| |
int mpls_fib_index_cmp |
( |
void * |
a1, |
|
|
void * |
a2 |
|
) |
| |
int mpls_fib_reset_labels |
( |
u32 |
fib_id | ) |
|
int mpls_label_cmp |
( |
void * |
a1, |
|
|
void * |
a2 |
|
) |
| |
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 vnet_mpls_add_del_encap |
( |
ip4_address_t * |
dest, |
|
|
u32 |
fib_id, |
|
|
u32 * |
labels_host_byte_order, |
|
|
u32 |
policy_tunnel_index, |
|
|
int |
no_dst_hash, |
|
|
u32 * |
indexp, |
|
|
int |
is_add |
|
) |
| |
int vnet_mpls_ethernet_add_del_tunnel |
( |
u8 * |
dst, |
|
|
ip4_address_t * |
intfc, |
|
|
u32 |
mask_width, |
|
|
u32 |
inner_fib_id, |
|
|
u32 |
tx_sw_if_index, |
|
|
u32 * |
tunnel_sw_if_index, |
|
|
u8 |
l2_only, |
|
|
u8 |
is_add |
|
) |
| |
Initial value:= {
.name = "mpls-input",
.vector_size =
sizeof (
u32),
.n_errors = MPLS_N_ERROR,
.next_nodes = {
#define _(s,n)
},
}
static uword mpls_input(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
#define foreach_mpls_input_next
format_function_t format_mpls_unicast_header_net_byte_order
static u8 * format_mpls_input_trace(u8 *s, va_list *args)
static char * mpls_error_strings[]
(constructor) VLIB_REGISTER_NODE (mpls_input_node)
Definition at line 168 of file node.c.
(constructor) VLIB_REGISTER_NODE (mpls_midchain_node)
Definition at line 206 of file mpls_output.c.
(constructor) VLIB_REGISTER_NODE (mpls_output_node)
Definition at line 178 of file mpls_output.c.
Initial value:= {
.name = "mpls-policy-encap",
.vector_size =
sizeof (
u32),
.runtime_data_bytes = 0,
.next_nodes = {
#define _(s,n)
},
}
u8 * format_mpls_policy_encap_trace(u8 *s, va_list *args)
#define foreach_mpls_policy_encap_next
static uword mpls_policy_encap(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
static char * mpls_policy_encap_error_strings[]
(constructor) VLIB_REGISTER_NODE (mpls_policy_encap_node)
Definition at line 136 of file policy_encap.c.