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

Go to the source code of this file.

Functions

u8format_tcp_state (u8 *s, va_list *args)
 
static u8format_tcp_cfg_flags (u8 *s, va_list *args)
 
static u8format_tcp_connection_flags (u8 *s, va_list *args)
 
static u8format_tcp_timers (u8 *s, va_list *args)
 
static u8format_tcp_congestion_status (u8 *s, va_list *args)
 
static i32 tcp_rcv_wnd_available (tcp_connection_t *tc)
 
static u8format_tcp_congestion (u8 *s, va_list *args)
 
static u8format_tcp_stats (u8 *s, va_list *args)
 
static u8format_tcp_vars (u8 *s, va_list *args)
 
u8format_tcp_connection_id (u8 *s, va_list *args)
 
u8format_tcp_connection (u8 *s, va_list *args)
 
u8format_tcp_sacks (u8 *s, va_list *args)
 
u8format_tcp_rcv_sacks (u8 *s, va_list *args)
 
static u8format_tcp_sack_hole (u8 *s, va_list *args)
 
u8format_tcp_scoreboard (u8 *s, va_list *args)
 
int tcp_configure_v4_source_address_range (vlib_main_t *vm, ip4_address_t *start, ip4_address_t *end, u32 table_id)
 Configure an ipv4 source address range. More...
 
int tcp_configure_v6_source_address_range (vlib_main_t *vm, ip6_address_t *start, ip6_address_t *end, u32 table_id)
 Configure an ipv6 source address range. More...
 
static clib_error_ttcp_src_address_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd_arg)
 
static u8tcp_scoreboard_dump_trace (u8 *s, sack_scoreboard_t *sb)
 
static clib_error_ttcp_show_scoreboard_trace_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd_arg)
 
u8tcp_scoreboard_replay (u8 *s, tcp_connection_t *tc, u8 verbose)
 
static clib_error_ttcp_scoreboard_trace_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd_arg)
 
static clib_error_tshow_tcp_punt_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd_arg)
 
static clib_error_tshow_tcp_stats_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tclear_tcp_stats_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static void tcp_show_half_open (vlib_main_t *vm, u32 start, u32 end, u8 verbose)
 
static clib_error_tshow_tcp_half_open_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
uword unformat_tcp_cc_algo (unformat_input_t *input, va_list *va)
 
uword unformat_tcp_cc_algo_cfg (unformat_input_t *input, va_list *va)
 
static clib_error_ttcp_config_fn (vlib_main_t *vm, unformat_input_t *input)
 

Variables

const char * tcp_fsm_states []
 
const char * tcp_cfg_flags_str []
 
const char * tcp_connection_flags_str []
 
const char * tcp_conn_timers []
 
static vlib_cli_command_t tcp_src_address_command
 (constructor) VLIB_CLI_COMMAND (tcp_src_address_command) More...
 
static vlib_cli_command_t tcp_show_scoreboard_trace_command
 (constructor) VLIB_CLI_COMMAND (tcp_show_scoreboard_trace_command) More...
 
static vlib_cli_command_t tcp_replay_scoreboard_command
 (constructor) VLIB_CLI_COMMAND (tcp_replay_scoreboard_command) More...
 
static vlib_cli_command_t show_tcp_punt_command
 (constructor) VLIB_CLI_COMMAND (show_tcp_punt_command) More...
 
static vlib_cli_command_t show_tcp_stats_command
 (constructor) VLIB_CLI_COMMAND (show_tcp_stats_command) More...
 
static vlib_cli_command_t clear_tcp_stats_command
 (constructor) VLIB_CLI_COMMAND (clear_tcp_stats_command) More...
 
static vlib_cli_command_t show_tcp_half_open_command
 (constructor) VLIB_CLI_COMMAND (show_tcp_half_open_command) More...
 

Function Documentation

◆ clear_tcp_stats_fn()

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

Definition at line 874 of file tcp_cli.c.

+ Here is the call graph for this function:

◆ format_tcp_cfg_flags()

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

Definition at line 46 of file tcp_cli.c.

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

◆ format_tcp_congestion()

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

Definition at line 137 of file tcp_cli.c.

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

◆ format_tcp_congestion_status()

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

Definition at line 118 of file tcp_cli.c.

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

◆ format_tcp_connection()

u8* format_tcp_connection ( u8 s,
va_list *  args 
)

Definition at line 254 of file tcp_cli.c.

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

◆ format_tcp_connection_flags()

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

Definition at line 71 of file tcp_cli.c.

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

◆ format_tcp_connection_id()

