FD.io VPP  v21.01.1
Vector Packet Processing
ip6_urpf.c File Reference
+ Include dependency graph for ip6_urpf.c:

Go to the source code of this file.

Functions

VLIB_NODE_FN() ip6_rx_urpf_loose (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
VLIB_NODE_FN() ip6_rx_urpf_strict (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
VLIB_NODE_FN() ip6_tx_urpf_loose (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
VLIB_NODE_FN() ip6_tx_urpf_strict (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
 VNET_FEATURE_INIT (ip6_rx_urpf_loose_feat, static)
 
 VNET_FEATURE_INIT (ip6_rx_urpf_strict_feat, static)
 
 VNET_FEATURE_INIT (ip6_tx_urpf_loose_feat, static)
 
 VNET_FEATURE_INIT (ip6_tx_urpf_strict_feat, static)
 

Variables

static char * ip6_urpf_error_strings []
 
vlib_node_registration_t ip6_rx_urpf_loose
 (constructor) VLIB_REGISTER_NODE (ip6_rx_urpf_loose) More...
 
vlib_node_registration_t ip6_rx_urpf_strict
 (constructor) VLIB_REGISTER_NODE (ip6_rx_urpf_strict) More...
 
vlib_node_registration_t ip6_tx_urpf_loose
 (constructor) VLIB_REGISTER_NODE (ip6_tx_urpf_loose) More...
 
vlib_node_registration_t ip6_tx_urpf_strict
 (constructor) VLIB_REGISTER_NODE (ip6_tx_urpf_strict) More...
 

Function Documentation

◆ ip6_rx_urpf_loose()

VLIB_NODE_FN() ip6_rx_urpf_loose ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)

Definition at line 49 of file ip6_urpf.c.

+ Here is the call graph for this function:

◆ ip6_rx_urpf_strict()

VLIB_NODE_FN() ip6_rx_urpf_strict ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)

Definition at line 56 of file ip6_urpf.c.

+ Here is the call graph for this function:

◆ ip6_tx_urpf_loose()

VLIB_NODE_FN() ip6_tx_urpf_loose ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)

Definition at line 63 of file ip6_urpf.c.

+ Here is the call graph for this function:

◆ ip6_tx_urpf_strict()

VLIB_NODE_FN() ip6_tx_urpf_strict ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)

Definition at line 70 of file ip6_urpf.c.

+ Here is the call graph for this function:

◆ VNET_FEATURE_INIT() [1/4]

VNET_FEATURE_INIT ( ip6_rx_urpf_loose_feat  ,
static   
)

◆ VNET_FEATURE_INIT() [2/4]

VNET_FEATURE_INIT ( ip6_rx_urpf_strict_feat  ,
static   
)

◆ VNET_FEATURE_INIT() [3/4]

VNET_FEATURE_INIT ( ip6_tx_urpf_loose_feat  ,
static   
)

◆ VNET_FEATURE_INIT() [4/4]

VNET_FEATURE_INIT ( ip6_tx_urpf_strict_feat  ,
static   
)

Variable Documentation

◆ ip6_rx_urpf_loose

vlib_node_registration_t ip6_rx_urpf_loose
Initial value:
= {
.name = "ip6-rx-urpf-loose",
.vector_size = sizeof (u32),
.n_next_nodes = URPF_N_NEXT,
.next_nodes = {
[URPF_NEXT_DROP] = "ip6-drop",
},
.error_strings = ip6_urpf_error_strings,
.format_buffer = format_ip6_header,
.format_trace = format_urpf_trace,
}
static u8 * format_urpf_trace(u8 *s, va_list *va)
Definition: urpf_dp.h:62
unsigned int u32
Definition: types.h:88
#define ARRAY_LEN(x)
Definition: clib.h:67
static char * ip6_urpf_error_strings[]
Definition: ip6_urpf.c:43
format_function_t format_ip6_header
Definition: format.h:95

(constructor) VLIB_REGISTER_NODE (ip6_rx_urpf_loose)

Definition at line 78 of file ip6_urpf.c.

◆ ip6_rx_urpf_strict

vlib_node_registration_t ip6_rx_urpf_strict
Initial value:
= {
.name = "ip6-rx-urpf-strict",
.vector_size = sizeof (u32),
.n_next_nodes = URPF_N_NEXT,
.next_nodes = {
[URPF_NEXT_DROP] = "ip6-drop",
},
.error_strings = ip6_urpf_error_strings,
.format_buffer = format_ip6_header,
.format_trace = format_urpf_trace,
}
static u8 * format_urpf_trace(u8 *s, va_list *va)
Definition: urpf_dp.h:62
unsigned int u32
Definition: types.h:88
#define ARRAY_LEN(x)
Definition: clib.h:67
static char * ip6_urpf_error_strings[]
Definition: ip6_urpf.c:43
format_function_t format_ip6_header
Definition: format.h:95

(constructor) VLIB_REGISTER_NODE (ip6_rx_urpf_strict)

Definition at line 93 of file ip6_urpf.c.

◆ ip6_tx_urpf_loose

vlib_node_registration_t ip6_tx_urpf_loose
Initial value:
= {
.name = "ip6-tx-urpf-loose",
.vector_size = sizeof (u32),
.n_next_nodes = URPF_N_NEXT,
.next_nodes = {
[URPF_NEXT_DROP] = "ip6-drop",
},
.error_strings = ip6_urpf_error_strings,
.format_buffer = format_ip6_header,
.format_trace = format_urpf_trace,
}
static u8 * format_urpf_trace(u8 *s, va_list *va)
Definition: urpf_dp.h:62
unsigned int u32
Definition: types.h:88
#define ARRAY_LEN(x)
Definition: clib.h:67
static char * ip6_urpf_error_strings[]
Definition: ip6_urpf.c:43
format_function_t format_ip6_header
Definition: format.h:95

(constructor) VLIB_REGISTER_NODE (ip6_tx_urpf_loose)

Definition at line 108 of file ip6_urpf.c.

◆ ip6_tx_urpf_strict

vlib_node_registration_t ip6_tx_urpf_strict
Initial value:
= {
.name = "ip6-tx-urpf-strict",
.vector_size = sizeof (u32),
.n_next_nodes = URPF_N_NEXT,
.next_nodes = {
[URPF_NEXT_DROP] = "ip6-drop",
},
.error_strings = ip6_urpf_error_strings,
.format_buffer = format_ip6_header,
.format_trace = format_urpf_trace,
}
static u8 * format_urpf_trace(u8 *s, va_list *va)
Definition: urpf_dp.h:62
unsigned int u32
Definition: types.h:88
#define ARRAY_LEN(x)
Definition: clib.h:67
static char * ip6_urpf_error_strings[]
Definition: ip6_urpf.c:43
format_function_t format_ip6_header
Definition: format.h:95

(constructor) VLIB_REGISTER_NODE (ip6_tx_urpf_strict)

Definition at line 123 of file ip6_urpf.c.

◆ ip6_urpf_error_strings

char* ip6_urpf_error_strings[]
static
Initial value:
= {
#define _(a,b)
}
#define foreach_urpf_error
Definition: urpf_dp.h:73

Definition at line 43 of file ip6_urpf.c.