FD.io VPP  v20.05-21-gb1500e9ff
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)
 
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...
 

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 871 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 253 of file tcp_cli.c.

+ Here is the call 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 229 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 296 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 320 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 272 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 332 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_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 809 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 832 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 944 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 375 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 462 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 622 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 685 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 766 of file tcp_cli.c.

+ Here is the call 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 647 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 534 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 901 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 921 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:871

(constructor) VLIB_CLI_COMMAND (clear_tcp_stats_command)

Definition at line 892 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:809

(constructor) VLIB_CLI_COMMAND (show_tcp_punt_command)

Definition at line 823 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:832

(constructor) VLIB_CLI_COMMAND (show_tcp_stats_command)

Definition at line 862 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:94

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:63

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:118

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:41

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:766

(constructor) VLIB_CLI_COMMAND (tcp_replay_scoreboard_command)

Definition at line 800 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:647

(constructor) VLIB_CLI_COMMAND (tcp_show_scoreboard_trace_command)

Definition at line 676 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:534

(constructor) VLIB_CLI_COMMAND (tcp_src_address_command)

Definition at line 613 of file tcp_cli.c.