FD.io VPP  v21.01.1
Vector Packet Processing
sr_localsid.c File Reference

Processing of packets with a SRH. More...

+ Include dependency graph for sr_localsid.c:

Go to the source code of this file.

Data Structures

struct  sr_localsid_trace_t
 SR localsid node trace. More...
 

Macros

#define foreach_sr_localsid_error
 
#define foreach_sr_localsid_next
 

Enumerations

enum  sr_localsid_error_t { SR_LOCALSID_N_ERROR }
 
enum  sr_localsid_next_t { SR_LOCALSID_N_NEXT }
 

Functions

static void sr_localsid_key_create (sr_localsid_key_t *key, ip6_address_t *addr, u16 pref_len)
 
int sr_cli_localsid (char is_del, ip6_address_t *localsid_addr, u16 localsid_prefix_len, char end_psp, u8 behavior, u32 sw_if_index, u32 vlan_index, u32 fib_table, ip46_address_t *nh_addr, int usid_len, void *ls_plugin_mem)
 SR localsid add/del. More...
 
static clib_error_tsr_cli_localsid_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 SR LocalSID CLI function. More...
 
static clib_error_tshow_sr_localsid_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 CLI function to 'show' all SR LocalSIDs on console. More...
 
static clib_error_tclear_sr_localsid_counters_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 Function to 'clear' ALL SR localsid counters. More...
 
u8format_sr_localsid_trace (u8 *s, va_list *args)
 SR LocalSID graph node trace function. More...
 
static_always_inline void end_srh_processing (vlib_node_runtime_t *node, vlib_buffer_t *b0, ip6_header_t *ip0, ip6_sr_header_t *sr0, ip6_sr_localsid_t *ls0, u32 *next0, u8 psp, ip6_ext_header_t *prev0)
 Function doing End processing. More...
 
static_always_inline void end_un_srh_processing (vlib_node_runtime_t *node, vlib_buffer_t *b0, ip6_header_t *ip0, ip6_sr_header_t *sr0, ip6_sr_localsid_t *ls0, u32 *next0, u8 psp, ip6_ext_header_t *prev0)
 Function doing End uN processing. More...
 
static_always_inline void end_un_processing (ip6_header_t *ip0, ip6_sr_localsid_t *ls0)
 
static_always_inline void end_decaps_srh_processing (vlib_node_runtime_t *node, vlib_buffer_t *b0, ip6_header_t *ip0, ip6_sr_header_t *sr0, ip6_sr_localsid_t *ls0, u32 *next0)
 
static uword sr_localsid_d_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 SR LocalSID graph node. More...
 
static uword sr_localsid_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 SR LocalSID graph node. More...
 
static uword sr_localsid_un_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 SR LocalSID uN graph node. More...
 
static uword sr_localsid_un_perf_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
static u8format_sr_dpo (u8 *s, va_list *args)
 
int sr_localsid_register_function (vlib_main_t *vm, u8 *fn_name, u8 *keyword_str, u8 *def_str, u8 *params_str, u8 prefix_length, dpo_type_t *dpo, format_function_t *ls_format, unformat_function_t *ls_unformat, sr_plugin_callback_t *creation_fn, sr_plugin_callback_t *removal_fn)
 SR LocalSID plugin registry. More...
 
static clib_error_tshow_sr_localsid_behaviors_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 CLI function to 'show' all available SR LocalSID behaviors. More...
 
clib_error_tsr_localsids_init (vlib_main_t *vm)
 SR LocalSID initialization. More...
 

Variables

static dpo_type_t sr_localsid_dpo_type
 Dynamically added SR localsid DPO type. More...
 
static dpo_type_t sr_localsid_d_dpo_type
 
static dpo_type_t sr_localsid_un_dpo_type
 
static dpo_type_t sr_localsid_un_perf_dpo_type
 
static vlib_cli_command_t sr_localsid_command
 (constructor) VLIB_CLI_COMMAND (sr_localsid_command) More...
 
static vlib_cli_command_t show_sr_localsid_command
 (constructor) VLIB_CLI_COMMAND (show_sr_localsid_command) More...
 
