Go to the source code of this file.
|
static mpls_label_dpo_t * | mpls_label_dpo_alloc (void) |
|
static index_t | mpls_label_dpo_get_index (mpls_label_dpo_t *mld) |
|
index_t | mpls_label_dpo_create (mpls_label_t *label_stack, mpls_eos_bit_t eos, u8 ttl, u8 exp, dpo_proto_t payload_proto, const dpo_id_t *dpo) |
| Create an MPLS label object. More...
|
|
u8 * | format_mpls_label_dpo (u8 *s, va_list *args) |
|
static void | mpls_label_dpo_lock (dpo_id_t *dpo) |
|
static void | mpls_label_dpo_unlock (dpo_id_t *dpo) |
|
static mpls_unicast_header_t * | mpls_label_paint (vlib_buffer_t *b0, mpls_label_dpo_t *mld0, u8 ttl0) |
|
static uword | mpls_label_imposition_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame, u8 payload_is_ip4, u8 payload_is_ip6, u8 payload_is_ethernet) |
|
static u8 * | format_mpls_label_imposition_trace (u8 *s, va_list *args) |
|
static uword | mpls_label_imposition (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
| VLIB_NODE_FUNCTION_MULTIARCH (mpls_label_imposition_node, mpls_label_imposition) |
|
| VLIB_NODE_FUNCTION_MULTIARCH (ip4_mpls_label_imposition_node, ip4_mpls_label_imposition) |
|
| VLIB_NODE_FUNCTION_MULTIARCH (ip6_mpls_label_imposition_node, ip6_mpls_label_imposition) |
|
| VLIB_NODE_FUNCTION_MULTIARCH (ethernet_mpls_label_imposition_node, ethernet_mpls_label_imposition) |
|
void | mpls_label_dpo_module_init (void) |
|
A struct to hold tracing information for the MPLS label imposition node.
u8* format_mpls_label_dpo |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
static u8* format_mpls_label_imposition_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
Create an MPLS label object.
- Parameters
-
label_stack | The stack if labels to impose, outer most label first |
eos | The inner most label's EOS bit |
ttl | The inner most label's TTL bit |
exp | The inner most label's EXP bit |
payload_proto | The ptocool of the payload packets that will be imposed with this label header. |
dpo | The parent of the created MPLS label object |
Definition at line 46 of file mpls_label_dpo.c.
static void mpls_label_dpo_lock |
( |
dpo_id_t * |
dpo | ) |
|
|
static |
void mpls_label_dpo_module_init |
( |
void |
| ) |
|
static void mpls_label_dpo_unlock |
( |
dpo_id_t * |
dpo | ) |
|
|
static |
Initial value:= {
.function = ethernet_mpls_label_imposition,
.name = "ethernet-mpls-label-imposition",
.vector_size =
sizeof (
u32),
.n_next_nodes = 1,
.next_nodes = {
[0] = "error-drop",
}
}
static u8 * format_mpls_label_imposition_trace(u8 *s, va_list *args)
(constructor) VLIB_REGISTER_NODE (ethernet_mpls_label_imposition_node)
Definition at line 651 of file mpls_label_dpo.c.
Initial value:= {
.function = ip4_mpls_label_imposition,
.name = "ip4-mpls-label-imposition",
.vector_size =
sizeof (
u32),
.n_next_nodes = 1,
.next_nodes = {
[0] = "ip4-drop",
}
}
static u8 * format_mpls_label_imposition_trace(u8 *s, va_list *args)
(constructor) VLIB_REGISTER_NODE (ip4_mpls_label_imposition_node)
Definition at line 607 of file mpls_label_dpo.c.
Initial value:= {
.function = ip6_mpls_label_imposition,
.name = "ip6-mpls-label-imposition",
.vector_size =
sizeof (
u32),
.n_next_nodes = 1,
.next_nodes = {
[0] = "ip6-drop",
}
}
static u8 * format_mpls_label_imposition_trace(u8 *s, va_list *args)
(constructor) VLIB_REGISTER_NODE (ip6_mpls_label_imposition_node)
Definition at line 629 of file mpls_label_dpo.c.
Initial value:= {
.dv_mem_show = mpls_label_dpo_mem_show,
}
u8 * format_mpls_label_dpo(u8 *s, va_list *args)
static void mpls_label_dpo_lock(dpo_id_t *dpo)
static void mpls_label_dpo_unlock(dpo_id_t *dpo)
Definition at line 674 of file mpls_label_dpo.c.
const char* const mpls_label_imp_ethernet_nodes[] |
|
static |
Initial value:=
{
"ethernet-mpls-label-imposition",
}
Definition at line 696 of file mpls_label_dpo.c.
const char* const mpls_label_imp_ip4_nodes[] |
|
static |
Initial value:=
{
"ip4-mpls-label-imposition",
}
Definition at line 681 of file mpls_label_dpo.c.
const char* const mpls_label_imp_ip6_nodes[] |
|
static |
Initial value:=
{
"ip6-mpls-label-imposition",
}
Definition at line 686 of file mpls_label_dpo.c.
const char* const mpls_label_imp_mpls_nodes[] |
|
static |
Initial value:=
{
}
static const char *const mpls_label_imp_ip6_nodes[]
static const char *const mpls_label_imp_mpls_nodes[]
static const char *const mpls_label_imp_ethernet_nodes[]
static const char *const mpls_label_imp_ip4_nodes[]
Definition at line 702 of file mpls_label_dpo.c.
Initial value:= {
.name = "mpls-label-imposition",
.vector_size =
sizeof (
u32),
.n_next_nodes = 1,
.next_nodes = {
[0] = "mpls-drop",
}
}
static u8 * format_mpls_label_imposition_trace(u8 *s, va_list *args)
static uword mpls_label_imposition(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
(constructor) VLIB_REGISTER_NODE (mpls_label_imposition_node)
Definition at line 585 of file mpls_label_dpo.c.