FD.io VPP  v19.04.2-12-g66b1689
Vector Packet Processing
node.c File Reference
+ Include dependency graph for node.c:

Go to the source code of this file.

Data Structures

struct  srv6_ad_localsid_trace_t
 
struct  srv6_ad_rewrite_trace_t
 

Macros

#define foreach_srv6_ad_rewrite_counter
 

Enumerations

enum  srv6_ad_rewrite_counters { SRV6_AD_REWRITE_N_COUNTERS }
 
enum  srv6_ad_localsid_next_t {
  SRV6_AD_LOCALSID_NEXT_ERROR, SRV6_AD_LOCALSID_NEXT_REWRITE4, SRV6_AD_LOCALSID_NEXT_REWRITE6, SRV6_AD_LOCALSID_NEXT_INTERFACE,
  SRV6_AD_LOCALSID_N_NEXT
}
 
enum  srv6_ad_rewrite_next_t { SRV6_AD_REWRITE_NEXT_ERROR, SRV6_AD_REWRITE_NEXT_LOOKUP, SRV6_AD_REWRITE_N_NEXT }
 

Functions

static u8format_srv6_ad_localsid_trace (u8 *s, va_list *args)
 
static u8format_srv6_ad_rewrite_trace (u8 *s, va_list *args)
 
static_always_inline void end_ad_processing (vlib_buffer_t *b0, ip6_header_t *ip0, ip6_sr_header_t *sr0, ip6_sr_localsid_t *ls0, u32 *next0)
 Function doing SRH processing for AD behavior. More...
 
static uword srv6_ad_localsid_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 SRv6 AD Localsid graph node. More...
 
static uword srv6_ad2_rewrite_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 Graph node for applying a SR policy into an IPv6 packet. More...
 
static uword srv6_ad4_rewrite_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 Graph node for applying a SR policy into an IPv6 packet. More...
 
static uword srv6_ad6_rewrite_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 Graph node for applying a SR policy into an IPv6 packet. More...
 

Variables

vlib_node_registration_t srv6_ad4_rewrite_node
 (constructor) VLIB_REGISTER_NODE (srv6_ad4_rewrite_node) More...
 
vlib_node_registration_t srv6_ad6_rewrite_node
 (constructor) VLIB_REGISTER_NODE (srv6_ad6_rewrite_node) More...
 
static char * srv6_ad_rewrite_counter_strings []
 
vlib_node_registration_t srv6_ad_localsid_node
 (constructor) VLIB_REGISTER_NODE (srv6_ad_localsid_node) More...
 
vlib_node_registration_t srv6_ad2_rewrite_node
 (constructor) VLIB_REGISTER_NODE (srv6_ad2_rewrite_node) More...
 

Macro Definition Documentation

#define foreach_srv6_ad_rewrite_counter
Value:
_(PROCESSED, "srv6-ad rewritten packets") \
_(NO_RW, "(Error) No header for rewriting.")

Definition at line 69 of file node.c.

Enumeration Type Documentation

Enumerator
SRV6_AD_LOCALSID_NEXT_ERROR 
SRV6_AD_LOCALSID_NEXT_REWRITE4 
SRV6_AD_LOCALSID_NEXT_REWRITE6 
SRV6_AD_LOCALSID_NEXT_INTERFACE 
SRV6_AD_LOCALSID_N_NEXT 

Definition at line 90 of file node.c.

Enumerator
SRV6_AD_REWRITE_N_COUNTERS 

Definition at line 73 of file node.c.

Enumerator
SRV6_AD_REWRITE_NEXT_ERROR 
SRV6_AD_REWRITE_NEXT_LOOKUP 
SRV6_AD_REWRITE_N_NEXT 

Definition at line 99 of file node.c.

Function Documentation

static_always_inline void end_ad_processing ( vlib_buffer_t b0,
ip6_header_t ip0,
ip6_sr_header_t sr0,
ip6_sr_localsid_t ls0,
u32 next0 
)

Function doing SRH processing for AD behavior.

Definition at line 113 of file node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u8* format_srv6_ad_localsid_trace ( u8 s,
va_list *  args 
)
static

Definition at line 35 of file node.c.

+ Here is the call graph for this function:

static u8* format_srv6_ad_rewrite_trace ( u8 s,
va_list *  args 
)
static

Definition at line 45 of file node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword srv6_ad2_rewrite_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Graph node for applying a SR policy into an IPv6 packet.

Encapsulation

Definition at line 297 of file node.c.

+ Here is the call graph for this function:

static uword srv6_ad4_rewrite_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Graph node for applying a SR policy into an IPv6 packet.

Encapsulation

Definition at line 431 of file node.c.

+ Here is the call graph for this function:

static uword srv6_ad6_rewrite_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Graph node for applying a SR policy into an IPv6 packet.

Encapsulation

Definition at line 574 of file node.c.

+ Here is the call graph for this function:

static uword srv6_ad_localsid_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

SRv6 AD Localsid graph node.

Definition at line 198 of file node.c.

+ Here is the call graph for this function:

Variable Documentation

vlib_node_registration_t srv6_ad2_rewrite_node
Initial value:
= {
.function = srv6_ad2_rewrite_fn,
.name = "srv6-ad2-rewrite",
.vector_size = sizeof (u32),
.n_next_nodes = SRV6_AD_REWRITE_N_NEXT,
.next_nodes = {
[SRV6_AD_REWRITE_NEXT_LOOKUP] = "ip6-lookup",
[SRV6_AD_REWRITE_NEXT_ERROR] = "error-drop",
},
}
static uword srv6_ad2_rewrite_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Graph node for applying a SR policy into an IPv6 packet.
Definition: node.c:297
unsigned int u32
Definition: types.h:88
static u8 * format_srv6_ad_rewrite_trace(u8 *s, va_list *args)
Definition: node.c:45
static char * srv6_ad_rewrite_counter_strings[]
Definition: node.c:81

(constructor) VLIB_REGISTER_NODE (srv6_ad2_rewrite_node)

Definition at line 410 of file node.c.

vlib_node_registration_t srv6_ad4_rewrite_node
Initial value:
= {
.function = srv6_ad4_rewrite_fn,
.name = "srv6-ad4-rewrite",
.vector_size = sizeof (u32),
.n_next_nodes = SRV6_AD_REWRITE_N_NEXT,
.next_nodes = {
[SRV6_AD_REWRITE_NEXT_LOOKUP] = "ip6-lookup",
[SRV6_AD_REWRITE_NEXT_ERROR] = "error-drop",
},
}
unsigned int u32
Definition: types.h:88
static u8 * format_srv6_ad_rewrite_trace(u8 *s, va_list *args)
Definition: node.c:45
static uword srv6_ad4_rewrite_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Graph node for applying a SR policy into an IPv6 packet.
Definition: node.c:431
static char * srv6_ad_rewrite_counter_strings[]
Definition: node.c:81

(constructor) VLIB_REGISTER_NODE (srv6_ad4_rewrite_node)

Definition at line 63 of file node.c.

vlib_node_registration_t srv6_ad6_rewrite_node
Initial value:
= {
.function = srv6_ad6_rewrite_fn,
.name = "srv6-ad6-rewrite",
.vector_size = sizeof (u32),
.n_next_nodes = SRV6_AD_REWRITE_N_NEXT,
.next_nodes = {
[SRV6_AD_REWRITE_NEXT_LOOKUP] = "ip6-lookup",
[SRV6_AD_REWRITE_NEXT_ERROR] = "error-drop",
},
}
unsigned int u32
Definition: types.h:88
static uword srv6_ad6_rewrite_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Graph node for applying a SR policy into an IPv6 packet.
Definition: node.c:574
static u8 * format_srv6_ad_rewrite_trace(u8 *s, va_list *args)
Definition: node.c:45
static char * srv6_ad_rewrite_counter_strings[]
Definition: node.c:81

(constructor) VLIB_REGISTER_NODE (srv6_ad6_rewrite_node)

Definition at line 64 of file node.c.

vlib_node_registration_t srv6_ad_localsid_node
Initial value:
= {
.function = srv6_ad_localsid_fn,
.name = "srv6-ad-localsid",
.vector_size = sizeof (u32),
.n_next_nodes = SRV6_AD_LOCALSID_N_NEXT,
.next_nodes = {
[SRV6_AD_LOCALSID_NEXT_REWRITE4] = "ip4-rewrite",
[SRV6_AD_LOCALSID_NEXT_REWRITE6] = "ip6-rewrite",
[SRV6_AD_LOCALSID_NEXT_INTERFACE] = "interface-output",
[SRV6_AD_LOCALSID_NEXT_ERROR] = "error-drop",
},
}
static uword srv6_ad_localsid_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
SRv6 AD Localsid graph node.
Definition: node.c:198
unsigned int u32
Definition: types.h:88
static u8 * format_srv6_ad_localsid_trace(u8 *s, va_list *args)
Definition: node.c:35

(constructor) VLIB_REGISTER_NODE (srv6_ad_localsid_node)

Definition at line 274 of file node.c.

char* srv6_ad_rewrite_counter_strings[]
static
Initial value:
= {
#define _(sym,string)
}
#define foreach_srv6_ad_rewrite_counter
Definition: node.c:69

Definition at line 81 of file node.c.