static vlib_cli_command_t clear_sr_localsid_counters_command
 (constructor) VLIB_CLI_COMMAND (clear_sr_localsid_counters_command) More...
 
static char * sr_localsid_error_strings []
 
vlib_node_registration_t sr_localsid_d_node
 (constructor) VLIB_REGISTER_NODE (sr_localsid_d_node) More...
 
vlib_node_registration_t sr_localsid_node
 (constructor) VLIB_REGISTER_NODE (sr_localsid_node) More...
 
vlib_node_registration_t sr_localsid_un_node
 (constructor) VLIB_REGISTER_NODE (sr_localsid_un_node) More...
 
vlib_node_registration_t sr_localsid_un_perf_node
 (constructor) VLIB_REGISTER_NODE (sr_localsid_un_perf_node) More...
 
static const dpo_vft_t sr_loc_vft
 
static const char *const sr_loc_ip6_nodes []
 
static const char *const *const sr_loc_nodes [DPO_PROTO_NUM]
 
static const char *const sr_loc_d_ip6_nodes []
 
static const char *const *const sr_loc_d_nodes [DPO_PROTO_NUM]
 
static const char *const sr_loc_un_ip6_nodes []
 
static const char *const *const sr_loc_un_nodes [DPO_PROTO_NUM]
 
static const char *const sr_loc_un_perf_ip6_nodes []
 
static const char *const *const sr_loc_un_perf_nodes [DPO_PROTO_NUM]
 
static vlib_cli_command_t show_sr_localsid_behaviors_command
 (constructor) VLIB_CLI_COMMAND (show_sr_localsid_behaviors_command) More...
 

Detailed Description

Processing of packets with a SRH.

CLI to define new Segment Routing End processing functions. Graph node to support such functions.

Each function associates an SRv6 segment (IPv6 address) with an specific Segment Routing function.

Definition in file sr_localsid.c.

Macro Definition Documentation

◆ foreach_sr_localsid_error

#define foreach_sr_localsid_error
Value:
_(NO_INNER_HEADER, "(SR-Error) No inner IP header") \
_(NO_MORE_SEGMENTS, "(SR-Error) No more segments") \
_(NO_SRH, "(SR-Error) No SR header") \
_(NO_PSP, "(SR-Error) PSP Not available (segments left > 0)") \
_(NOT_LS, "(SR-Error) Decaps not available (segments left > 0)") \
_(L2, "(SR-Error) SRv6 decapsulated a L2 frame without dest")

Definition at line 724 of file sr_localsid.c.

◆ foreach_sr_localsid_next

#define foreach_sr_localsid_next
Value:
_(ERROR, "error-drop") \
_(IP6_LOOKUP, "ip6-lookup") \
_(IP4_LOOKUP, "ip4-lookup") \
_(IP6_REWRITE, "ip6-rewrite") \
_(IP4_REWRITE, "ip4-rewrite") \
_(INTERFACE_OUTPUT, "interface-output")

Definition at line 746 of file sr_localsid.c.

Enumeration Type Documentation

◆ sr_localsid_error_t

Enumerator
SR_LOCALSID_N_ERROR 

Definition at line 732 of file sr_localsid.c.

◆ sr_localsid_next_t

Enumerator
SR_LOCALSID_N_NEXT 

Definition at line 754 of file sr_localsid.c.

Function Documentation

◆ clear_sr_localsid_counters_command_fn()

static clib_error_t* clear_sr_localsid_counters_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Function to 'clear' ALL SR localsid counters.

Definition at line 691 of file sr_localsid.c.

+ Here is the call graph for this function:

◆ end_decaps_srh_processing()

static_always_inline void end_decaps_srh_processing ( vlib_node_runtime_t node,
vlib_buffer_t b0,
ip6_header_t ip0,
ip6_sr_header_t sr0,
ip6_sr_localsid_t ls0,
u32 next0 
)

Definition at line 1073 of file sr_localsid.c.

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

◆ end_srh_processing()

static_always_inline void end_srh_processing ( vlib_node_runtime_t node,
vlib_buffer_t b0,
ip6_header_t ip0,
ip6_sr_header_t sr0,
ip6_sr_localsid_t ls0,
u32 next0,
u8  psp,
ip6_ext_header_t *  prev0 
)