u8* format_tcp_connection_id ( u8 s,
va_list *  args 
)

Definition at line 230 of file tcp_cli.c.

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

◆ format_tcp_rcv_sacks()

u8* format_tcp_rcv_sacks ( u8 s,
va_list *  args 
)

Definition at line 297 of file tcp_cli.c.

+ Here is the call graph for this function:

◆ format_tcp_sack_hole()

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

Definition at line 321 of file tcp_cli.c.

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

◆ format_tcp_sacks()

u8* format_tcp_sacks ( u8 s,
va_list *  args 
)

Definition at line 273 of file tcp_cli.c.

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

◆ format_tcp_scoreboard()

u8* format_tcp_scoreboard ( u8 s,
va_list *  args 
)

Definition at line 333 of file tcp_cli.c.

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

◆ format_tcp_state()

u8* format_tcp_state ( u8 s,
va_list *  args 
)

Definition at line 28 of file tcp_cli.c.

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

◆ format_tcp_stats()

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

Definition at line 164 of file tcp_cli.c.

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

◆ format_tcp_timers()

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

Definition at line 96 of file tcp_cli.c.

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

◆ format_tcp_vars()

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

Definition at line 185 of file tcp_cli.c.

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

◆ show_tcp_half_open_fn()

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

Definition at line 953 of file tcp_cli.c.

+ Here is the call graph for this function:

◆ show_tcp_punt_fn()

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

Definition at line 812 of file tcp_cli.c.

+ Here is the call graph for this function:

◆ show_tcp_stats_fn()

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

Definition at line 835 of file tcp_cli.c.

+ Here is the call graph for this function:

◆ tcp_config_fn()

static clib_error_t* tcp_config_fn ( vlib_main_t vm,
unformat_input_t input 
)
static

Definition at line 1051 of file tcp_cli.c.

+ Here is the call graph for this function:

◆ tcp_configure_v4_source_address_range()

int tcp_configure_v4_source_address_range ( vlib_main_t vm,
ip4_address_t start,
ip4_address_t end,
u32  table_id 
)

Configure an ipv4 source address range.

Parameters
vmvlib_main_t pointer
startfirst ipv4 address in the source address range
endlast ipv4 address in the source address range
table_idVRF / table ID, 0 for the default FIB
Returns
0 if all OK, else an error indication from api_errno.h

Definition at line 377 of file tcp_cli.c.

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

◆ tcp_configure_v6_source_address_range()

int tcp_configure_v6_source_address_range ( vlib_main_t vm,
ip6_address_t *  start,
ip6_address_t *  end,
u32  table_id 
)

Configure an ipv6 source address range.

Parameters
vmvlib_main_t pointer
startfirst ipv6 address in the source address range
endlast ipv6 address in the source address range
table_idVRF / table ID, 0 for the default FIB
Returns
0 if all OK, else an error indication from api_errno.h

Definition at line 464 of file tcp_cli.c.

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

◆ tcp_rcv_wnd_available()

static i32 tcp_rcv_wnd_available ( tcp_connection_t tc)
static

Definition at line 131 of file tcp_cli.c.

+ Here is the caller graph for this function:

◆ tcp_scoreboard_dump_trace()

static u8* tcp_scoreboard_dump_trace ( u8 s,
sack_scoreboard_t sb 
)
static

Definition at line 624 of file tcp_cli.c.

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

◆ tcp_scoreboard_replay()

u8* tcp_scoreboard_replay ( u8 s,
tcp_connection_t tc,
u8  verbose 
)

Definition at line 687 of file tcp_cli.c.

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

◆ tcp_scoreboard_trace_fn()

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

Definition at line 769 of file tcp_cli.c.

+ Here is the call graph for this function:

◆ tcp_show_half_open()

static void tcp_show_half_open ( vlib_main_t vm,
u32  start,
u32  end,
u8  verbose 
)
static

Definition at line 904 of file tcp_cli.c.

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

◆ tcp_show_scoreboard_trace_fn()

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

Definition at line 649 of file tcp_cli.c.

+ Here is the call graph for this function:

◆ tcp_src_address_fn()

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

Definition at line 536 of file tcp_cli.c.

+ Here is the call graph for this function:

◆ unformat_tcp_cc_algo()

uword unformat_tcp_cc_algo ( unformat_input_t input,
va_list *  va 
)

Definition at line 1008 of file tcp_cli.c.

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

◆ unformat_tcp_cc_algo_cfg()

uword unformat_tcp_cc_algo_cfg ( unformat_input_t input,
va_list *  va 
)

