![]() |
FD.io VPP
v17.04-9-g99c0734
Vector Packet Processing
|
Include dependency graph for mpls_tunnel.c:Go to the source code of this file.
Data Structures | |
| struct | mpls_tunnel_trace_t_ |
| Packet trace structure. More... | |
Typedefs | |
| typedef struct mpls_tunnel_trace_t_ | mpls_tunnel_trace_t |
| Packet trace structure. More... | |
Variables | |
| static mpls_tunnel_t * | mpls_tunnel_pool |
| pool of tunnel instances More... | |
| static u32 * | mpls_tunnel_free_hw_if_indices |
| Pool of free tunnel SW indices - i.e. More... | |
| static u32 * | mpls_tunnel_db |
| DB of SW index to tunnel index. More... | |
| static vlib_cli_command_t | create_mpls_tunnel_command |
| (constructor) VLIB_CLI_COMMAND (create_mpls_tunnel_command) More... | |
| static vlib_cli_command_t | show_mpls_tunnel_command |
| (constructor) VLIB_CLI_COMMAND (show_mpls_tunnel_command) More... | |
| static const fib_node_vft_t | mpls_vft |
| typedef struct mpls_tunnel_trace_t_ mpls_tunnel_trace_t |
Packet trace structure.
Definition at line 647 of file mpls_tunnel.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 294 of file mpls_tunnel.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 287 of file mpls_tunnel.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 314 of file mpls_tunnel.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Call back when restacking all adjacencies on a MPLS interface.
Definition at line 209 of file mpls_tunnel.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 235 of file mpls_tunnel.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Function definition to backwalk a FIB node.
Definition at line 745 of file mpls_tunnel.c.
Here is the call graph for this function:
|
static |
Build a rewrite string for the MPLS tunnel.
We have choices here; 1 - have an Adjacency with a zero length string and stack it on MPLS label objects 2 - put the label header rewrites in the adjacency string.
We choose 2 since it results in fewer graph nodes in the egress path
Definition at line 93 of file mpls_tunnel.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Function definition to get a FIB node from its index.
Definition at line 757 of file mpls_tunnel.c.
|
static |
Fixup the adj rewrite post encap.
This is a no-op since the rewrite is a stack of labels.
Definition at line 265 of file mpls_tunnel.c.
Here is the caller graph for this function:
|
static |
| const mpls_tunnel_t* mpls_tunnel_get | ( | u32 | mti | ) |
|
static |
Get a tunnel object from a SW interface index.
Definition at line 44 of file mpls_tunnel.c.
Here is the caller graph for this function:
|
static |
Return true if the label stack is imp-null only.
Definition at line 58 of file mpls_tunnel.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
|
static |
Function definition to inform the FIB node that its last lock has gone.
Definition at line 770 of file mpls_tunnel.c.
|
static |
Definition at line 218 of file mpls_tunnel.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
mpls_tunnel_stack
'stack' (resolve the recursion for) the tunnel's midchain adjacency
Definition at line 152 of file mpls_tunnel.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
TX function.
Only called L2. L3 traffic uses the adj-midchains
Definition at line 329 of file mpls_tunnel.c.
Here is the call graph for this function:
|
static |
Definition at line 272 of file mpls_tunnel.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void mpls_tunnel_walk | ( | mpls_tunnel_walk_cb_t | cb, |
| void * | ctx | ||
| ) |
Walk all the MPLS tunnels.
Definition at line 419 of file mpls_tunnel.c.
Here is the caller graph for this function:
|
static |
|
static |
| VNET_DEVICE_CLASS | ( | mpls_tunnel_class | ) |
Here is the caller graph for this function:| VNET_HW_INTERFACE_CLASS | ( | mpls_tunnel_hw_interface_class | ) |
Here is the caller graph for this function:| void vnet_mpls_tunnel_add | ( | fib_route_path_t * | rpaths, |
| mpls_label_t * | label_stack, | ||
| u8 | l2_only, | ||
| u32 * | sw_if_index | ||
| ) |
Create a new MPLS tunnel.
Definition at line 453 of file mpls_tunnel.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void vnet_mpls_tunnel_del | ( | u32 | sw_if_index | ) |
Definition at line 431 of file mpls_tunnel.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
(constructor) VLIB_CLI_COMMAND (create_mpls_tunnel_command)
Definition at line 639 of file mpls_tunnel.c.
|
static |
DB of SW index to tunnel index.
Definition at line 38 of file mpls_tunnel.c.
|
static |
|
static |
pool of tunnel instances
Definition at line 28 of file mpls_tunnel.c.
|
static |
Definition at line 783 of file mpls_tunnel.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_mpls_tunnel_command)
Definition at line 726 of file mpls_tunnel.c.