Function doing End processing.

Definition at line 835 of file sr_localsid.c.

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

◆ end_un_processing()

static_always_inline void end_un_processing ( ip6_header_t ip0,
ip6_sr_localsid_t ls0 
)

Definition at line 1044 of file sr_localsid.c.

+ Here is the caller graph for this function:

◆ end_un_srh_processing()

static_always_inline void end_un_srh_processing ( vlib_node_runtime_t node,
vlib_buffer_t b0,
ip6_header_t ip0,
ip6_sr_header_t sr0,
ip6_sr_localsid_t ls0,
u32 next0,
u8  psp,
ip6_ext_header_t *  prev0 
)

Function doing End uN processing.

Definition at line 932 of file sr_localsid.c.

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

◆ format_sr_dpo()

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

Definition at line 2292 of file sr_localsid.c.

◆ format_sr_localsid_trace()

u8* format_sr_localsid_trace ( u8 s,
va_list *  args 
)

SR LocalSID graph node trace function.

See also
sr_localsid

Definition at line 768 of file sr_localsid.c.

◆ show_sr_localsid_behaviors_command_fn()

static clib_error_t* show_sr_localsid_behaviors_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

CLI function to 'show' all available SR LocalSID behaviors.

Definition at line 2397 of file sr_localsid.c.

+ Here is the call graph for this function:

◆ show_sr_localsid_command_fn()

static clib_error_t* show_sr_localsid_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

CLI function to 'show' all SR LocalSIDs on console.

Definition at line 543 of file sr_localsid.c.

+ Here is the call graph for this function:

◆ sr_cli_localsid()

int sr_cli_localsid ( char  is_del,
ip6_address_t *  localsid_addr,
u16  localsid_prefix_len,
char  end_psp,
u8  behavior,
u32  sw_if_index,
u32  vlan_index,
u32  fib_table,
ip46_address_t *  nh_addr,
int  usid_len,
void *  ls_plugin_mem 
)

SR localsid add/del.

Function to add or delete SR LocalSIDs.

Parameters
is_delBoolean of whether its a delete instruction
localsid_addrIPv6 address of the localsid
is_decapBoolean of whether decapsulation is allowed in this function
behaviorType of behavior (function) for this localsid
sw_if_indexOnly for L2/L3 xconnect. OIF. In VRF variant the fib_table.
vlan_indexOnly for L2 xconnect. Outgoing VLAN tag.
fib_tableFIB table in which we should install the localsid entry
nh_addrNext Hop IPv4/IPv6 address. Only for L2/L3 xconnect.
Returns
0 on success, error otherwise.

Definition at line 77 of file sr_localsid.c.

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

◆ sr_cli_localsid_command_fn()

static clib_error_t* sr_cli_localsid_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

SR LocalSID CLI function.

See also
sr_cli_localsid

Definition at line 325 of file sr_localsid.c.

+ Here is the call graph for this function:

◆ sr_localsid_d_fn()

static uword sr_localsid_d_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)
static

SR LocalSID graph node.

Supports all default SR Endpoint variants with decaps

Definition at line 1157 of file sr_localsid.c.

+ Here is the call graph for this function:

◆ sr_localsid_fn()

static uword sr_localsid_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)
static

SR LocalSID graph node.

Supports all default SR Endpoint without decaps

Definition at line 1463 of file sr_localsid.c.

+ Here is the call graph for this function:

◆ sr_localsid_key_create()

static void sr_localsid_key_create ( sr_localsid_key_t key,
ip6_address_t *  addr,
u16  pref_len 
)
static

Definition at line 52 of file sr_localsid.c.

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

◆ sr_localsid_register_function()

int sr_localsid_register_function ( vlib_main_t vm,
u8 fn_name,
u8 keyword_str,
u8 def_str,
u8 params_str,
u8  prefix_length,
dpo_type_t dpo,
format_function_t ls_format,
unformat_function_t ls_unformat,
sr_plugin_callback_t creation_fn,
sr_plugin_callback_t removal_fn 
)

SR LocalSID plugin registry.

Definition at line 2347 of file sr_localsid.c.

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