Definition at line 1028 of file tcp_cli.c.

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

Variable Documentation

◆ clear_tcp_stats_command

vlib_cli_command_t clear_tcp_stats_command
static
Initial value:
=
{
.path = "clear tcp stats",
.short_help = "clear tcp stats",
.function = clear_tcp_stats_fn,
}
static clib_error_t * clear_tcp_stats_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: tcp_cli.c:874

(constructor) VLIB_CLI_COMMAND (clear_tcp_stats_command)

Definition at line 895 of file tcp_cli.c.

◆ show_tcp_half_open_command

vlib_cli_command_t show_tcp_half_open_command
static
Initial value:
=
{
.path = "show tcp half-open",
.short_help = "show tcp half-open [verbose <n>] [range <start> <end>]",
.function = show_tcp_half_open_fn,
}
static clib_error_t * show_tcp_half_open_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: tcp_cli.c:953

(constructor) VLIB_CLI_COMMAND (show_tcp_half_open_command)

Definition at line 999 of file tcp_cli.c.

◆ show_tcp_punt_command

vlib_cli_command_t show_tcp_punt_command
static
Initial value:
=
{
.path = "show tcp punt",
.short_help = "show tcp punt",
.function = show_tcp_punt_fn,
}
static clib_error_t * show_tcp_punt_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd_arg)
Definition: tcp_cli.c:812

(constructor) VLIB_CLI_COMMAND (show_tcp_punt_command)

Definition at line 826 of file tcp_cli.c.

◆ show_tcp_stats_command

vlib_cli_command_t show_tcp_stats_command
static
Initial value:
=
{
.path = "show tcp stats",
.short_help = "show tcp stats",
.function = show_tcp_stats_fn,
}
static clib_error_t * show_tcp_stats_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: tcp_cli.c:835

(constructor) VLIB_CLI_COMMAND (show_tcp_stats_command)

Definition at line 865 of file tcp_cli.c.

◆ tcp_cfg_flags_str

const char* tcp_cfg_flags_str[]
Initial value:
= {
#define _(sym, str)
}
#define foreach_tcp_cfg_flag
Connection configuration flags.
Definition: tcp_types.h:97

Definition at line 39 of file tcp_cli.c.

◆ tcp_conn_timers

const char* tcp_conn_timers[]
Initial value:
= {
#define _(sym, str)
}
#define foreach_tcp_timer
TCP timers.
Definition: tcp_types.h:67

Definition at line 89 of file tcp_cli.c.

◆ tcp_connection_flags_str

const char* tcp_connection_flags_str[]
Initial value:
= {
#define _(sym, str)
}
#define foreach_tcp_connection_flag
TCP connection flags.
Definition: tcp_types.h:121

Definition at line 64 of file tcp_cli.c.

◆ tcp_fsm_states

const char* tcp_fsm_states[]
Initial value:
= {
#define _(sym, str)
}
#define foreach_tcp_fsm_state
TCP FSM state definitions as per RFC793.
Definition: tcp_types.h:45

Definition at line 21 of file tcp_cli.c.

◆ tcp_replay_scoreboard_command

vlib_cli_command_t tcp_replay_scoreboard_command
static
Initial value:
=
{
.path = "tcp replay scoreboard",
.short_help = "tcp replay scoreboard <connection>",
}
static clib_error_t * tcp_scoreboard_trace_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd_arg)
Definition: tcp_cli.c:769

(constructor) VLIB_CLI_COMMAND (tcp_replay_scoreboard_command)

Definition at line 803 of file tcp_cli.c.

◆ tcp_show_scoreboard_trace_command

vlib_cli_command_t tcp_show_scoreboard_trace_command
static
Initial value:
=
{
.path = "show tcp scoreboard trace",
.short_help = "show tcp scoreboard trace <connection>",
}
static clib_error_t * tcp_show_scoreboard_trace_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd_arg)
Definition: tcp_cli.c:649

(constructor) VLIB_CLI_COMMAND (tcp_show_scoreboard_trace_command)

Definition at line 678 of file tcp_cli.c.

◆ tcp_src_address_command

vlib_cli_command_t tcp_src_address_command
static
Initial value:
=
{
.path = "tcp src-address",
.short_help = "tcp src-address <ip-addr> [- <ip-addr>] add src address range",
.function = tcp_src_address_fn,
}
static clib_error_t * tcp_src_address_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd_arg)
Definition: tcp_cli.c:536

(constructor) VLIB_CLI_COMMAND (tcp_src_address_command)

Definition at line 615 of file tcp_cli.c.