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

Go to the source code of this file.

Macros

#define check_rss_types(_str)
 

Functions

uword unformat_ip_port_and_mask (unformat_input_t *input, va_list *args)
 
u8format_ip_port_and_mask (u8 *s, va_list *args)
 
uword unformat_ip_protocol_and_mask (unformat_input_t *input, va_list *args)
 
u8format_ip_protocol_and_mask (u8 *s, va_list *args)
 
u8format_flow_error (u8 *s, va_list *args)
 
u8format_flow_actions (u8 *s, va_list *args)
 
u8format_flow_enabled_hw (u8 *s, va_list *args)
 
u8format_rss_function (u8 *s, va_list *args)
 
u8format_rss_types (u8 *s, va_list *args)
 
static clib_error_tshow_flow_entry (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd_arg)
 
static clib_error_tshow_flow_ranges (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd_arg)
 
static clib_error_tshow_flow_interface (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd_arg)
 
static clib_error_ttest_flow (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd_arg)
 
static u8format_flow_match_element (u8 *s, va_list *args)
 
static foreach_flow_type u8format_flow_match (u8 *s, va_list *args)
 
static u8format_flow (u8 *s, va_list *args)
 

Variables

static format_function_t format_flow
 
static const char * flow_type_strings []
 
static vlib_cli_command_t show_flow_entry_command
 (constructor) VLIB_CLI_COMMAND (show_flow_entry_command) More...
 
static vlib_cli_command_t show_flow_ranges_command
 (constructor) VLIB_CLI_COMMAND (show_flow_ranges_command) More...
 
static vlib_cli_command_t show_flow_interface_command
 (constructor) VLIB_CLI_COMMAND (show_flow_interface_command) More...
 
static vlib_cli_command_t test_flow_command
 (constructor) VLIB_CLI_COMMAND (test_flow_command) More...
 

Macro Definition Documentation

◆ check_rss_types

#define check_rss_types (   _str)
Value:
if (_str != NULL) {\
type_str = _str;\
if (0) \
; \
foreach_flow_rss_types \
else \
{ \
return clib_error_return (0, "parse error: '%U'", \
format_unformat_error(), line_input); \
} \
}
#define clib_error_return(e, args...)
Definition: error.h:99
u8 * format_unformat_error(u8 *s, va_list *va)
Definition: unformat.c:91

Function Documentation

◆ format_flow()

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

Definition at line 784 of file flow_cli.c.

+ Here is the call graph for this function:

◆ format_flow_actions()

u8* format_flow_actions ( u8 s,
va_list *  args 
)

Definition at line 115 of file flow_cli.c.

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

◆ format_flow_enabled_hw()

u8* format_flow_enabled_hw ( u8 s,
va_list *  args 
)

Definition at line 130 of file flow_cli.c.

+ Here is the call graph for this function:

◆ format_flow_error()

u8* format_flow_error ( u8 s,
va_list *  args 
)

Definition at line 100 of file flow_cli.c.

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

◆ format_flow_match()

static foreach_flow_type u8* format_flow_match ( u8 s,
va_list *  args 
)
static

Definition at line 770 of file flow_cli.c.

+ Here is the caller graph for this function:

◆ format_flow_match_element()

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

Definition at line 708 of file flow_cli.c.

+ Here is the call graph for this function:

◆ format_ip_port_and_mask()

u8* format_ip_port_and_mask ( u8 s,
va_list *  args 
)

Definition at line 52 of file flow_cli.c.

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

◆ format_ip_protocol_and_mask()

u8* format_ip_protocol_and_mask ( u8 s,
va_list *  args 
)

Definition at line 89 of file flow_cli.c.

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

◆ format_rss_function()

u8* format_rss_function ( u8 s,
va_list *  args 
)

Definition at line 154 of file flow_cli.c.

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

◆ format_rss_types()

u8* format_rss_types ( u8 s,
va_list *  args 
)