◆ sr_localsid_un_fn()

static uword sr_localsid_un_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)
static

SR LocalSID uN graph node.

Supports all default SR Endpoint without decaps

Definition at line 1773 of file sr_localsid.c.

+ Here is the call graph for this function:

◆ sr_localsid_un_perf_fn()

static uword sr_localsid_un_perf_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)
static

Definition at line 2080 of file sr_localsid.c.

+ Here is the call graph for this function:

◆ sr_localsids_init()

clib_error_t* sr_localsids_init ( vlib_main_t vm)

SR LocalSID initialization.

Definition at line 2454 of file sr_localsid.c.

+ Here is the call graph for this function:

Variable Documentation

◆ clear_sr_localsid_counters_command

vlib_cli_command_t clear_sr_localsid_counters_command
static
Initial value:
= {
.path = "clear sr localsid-counters",
.short_help = "clear sr localsid-counters",
}
static clib_error_t * clear_sr_localsid_counters_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Function to 'clear' ALL SR localsid counters.
Definition: sr_localsid.c:691

(constructor) VLIB_CLI_COMMAND (clear_sr_localsid_counters_command)

Definition at line 704 of file sr_localsid.c.

◆ show_sr_localsid_behaviors_command

vlib_cli_command_t show_sr_localsid_behaviors_command
static
Initial value:
= {
.path = "show sr localsids behaviors",
.short_help = "show sr localsids behaviors",
}
static clib_error_t * show_sr_localsid_behaviors_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
CLI function to 'show' all available SR LocalSID behaviors.
Definition: sr_localsid.c:2397

(constructor) VLIB_CLI_COMMAND (show_sr_localsid_behaviors_command)

Definition at line 2443 of file sr_localsid.c.

◆ show_sr_localsid_command

vlib_cli_command_t show_sr_localsid_command
static
Initial value:
= {
.path = "show sr localsids",
.short_help = "show sr localsids",
}
static clib_error_t * show_sr_localsid_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
CLI function to 'show' all SR LocalSIDs on console.
Definition: sr_localsid.c:543

(constructor) VLIB_CLI_COMMAND (show_sr_localsid_command)

Definition at line 680 of file sr_localsid.c.

◆ sr_loc_d_ip6_nodes

const char* const sr_loc_d_ip6_nodes[]
static
Initial value:
= {
"sr-localsid-d",
NULL,
}

Definition at line 2315 of file sr_localsid.c.

◆ sr_loc_d_nodes

const char* const* const sr_loc_d_nodes[DPO_PROTO_NUM]
static
Initial value:
= {
}
static const char *const sr_loc_d_ip6_nodes[]
Definition: sr_localsid.c:2315

Definition at line 2320 of file sr_localsid.c.

◆ sr_loc_ip6_nodes

const char* const sr_loc_ip6_nodes[]
static
Initial value:
= {
"sr-localsid",
NULL,
}

Definition at line 2306 of file sr_localsid.c.

◆ sr_loc_nodes

const char* const* const sr_loc_nodes[DPO_PROTO_NUM]
static
Initial value:
= {
}
static const char *const sr_loc_ip6_nodes[]
Definition: sr_localsid.c:2306

Definition at line 2311 of file sr_localsid.c.

◆ sr_loc_un_ip6_nodes

const char* const sr_loc_un_ip6_nodes[]
static
Initial value:
= {
"sr-localsid-un",
NULL,
}

Definition at line 2324 of file sr_localsid.c.

◆ sr_loc_un_nodes

const char* const* const sr_loc_un_nodes[DPO_PROTO_NUM]
static
Initial value:
= {
}
static const char *const sr_loc_un_ip6_nodes[]
Definition: sr_localsid.c:2324

Definition at line 2329 of file sr_localsid.c.

◆ sr_loc_un_perf_ip6_nodes

const char* const sr_loc_un_perf_ip6_nodes[]
static
Initial value:
= {
"sr-localsid-un-perf",
NULL,
}

Definition at line 2333 of file sr_localsid.c.

◆ sr_loc_un_perf_nodes

const char* const* const sr_loc_un_perf_nodes[DPO_PROTO_NUM]
static
Initial value:
= {
}
static const char *const sr_loc_un_perf_ip6_nodes[]
Definition: sr_localsid.c:2333

