Go to the source code of this file.
|
static u8 * | format_mpls_output_trace (u8 *s, va_list *args) |
|
static uword | mpls_output_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame, mpls_output_mode_t mode) |
|
VLIB_NODE_FN() | mpls_output_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame) |
|
VLIB_NODE_FN() | mpls_midchain_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame) |
|
static uword | mpls_frag (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static u8 * | format_mpls_frag_trace (u8 *s, va_list *args) |
|
VLIB_NODE_FN() | mpls_adj_incomplete_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame) |
| Graph node for incomplete MPLS adjacency. More...
|
|
static u8 * | format_mpls_adj_incomplete_trace (u8 *s, va_list *args) |
|
◆ foreach_mpls_adj_incomplete_next
#define foreach_mpls_adj_incomplete_next |
Value:_(IP4, "ip4-arp") \
_(IP6, "ip6-discover-neighbor")
Definition at line 545 of file mpls_output.c.
◆ foreach_mpls_output_next
#define foreach_mpls_output_next |
◆ mpls_error
#define mpls_error |
( |
|
n, |
|
|
|
s |
|
) |
| s, |
◆ mpls_adj_incomplete_trace_t
A struct to hold tracing information for the MPLS label imposition node.
◆ mpls_frag_trace_t
◆ mpls_adj_incomplete_next_t
Enumerator |
---|
MPLS_ADJ_INCOMPLETE_N_NEXT | |
Definition at line 550 of file mpls_output.c.
◆ mpls_frag_next_t
Enumerator |
---|
MPLS_FRAG_NEXT_REWRITE | |
MPLS_FRAG_NEXT_REWRITE_MIDCHAIN | |
MPLS_FRAG_NEXT_ICMP_ERROR | |
MPLS_FRAG_NEXT_DROP | |
MPLS_FRAG_N_NEXT | |
Definition at line 384 of file mpls_output.c.
◆ mpls_output_mode_t
Enumerator |
---|
MPLS_OUTPUT_MODE | |
MPLS_OUTPUT_MIDCHAIN_MODE | |
Definition at line 30 of file mpls_output.c.
◆ mpls_output_next_t
◆ format_mpls_adj_incomplete_trace()
static u8* format_mpls_adj_incomplete_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
◆ format_mpls_frag_trace()
static u8* format_mpls_frag_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
◆ format_mpls_output_trace()
static u8* format_mpls_output_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
◆ mpls_adj_incomplete_node()
Graph node for incomplete MPLS adjacency.
This node will push traffic to either the v4-arp or v6-nd node based on the next-hop proto of the adj. We pay a cost for this 'routing' node, but an incomplete adj is the exception case.
Definition at line 574 of file mpls_output.c.
◆ mpls_frag()
◆ mpls_midchain_node()
◆ mpls_output_inline()
◆ mpls_output_node()
◆ mpls_adj_incomplete_node
Initial value:= {
.name = "mpls-adj-incomplete",
.vector_size =
sizeof (
u32),
.next_nodes = {
#define _(s,n)
},
}
static u8 * format_mpls_adj_incomplete_trace(u8 *s, va_list *args)
#define foreach_mpls_adj_incomplete_next
static char * mpls_error_strings[]
(constructor) VLIB_REGISTER_NODE (mpls_adj_incomplete_node)
Definition at line 652 of file mpls_output.c.
◆ mpls_error_strings
char* mpls_error_strings[] |
|
static |
Initial value:= {
#define mpls_error(n,s)
mpls_error (PKTS_DECAP, "MPLS input packets decapsulated")
mpls_error (PKTS_ENCAP, "MPLS output packets encapsulated")
mpls_error (PKTS_NEED_FRAG, "MPLS output packets needs fragmentation")
}
for(i=1;i<=collision_buckets;i++)
vl_api_ip_proto_t protocol
Definition at line 326 of file mpls_output.c.
◆ mpls_frag_error_strings
char* mpls_frag_error_strings[] |
|
static |
Initial value:= {
#define _(sym,string)
}
#define foreach_ip_frag_error
Definition at line 372 of file mpls_output.c.
◆ mpls_frag_node
Initial value:= {
.name = "mpls-frag",
.vector_size =
sizeof (
u32),
.next_nodes = {
},
}
static u8 * format_mpls_frag_trace(u8 *s, va_list *args)
vl_api_fib_path_type_t type
static char * mpls_frag_error_strings[]
static uword mpls_frag(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
(constructor) VLIB_REGISTER_NODE (mpls_frag_node)
Definition at line 523 of file mpls_output.c.
◆ mpls_midchain_node
Initial value:= {
.name = "mpls-midchain",
.vector_size =
sizeof (
u32),
.sibling_of = "mpls-output",
}
static u8 * format_mpls_output_trace(u8 *s, va_list *args)
static char * mpls_error_strings[]
(constructor) VLIB_REGISTER_NODE (mpls_midchain_node)
Definition at line 361 of file mpls_output.c.
◆ mpls_output_node
Initial value:= {
.name = "mpls-output",
.vector_size =
sizeof (
u32),
.next_nodes = {
[MPLS_OUTPUT_NEXT_DROP] = "mpls-drop",
[MPLS_OUTPUT_NEXT_FRAG] = "mpls-frag",
},
}
static u8 * format_mpls_output_trace(u8 *s, va_list *args)
static char * mpls_error_strings[]
(constructor) VLIB_REGISTER_NODE (mpls_output_node)
Definition at line 339 of file mpls_output.c.