Definition at line 171 of file flow_cli.c.

+ Here is the caller graph for this function:

◆ show_flow_entry()

static clib_error_t* show_flow_entry ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd_arg 
)
static

Definition at line 192 of file flow_cli.c.

+ Here is the call graph for this function:

◆ show_flow_interface()

static clib_error_t* show_flow_interface ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd_arg 
)
static

Definition at line 287 of file flow_cli.c.

+ Here is the call graph for this function:

◆ show_flow_ranges()

static clib_error_t* show_flow_ranges ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd_arg 
)
static

Definition at line 261 of file flow_cli.c.

+ Here is the call graph for this function:

◆ test_flow()

static clib_error_t* test_flow ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd_arg 
)
static

Definition at line 331 of file flow_cli.c.

+ Here is the call graph for this function:

◆ unformat_ip_port_and_mask()

uword unformat_ip_port_and_mask ( unformat_input_t input,
va_list *  args 
)

Definition at line 27 of file flow_cli.c.

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

◆ unformat_ip_protocol_and_mask()

uword unformat_ip_protocol_and_mask ( unformat_input_t input,
va_list *  args 
)

Definition at line 66 of file flow_cli.c.

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

Variable Documentation

◆ flow_type_strings

const char* flow_type_strings[]
static
Initial value:
= { 0,
#define _(a,b,c)
}
foreach_flow_type
Definition: flow.h:212

Definition at line 185 of file flow_cli.c.

◆ format_flow

format_function_t format_flow
static

Definition at line 24 of file flow_cli.c.

◆ show_flow_entry_command

vlib_cli_command_t show_flow_entry_command
static
Initial value:
= {
.path = "show flow entry",
.short_help = "show flow entry [index <index>]",
.function = show_flow_entry,
}
static clib_error_t * show_flow_entry(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd_arg)
Definition: flow_cli.c:192

(constructor) VLIB_CLI_COMMAND (show_flow_entry_command)

Definition at line 253 of file flow_cli.c.

◆ show_flow_interface_command

vlib_cli_command_t show_flow_interface_command
static
Initial value:
= {
.path = "show flow interface",
.short_help = "show flow interface <interface name>",
.function = show_flow_interface,
}
static clib_error_t * show_flow_interface(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd_arg)
Definition: flow_cli.c:287

(constructor) VLIB_CLI_COMMAND (show_flow_interface_command)

Definition at line 323 of file flow_cli.c.

◆ show_flow_ranges_command

vlib_cli_command_t show_flow_ranges_command
static
Initial value:
= {
.path = "show flow ranges",
.short_help = "show flow ranges",
.function = show_flow_ranges,
}
static clib_error_t * show_flow_ranges(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd_arg)
Definition: flow_cli.c:261

(constructor) VLIB_CLI_COMMAND (show_flow_ranges_command)

Definition at line 279 of file flow_cli.c.

◆ test_flow_command

vlib_cli_command_t test_flow_command
static
Initial value:
= {
.path = "test flow",
.short_help = "test flow [add|del|enable|disable] [index <id>] "
"[src-ip <ip-addr/mask>] [dst-ip <ip-addr/mask>] "
"[ip6-src-ip <ip-addr/mask>] [ip6-dst-ip <ip-addr/mask>] "
"[src-port <port/mask>] [dst-port <port/mask>] "
"[proto <ip-proto>] "
"[gtpc teid <teid>] [gtpu teid <teid>] [vxlan <vni>] "
"[session id <session>] [spi <spi>]"
"[next-node <node>] [mark <id>] [buffer-advance <len>] "
"[redirect-to-queue <queue>] [drop] "
"[rss function <name>] [rss types <flow type>]",
.function = test_flow,
}
static clib_error_t * test_flow(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd_arg)
Definition: flow_cli.c:331

(constructor) VLIB_CLI_COMMAND (test_flow_command)

Definition at line 691 of file flow_cli.c.