FD.io VPP  v20.09-64-g4f7b92f0a
Vector Packet Processing
nsh_node.c File Reference
+ Include dependency graph for nsh_node.c:

Go to the source code of this file.

Functions

static void nsh_md2_encap (vlib_buffer_t *b, nsh_base_header_t *hdr, nsh_entry_t *nsh_entry)
 
static void nsh_md2_swap (vlib_buffer_t *b, nsh_base_header_t *hdr, u32 header_len, nsh_entry_t *nsh_entry, u32 *next, u32 drop_node_val)
 
static void nsh_md2_decap (vlib_buffer_t *b, nsh_base_header_t *hdr, u32 *header_len, u32 *next, u32 drop_node_val)
 
static uword nsh_input_map (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame, u32 node_type)
 
VLIB_NODE_FN() nsh_input_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 Graph processing dispatch function for NSH Input. More...
 
VLIB_NODE_FN() nsh_proxy_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 Graph processing dispatch function for NSH-Proxy. More...
 
VLIB_NODE_FN() nsh_classifier_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 Graph processing dispatch function for NSH Classifier. More...
 
VLIB_NODE_FN() nsh_aware_vnf_proxy_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 Graph processing dispatch function for NSH-AWARE-VNF-PROXY. More...
 

Variables

static char * nsh_node_error_strings []
 
vlib_node_registration_t nsh_input_node
 (constructor) VLIB_REGISTER_NODE (nsh_input_node) More...
 
vlib_node_registration_t nsh_proxy_node
 (constructor) VLIB_REGISTER_NODE (nsh_proxy_node) More...
 
vlib_node_registration_t nsh_classifier_node
 (constructor) VLIB_REGISTER_NODE (nsh_classifier_node) More...
 
vlib_node_registration_t nsh_aware_vnf_proxy_node
 (constructor) VLIB_REGISTER_NODE (nsh_aware_vnf_proxy_node) More...
 

Function Documentation

◆ nsh_aware_vnf_proxy_node()

VLIB_NODE_FN() nsh_aware_vnf_proxy_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)

Graph processing dispatch function for NSH-AWARE-VNF-PROXY.

Node Identifier:
nsh_aware_vnf_proxy
Parameters
*vm
*node
*from_frame
Returns
from_frame->n_vectors

Definition at line 896 of file nsh_node.c.

+ Here is the call graph for this function:

◆ nsh_classifier_node()

VLIB_NODE_FN() nsh_classifier_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)

Graph processing dispatch function for NSH Classifier.

Node Identifier:
nsh_classifier
Parameters
*vm
*node
*from_frame
Returns
from_frame->n_vectors

Definition at line 878 of file nsh_node.c.

+ Here is the call graph for this function:

◆ nsh_input_map()

static uword nsh_input_map ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame,
u32  node_type 
)
static

Definition at line 201 of file nsh_node.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nsh_input_node()

VLIB_NODE_FN() nsh_input_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)

Graph processing dispatch function for NSH Input.

Node Identifier:
nsh_input
Parameters
*vm
*node
*from_frame
Returns
from_frame->n_vectors

Definition at line 844 of file nsh_node.c.

+ Here is the call graph for this function:

◆ nsh_md2_decap()

static void nsh_md2_decap ( vlib_buffer_t b,
nsh_base_header_t *  hdr,
u32 header_len,
u32 next,
u32  drop_node_val 
)
inlinestatic

Definition at line 155 of file nsh_node.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nsh_md2_encap()

static void nsh_md2_encap ( vlib_buffer_t b,
nsh_base_header_t *  hdr,
nsh_entry_t nsh_entry 
)
inlinestatic

Definition at line 23 of file nsh_node.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nsh_md2_swap()

static void nsh_md2_swap ( vlib_buffer_t b,
nsh_base_header_t *  hdr,
u32  header_len,
nsh_entry_t nsh_entry,
u32 next,
u32  drop_node_val 
)
inlinestatic

Definition at line 88 of file nsh_node.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nsh_proxy_node()

VLIB_NODE_FN() nsh_proxy_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)

Graph processing dispatch function for NSH-Proxy.

Node Identifier:
nsh_proxy
Parameters
*vm
*node
*from_frame
Returns
from_frame->n_vectors

Definition at line 861 of file nsh_node.c.

+ Here is the call graph for this function:

Variable Documentation

◆ nsh_aware_vnf_proxy_node

