26 s =
format (s,
"[%u:%u][%s] %U:%d->%U:%d", uc->c_thread_index,
29 &uc->c_rmt_ip4, clib_net_to_host_u16 (uc->c_rmt_port));
31 s =
format (s,
"[%u:%u][%s] %U:%d->%U:%d", uc->c_thread_index,
34 &uc->c_rmt_ip6, clib_net_to_host_u16 (uc->c_rmt_port));
39 #define _(sym, str) str, 51 if (uc->
flags & (1 << i))
53 for (i = 0; i <
last; i++)
55 if (uc->
flags & (1 << i))
67 s =
format (s,
" index %u flags: %U", uc->c_c_index,
70 if (!(uc->
flags & UDP_CONN_F_LISTEN))
79 u32 verbose = va_arg (*args,
u32);
86 (uc->
flags & UDP_CONN_F_LISTEN) ?
"LISTEN" :
"OPENED", uc);
101 if (
unformat (input,
"mtu %u", &tmp))
166 .path =
"show udp punt",
167 .short_help =
"show udp punt [ipv4|ipv6]",
#define SESSION_CLI_STATE_LEN
static heap_elt_t * last(heap_header_t *h)
static udp_main_t * vnet_get_udp_main()
static u8 * format_udp_connection_flags(u8 *s, va_list *args)
u8 * format_udp_connection_id(u8 *s, va_list *args)
description fragment has unexpected format
#define clib_error_return(e, args...)
static const char * udp_connection_flags_str[]
u8 * format_udp_connection(u8 *s, va_list *args)
static clib_error_t * udp_config_fn(vlib_main_t *vm, unformat_input_t *input)
udp_dst_port_info_t * dst_port_infos[N_UDP_AF]
u8 udp_is_valid_dst_port(udp_dst_port_t dst_port, u8 is_ip4)
#define VLIB_CONFIG_FUNCTION(x, n,...)
static u8 * format_udp_vars(u8 *s, va_list *args)
sll srl srl sll sra u16x4 i
#define SESSION_CLI_ID_LEN
#define VLIB_CLI_COMMAND(x,...)
void vlib_cli_output(vlib_main_t *vm, char *fmt,...)
static clib_error_t * show_udp_punt_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd_arg)
#define vec_foreach(var, vec)
Vector iterator.