FD.io VPP
v21.01.1
Vector Packet Processing
|
Processing of packets with a SRH. More...
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 } |
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... | |
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.
#define foreach_sr_localsid_error |
Definition at line 724 of file sr_localsid.c.
#define foreach_sr_localsid_next |
Definition at line 746 of file sr_localsid.c.
enum sr_localsid_error_t |
Enumerator | |
---|---|
SR_LOCALSID_N_ERROR |
Definition at line 732 of file sr_localsid.c.
enum sr_localsid_next_t |
Enumerator | |
---|---|
SR_LOCALSID_N_NEXT |
Definition at line 754 of file sr_localsid.c.
|
static |
Function to 'clear' ALL SR localsid counters.
Definition at line 691 of file sr_localsid.c.
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.
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.
static_always_inline void end_un_processing | ( | ip6_header_t * | ip0, |
ip6_sr_localsid_t * | ls0 | ||
) |
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.
Definition at line 2292 of file sr_localsid.c.
SR LocalSID graph node trace function.
Definition at line 768 of file sr_localsid.c.
|
static |
CLI function to 'show' all available SR LocalSID behaviors.
Definition at line 2397 of file sr_localsid.c.
|
static |
CLI function to 'show' all SR LocalSIDs on console.
Definition at line 543 of file sr_localsid.c.
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.
is_del | Boolean of whether its a delete instruction |
localsid_addr | IPv6 address of the localsid |
is_decap | Boolean of whether decapsulation is allowed in this function |
behavior | Type of behavior (function) for this localsid |
sw_if_index | Only for L2/L3 xconnect. OIF. In VRF variant the fib_table. |
vlan_index | Only for L2 xconnect. Outgoing VLAN tag. |
fib_table | FIB table in which we should install the localsid entry |
nh_addr | Next Hop IPv4/IPv6 address. Only for L2/L3 xconnect. |
Definition at line 77 of file sr_localsid.c.
|
static |
SR LocalSID CLI function.
Definition at line 325 of file sr_localsid.c.
|
static |
SR LocalSID graph node.
Supports all default SR Endpoint variants with decaps
Definition at line 1157 of file sr_localsid.c.
|
static |
SR LocalSID graph node.
Supports all default SR Endpoint without decaps
Definition at line 1463 of file sr_localsid.c.
|
static |
Definition at line 52 of file sr_localsid.c.
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.
|
static |
SR LocalSID uN graph node.
Supports all default SR Endpoint without decaps
Definition at line 1773 of file sr_localsid.c.
|
static |
clib_error_t* sr_localsids_init | ( | vlib_main_t * | vm | ) |
SR LocalSID initialization.
Definition at line 2454 of file sr_localsid.c.
|
static |
(constructor) VLIB_CLI_COMMAND (clear_sr_localsid_counters_command)
Definition at line 704 of file sr_localsid.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_sr_localsid_behaviors_command)
Definition at line 2443 of file sr_localsid.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_sr_localsid_command)
Definition at line 680 of file sr_localsid.c.
|
static |
Definition at line 2315 of file sr_localsid.c.
|
static |
Definition at line 2320 of file sr_localsid.c.
|
static |
Definition at line 2306 of file sr_localsid.c.
|
static |
Definition at line 2311 of file sr_localsid.c.
|
static |
Definition at line 2324 of file sr_localsid.c.
|
static |
Definition at line 2329 of file sr_localsid.c.
|
static |
Definition at line 2333 of file sr_localsid.c.
|
static |
Definition at line 2338 of file sr_localsid.c.
|
static |
Definition at line 2300 of file sr_localsid.c.
|
static |
(constructor) VLIB_CLI_COMMAND (sr_localsid_command)
Definition at line 510 of file sr_localsid.c.
|
static |
Definition at line 47 of file sr_localsid.c.
vlib_node_registration_t sr_localsid_d_node |
(constructor) VLIB_REGISTER_NODE (sr_localsid_d_node)
Definition at line 1442 of file sr_localsid.c.
|
static |
Dynamically added SR localsid DPO type.
Definition at line 46 of file sr_localsid.c.
|
static |
Definition at line 740 of file sr_localsid.c.
vlib_node_registration_t sr_localsid_node |
(constructor) VLIB_REGISTER_NODE (sr_localsid_node)
Definition at line 1752 of file sr_localsid.c.
|
static |
Definition at line 48 of file sr_localsid.c.
vlib_node_registration_t sr_localsid_un_node |
(constructor) VLIB_REGISTER_NODE (sr_localsid_un_node)
Definition at line 2062 of file sr_localsid.c.
|
static |
Definition at line 49 of file sr_localsid.c.
vlib_node_registration_t sr_localsid_un_perf_node |
(constructor) VLIB_REGISTER_NODE (sr_localsid_un_perf_node)
Definition at line 2274 of file sr_localsid.c.