vlib_node_registration_t nsh_aware_vnf_proxy_node
Initial value:
=
{
.name = "nsh-aware-vnf-proxy",
.vector_size = sizeof (u32),
.format_trace = format_nsh_node_map_trace,
.format_buffer = format_nsh_header,
.error_strings = nsh_node_error_strings,
.n_next_nodes = NSH_NODE_N_NEXT,
.next_nodes = {
#define _(s,n)
},
}
u8 * format_nsh_node_map_trace(u8 *s, va_list *args)
Definition: nsh_cli.c:597
#define foreach_nsh_node_next
Definition: nsh.h:208
static char * nsh_node_error_strings[]
Definition: nsh_node.c:903
unsigned int u32
Definition: types.h:88
vl_api_fib_path_type_t type
Definition: fib_types.api:123
#define ARRAY_LEN(x)
Definition: clib.h:67
u8 * format_nsh_header(u8 *s, va_list *args)
Definition: nsh_cli.c:512

(constructor) VLIB_REGISTER_NODE (nsh_aware_vnf_proxy_node)

Definition at line 965 of file nsh_node.c.

◆ nsh_classifier_node

vlib_node_registration_t nsh_classifier_node
Initial value:
=
{
.name = "nsh-classifier",
.vector_size = sizeof (u32),
.format_trace = format_nsh_node_map_trace,
.format_buffer = format_nsh_header,
.error_strings = nsh_node_error_strings,
.n_next_nodes = NSH_NODE_N_NEXT,
.next_nodes = {
#define _(s,n)
},
}
u8 * format_nsh_node_map_trace(u8 *s, va_list *args)
Definition: nsh_cli.c:597
#define foreach_nsh_node_next
Definition: nsh.h:208
static char * nsh_node_error_strings[]
Definition: nsh_node.c:903
unsigned int u32
Definition: types.h:88
vl_api_fib_path_type_t type
Definition: fib_types.api:123
#define ARRAY_LEN(x)
Definition: clib.h:67
u8 * format_nsh_header(u8 *s, va_list *args)
Definition: nsh_cli.c:512

(constructor) VLIB_REGISTER_NODE (nsh_classifier_node)

Definition at line 947 of file nsh_node.c.

◆ nsh_input_node

vlib_node_registration_t nsh_input_node
Initial value:
= {
.name = "nsh-input",
.vector_size = sizeof (u32),
.format_trace = format_nsh_node_map_trace,
.format_buffer = format_nsh_header,
.error_strings = nsh_node_error_strings,
.n_next_nodes = NSH_NODE_N_NEXT,
.next_nodes = {
#define _(s,n)
},
}
u8 * format_nsh_node_map_trace(u8 *s, va_list *args)
Definition: nsh_cli.c:597
#define foreach_nsh_node_next
Definition: nsh.h:208
static char * nsh_node_error_strings[]
Definition: nsh_node.c:903
unsigned int u32
Definition: types.h:88
vl_api_fib_path_type_t type
Definition: fib_types.api:123
#define ARRAY_LEN(x)
Definition: clib.h:67
u8 * format_nsh_header(u8 *s, va_list *args)
Definition: nsh_cli.c:512

(constructor) VLIB_REGISTER_NODE (nsh_input_node)

Definition at line 912 of file nsh_node.c.

◆ nsh_node_error_strings

char* nsh_node_error_strings[]
static
Initial value:
= {
#define _(sym,string)
}
#define foreach_nsh_node_error
Definition: nsh.h:191

Definition at line 903 of file nsh_node.c.

◆ nsh_proxy_node

vlib_node_registration_t nsh_proxy_node
Initial value:
=
{
.name = "nsh-proxy",
.vector_size = sizeof (u32),
.format_trace = format_nsh_node_map_trace,
.format_buffer = format_nsh_header,
.error_strings = nsh_node_error_strings,
.n_next_nodes = NSH_NODE_N_NEXT,
.next_nodes = {
#define _(s,n)
},
}
u8 * format_nsh_node_map_trace(u8 *s, va_list *args)
Definition: nsh_cli.c:597
#define foreach_nsh_node_next
Definition: nsh.h:208
static char * nsh_node_error_strings[]
Definition: nsh_node.c:903
unsigned int u32
Definition: types.h:88
vl_api_fib_path_type_t type
Definition: fib_types.api:123
#define ARRAY_LEN(x)
Definition: clib.h:67
u8 * format_nsh_header(u8 *s, va_list *args)
Definition: nsh_cli.c:512

(constructor) VLIB_REGISTER_NODE (nsh_proxy_node)

Definition at line 929 of file nsh_node.c.