25 s =
format (s,
"[%u:%u][%s] %U:%d->%U:%d", uc->c_thread_index,
28 &uc->c_rmt_ip4, clib_net_to_host_u16 (uc->c_rmt_port));
30 s =
format (s,
"[%u:%u][%s] %U:%d->%U:%d", uc->c_thread_index,
33 &uc->c_rmt_ip6, clib_net_to_host_u16 (uc->c_rmt_port));
38 #define _(sym, str) str, 50 if (uc->
flags & (1 << i))
52 for (i = 0; i <
last; i++)
54 if (uc->
flags & (1 << i))
66 s =
format (s,
" index %u flags: %U", uc->c_c_index,
69 if (!(uc->
flags & UDP_CONN_F_LISTEN))
78 u32 verbose = va_arg (*args,
u32);
85 (uc->
flags & UDP_CONN_F_LISTEN) ?
"LISTEN" :
"OPENED", uc);
100 if (
unformat (input,
"mtu %u", &tmp))
165 .path =
"show udp punt",
166 .short_help =
"show udp punt [ipv4|ipv6]",
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)
#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]
#define VLIB_CONFIG_FUNCTION(x, n,...)
static u8 * format_udp_vars(u8 *s, va_list *args)
sll srl srl sll sra u16x4 i
#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)
bool udp_is_valid_dst_port(udp_dst_port_t dst_port, u8 is_ip4)
#define vec_foreach(var, vec)
Vector iterator.