Go to the source code of this file.
|
static mpls_disp_dpo_t * | mpls_disp_dpo_alloc (void) |
|
static index_t | mpls_disp_dpo_get_index (mpls_disp_dpo_t *mdd) |
|
void | mpls_disp_dpo_create (dpo_proto_t payload_proto, fib_rpf_id_t rpf_id, fib_mpls_lsp_mode_t mode, const dpo_id_t *parent, dpo_id_t *dpo) |
| Create an MPLS label object. More...
|
|
u8 * | format_mpls_disp_dpo (u8 *s, va_list *args) |
|
static void | mpls_disp_dpo_lock (dpo_id_t *dpo) |
|
static void | mpls_disp_dpo_unlock (dpo_id_t *dpo) |
|
static uword | mpls_label_disposition_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame, u8 payload_is_ip4, u8 payload_is_ip6, fib_mpls_lsp_mode_t mode) |
|
static u8 * | format_mpls_label_disposition_trace (u8 *s, va_list *args) |
|
VLIB_NODE_FN() | ip4_mpls_label_disposition_pipe_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
VLIB_NODE_FN() | ip6_mpls_label_disposition_pipe_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
VLIB_NODE_FN() | ip4_mpls_label_disposition_uniform_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
VLIB_NODE_FN() | ip6_mpls_label_disposition_uniform_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static void | mpls_disp_dpo_mem_show (void) |
|
void | mpls_disp_dpo_module_init (void) |
|
◆ mpls_label_disposition_trace_t
A struct to hold tracing information for the MPLS label disposition node.
◆ format_mpls_disp_dpo()
u8* format_mpls_disp_dpo |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
◆ format_mpls_label_disposition_trace()
static u8* format_mpls_label_disposition_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
◆ ip4_mpls_label_disposition_pipe_node()
◆ ip4_mpls_label_disposition_uniform_node()
◆ ip6_mpls_label_disposition_pipe_node()
◆ ip6_mpls_label_disposition_uniform_node()
◆ mpls_disp_dpo_alloc()
◆ mpls_disp_dpo_create()
Create an MPLS label object.
- Parameters
-
payload_proto | The ptocool of the payload packets that will be imposed with this label header. |
rpf_id | The RPF ID the packet will aquire - only for mcast |
mode | The LSP mode; pipe or uniform |
dpo | The parent of the created MPLS label object |
Definition at line 47 of file mpls_disposition.c.
◆ mpls_disp_dpo_get_index()
◆ mpls_disp_dpo_lock()
static void mpls_disp_dpo_lock |
( |
dpo_id_t * |
dpo | ) |
|
|
static |
◆ mpls_disp_dpo_mem_show()
static void mpls_disp_dpo_mem_show |
( |
void |
| ) |
|
|
static |
◆ mpls_disp_dpo_module_init()
void mpls_disp_dpo_module_init |
( |
void |
| ) |
|
◆ mpls_disp_dpo_unlock()
static void mpls_disp_dpo_unlock |
( |
dpo_id_t * |
dpo | ) |
|
|
static |
◆ mpls_label_disposition_inline()
◆ ip4_mpls_label_disposition_pipe_node
Initial value:= {
.name = "ip4-mpls-label-disposition-pipe",
.vector_size =
sizeof(
u32),
.sibling_of = "ip4-input",
}
static u8 * format_mpls_label_disposition_trace(u8 *s, va_list *args)
(constructor) VLIB_REGISTER_NODE (ip4_mpls_label_disposition_pipe_node)
Definition at line 418 of file mpls_disposition.c.
◆ ip4_mpls_label_disposition_uniform_node
Initial value:= {
.name = "ip4-mpls-label-disposition-uniform",
.vector_size =
sizeof(
u32),
.sibling_of = "ip4-input",
}
static u8 * format_mpls_label_disposition_trace(u8 *s, va_list *args)
(constructor) VLIB_REGISTER_NODE (ip4_mpls_label_disposition_uniform_node)
Definition at line 454 of file mpls_disposition.c.
◆ ip6_mpls_label_disposition_pipe_node
Initial value:= {
.name = "ip6-mpls-label-disposition-pipe",
.vector_size =
sizeof(
u32),
.sibling_of = "ip6-input",
}
static u8 * format_mpls_label_disposition_trace(u8 *s, va_list *args)
(constructor) VLIB_REGISTER_NODE (ip6_mpls_label_disposition_pipe_node)
Definition at line 436 of file mpls_disposition.c.
◆ ip6_mpls_label_disposition_uniform_node
Initial value:= {
.name = "ip6-mpls-label-disposition-uniform",
.vector_size =
sizeof(
u32),
.sibling_of = "ip6-input",
}
static u8 * format_mpls_label_disposition_trace(u8 *s, va_list *args)
(constructor) VLIB_REGISTER_NODE (ip6_mpls_label_disposition_uniform_node)
Definition at line 472 of file mpls_disposition.c.
◆ mdd_vft
Initial value:= {
}
static void mpls_disp_dpo_lock(dpo_id_t *dpo)
static void mpls_disp_dpo_unlock(dpo_id_t *dpo)
static void mpls_disp_dpo_mem_show(void)
u8 * format_mpls_disp_dpo(u8 *s, va_list *args)
Definition at line 492 of file mpls_disposition.c.
◆ mpls_disp_dpo_pool
◆ mpls_label_disp_pipe_ip4_nodes
const char* const mpls_label_disp_pipe_ip4_nodes[] |
|
static |
◆ mpls_label_disp_pipe_ip6_nodes
const char* const mpls_label_disp_pipe_ip6_nodes[] |
|
static |
◆ mpls_label_disp_pipe_nodes
const char* const* const mpls_label_disp_pipe_nodes[DPO_PROTO_NUM] |
|
static |
Initial value:=
{
}
static const char *const mpls_label_disp_pipe_ip6_nodes[]
static const char *const mpls_label_disp_pipe_ip4_nodes[]
Definition at line 509 of file mpls_disposition.c.
◆ mpls_label_disp_uniform_ip4_nodes
const char* const mpls_label_disp_uniform_ip4_nodes[] |
|
static |
Initial value:=
{
"ip4-mpls-label-disposition-uniform",
}
Definition at line 515 of file mpls_disposition.c.
◆ mpls_label_disp_uniform_ip6_nodes
const char* const mpls_label_disp_uniform_ip6_nodes[] |
|
static |
Initial value:=
{
"ip6-mpls-label-disposition-uniform",
}
Definition at line 520 of file mpls_disposition.c.
◆ mpls_label_disp_uniform_nodes
const char* const* const mpls_label_disp_uniform_nodes[DPO_PROTO_NUM] |
|
static |
Initial value:=
{
}
static const char *const mpls_label_disp_uniform_ip4_nodes[]
static const char *const mpls_label_disp_uniform_ip6_nodes[]
Definition at line 525 of file mpls_disposition.c.