Definition at line 2338 of file sr_localsid.c.

◆ sr_loc_vft

const dpo_vft_t sr_loc_vft
static
Initial value:
= {
.dv_lock = sr_dpo_lock,
.dv_unlock = sr_dpo_unlock,
.dv_format = format_sr_dpo,
}
void sr_dpo_unlock(dpo_id_t *dpo)
no-op unlock function.
Definition: sr.c:47
void sr_dpo_lock(dpo_id_t *dpo)
no-op lock function.
Definition: sr.c:38
static u8 * format_sr_dpo(u8 *s, va_list *args)
Definition: sr_localsid.c:2292

Definition at line 2300 of file sr_localsid.c.

◆ sr_localsid_command

vlib_cli_command_t sr_localsid_command
static
Initial value:
= {
.path = "sr localsid",
.short_help = "sr localsid (del) address XX:XX::YY:YY"
"(fib-table 8) behavior STRING",
.long_help =
"Create SR LocalSID and binds it to a particular behavior\n"
"Arguments:\n"
"\tlocalSID IPv6_addr(128b) LocalSID IPv6 address\n"
"\t(fib-table X) Optional. VRF where to install SRv6 localsid\n"
"\tbehavior STRING Specifies the behavior\n"
"\n\tBehaviors:\n"
"\tEnd\t-> Endpoint.\n"
"\tEnd.uN\t-> Endpoint with uSID.\n"
"\tEnd.X\t-> Endpoint with decapsulation and Layer-3 cross-connect.\n"
"\t\tParameters: '<iface> <ip6_next_hop>'\n"
"\tEnd.DX2\t-> Endpoint with decapsulation and Layer-2 cross-connect.\n"
"\t\tParameters: '<iface>'\n"
"\tEnd.DX6\t-> Endpoint with decapsulation and IPv6 cross-connect.\n"
"\t\tParameters: '<iface> <ip6_next_hop>'\n"
"\tEnd.DX4\t-> Endpoint with decapsulation and IPv4 cross-connect.\n"
"\t\tParameters: '<iface> <ip4_next_hop>'\n"
"\tEnd.DT6\t-> Endpoint with decapsulation and specific IPv6 table lookup.\n"
"\t\tParameters: '<ip6_fib_table>'\n"
"\tEnd.DT4\t-> Endpoint with decapsulation and specific IPv4 table lookup.\n"
"\t\tParameters: '<ip4_fib_table>'\n",
}
static clib_error_t * sr_cli_localsid_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
SR LocalSID CLI function.
Definition: sr_localsid.c:325

(constructor) VLIB_CLI_COMMAND (sr_localsid_command)

Definition at line 510 of file sr_localsid.c.

◆ sr_localsid_d_dpo_type

dpo_type_t sr_localsid_d_dpo_type
static

Definition at line 47 of file sr_localsid.c.

◆ sr_localsid_d_node

vlib_node_registration_t sr_localsid_d_node
Initial value:
= {
.function = sr_localsid_d_fn,
.name = "sr-localsid-d",
.vector_size = sizeof (u32),
.format_trace = format_sr_localsid_trace,
.n_errors = SR_LOCALSID_N_ERROR,
.error_strings = sr_localsid_error_strings,
.n_next_nodes = SR_LOCALSID_N_NEXT,
.next_nodes = {
#define _(s,n)
},
}
static char * sr_localsid_error_strings[]
Definition: sr_localsid.c:740
unsigned int u32
Definition: types.h:88
vl_api_fib_path_type_t type
Definition: fib_types.api:123
u8 * format_sr_localsid_trace(u8 *s, va_list *args)
SR LocalSID graph node trace function.
Definition: sr_localsid.c:768
static uword sr_localsid_d_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
SR LocalSID graph node.
Definition: sr_localsid.c:1157
#define foreach_sr_localsid_next
Definition: sr_localsid.c:746

(constructor) VLIB_REGISTER_NODE (sr_localsid_d_node)

Definition at line 1442 of file sr_localsid.c.

◆ sr_localsid_dpo_type

dpo_type_t sr_localsid_dpo_type
static

Dynamically added SR localsid DPO type.

Definition at line 46 of file sr_localsid.c.

◆ sr_localsid_error_strings

char* sr_localsid_error_strings[]
static
Initial value:
= {
#define _(sym,string)
}
#define foreach_sr_localsid_error
Definition: sr_localsid.c:724

Definition at line 740 of file sr_localsid.c.

◆ sr_localsid_node

vlib_node_registration_t sr_localsid_node
Initial value:
= {
.function = sr_localsid_fn,
.name = "sr-localsid",
.vector_size = sizeof (u32),
.format_trace = format_sr_localsid_trace,
.n_errors = SR_LOCALSID_N_ERROR,
.error_strings = sr_localsid_error_strings,
.n_next_nodes = SR_LOCALSID_N_NEXT,
.next_nodes = {
#define _(s,n)
},
}
static char * sr_localsid_error_strings[]
Definition: sr_localsid.c:740
unsigned int u32
Definition: types.h:88
vl_api_fib_path_type_t type
Definition: fib_types.api:123
u8 * format_sr_localsid_trace(u8 *s, va_list *args)
SR LocalSID graph node trace function.
Definition: sr_localsid.c:768
static uword sr_localsid_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
SR LocalSID graph node.
Definition: sr_localsid.c:1463
#define foreach_sr_localsid_next
Definition: sr_localsid.c:746

(constructor) VLIB_REGISTER_NODE (sr_localsid_node)

Definition at line 1752 of file sr_localsid.c.

◆ sr_localsid_un_dpo_type

dpo_type_t sr_localsid_un_dpo_type
static

Definition at line 48 of file sr_localsid.c.

◆ sr_localsid_un_node

vlib_node_registration_t sr_localsid_un_node
Initial value:
= {
.function = sr_localsid_un_fn,
.name = "sr-localsid-un",
.vector_size = sizeof (u32),
.format_trace = format_sr_localsid_trace,
.n_errors = SR_LOCALSID_N_ERROR,
.error_strings = sr_localsid_error_strings,
.n_next_nodes = SR_LOCALSID_N_NEXT,
.next_nodes = {
#define _(s,n)
},
}
static char * sr_localsid_error_strings[]
Definition: sr_localsid.c:740
unsigned int u32
Definition: types.h:88
vl_api_fib_path_type_t type
Definition: fib_types.api:123
static uword sr_localsid_un_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
SR LocalSID uN graph node.
Definition: sr_localsid.c:1773
u8 * format_sr_localsid_trace(u8 *s, va_list *args)
SR LocalSID graph node trace function.
Definition: sr_localsid.c:768
#define foreach_sr_localsid_next
Definition: sr_localsid.c:746

(constructor) VLIB_REGISTER_NODE (sr_localsid_un_node)

Definition at line 2062 of file sr_localsid.c.

◆ sr_localsid_un_perf_dpo_type

dpo_type_t sr_localsid_un_perf_dpo_type
static

Definition at line 49 of file sr_localsid.c.

◆ sr_localsid_un_perf_node

vlib_node_registration_t sr_localsid_un_perf_node
Initial value:
= {
.name = "sr-localsid-un-perf",
.vector_size = sizeof (u32),
.format_trace = format_sr_localsid_trace,
.n_errors = SR_LOCALSID_N_ERROR,
.error_strings = sr_localsid_error_strings,
.n_next_nodes = SR_LOCALSID_N_NEXT,
.next_nodes = {
#define _(s,n)
},
}
static char * sr_localsid_error_strings[]
Definition: sr_localsid.c:740
static uword sr_localsid_un_perf_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
Definition: sr_localsid.c:2080
unsigned int u32
Definition: types.h:88
vl_api_fib_path_type_t type
Definition: fib_types.api:123
u8 * format_sr_localsid_trace(u8 *s, va_list *args)
SR LocalSID graph node trace function.
Definition: sr_localsid.c:768
#define foreach_sr_localsid_next
Definition: sr_localsid.c:746

(constructor) VLIB_REGISTER_NODE (sr_localsid_un_perf_node)

Definition at line 2274 of file sr_localsid.c.