X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;ds=inline;f=src%2Fvnet%2Fsession%2Fsession_cli.c;h=201f6f1d66e4c33f1e6586230b895f96a2f910ed;hb=7fb0fe1f6972a7a35146fa9115b866ba29a6fbb7;hp=3423026147cc7b084515bd664e59af727eabd379;hpb=82d8ec2571720310f0a7c41deeba30534be28ed0;p=vpp.git diff --git a/src/vnet/session/session_cli.c b/src/vnet/session/session_cli.c index 3423026147c..201f6f1d66e 100755 --- a/src/vnet/session/session_cli.c +++ b/src/vnet/session/session_cli.c @@ -23,6 +23,9 @@ format_stream_session_fifos (u8 * s, va_list * args) session_fifo_event_t _e, *e = &_e; u8 found; + if (!ss->server_rx_fifo || !ss->server_tx_fifo) + return s; + s = format (s, " Rx fifo: %U", format_svm_fifo, ss->server_rx_fifo, 1); if (verbose > 2 && ss->server_rx_fifo->has_event) { @@ -55,13 +58,13 @@ format_stream_session (u8 * s, va_list * args) int verbose = va_arg (*args, int); transport_proto_vft_t *tp_vft; u8 *str = 0; - tp_vft = transport_protocol_get_vft (ss->session_type); + tp_vft = transport_protocol_get_vft (session_get_transport_proto (ss)); if (verbose == 1 && ss->session_state >= SESSION_STATE_ACCEPTING) str = format (0, "%-10u%-10u%-10lld", svm_fifo_max_dequeue (ss->server_rx_fifo), svm_fifo_max_enqueue (ss->server_tx_fifo), - stream_session_get_index (ss)); + session_get_index (ss)); if (ss->session_state >= SESSION_STATE_ACCEPTING) { @@ -76,6 +79,8 @@ format_stream_session (u8 * s, va_list * args) { s = format (s, "%-40U%v", tp_vft->format_listener, ss->connection_index, str); + if (verbose > 1) + s = format (s, "\n%U", format_stream_session_fifos, ss, verbose); } else if (ss->session_state == SESSION_STATE_CONNECTING) { @@ -237,21 +242,18 @@ show_session_command_fn (vlib_main_t * vm, unformat_input_t * input, if (do_listeners) { sst = session_type_from_proto_and_ip (transport_proto, 1); - vlib_cli_output (vm, "There are %d active %U listeners", - pool_elts (smm->listen_sessions[sst]), - format_transport_proto, transport_proto); - if (verbose) - { - vlib_cli_output (vm, "%-40s%-24s%-10s", "Listener", "App", "S-idx"); - /* *INDENT-OFF* */ - pool_foreach (s, smm->listen_sessions[sst], ({ - app_name = application_name_from_index (s->app_index); - vlib_cli_output (vm, "%U%-25v%-10u", format_stream_session, s, 1, - app_name, s->session_index); - vec_free (app_name); - })); - /* *INDENT-ON* */ - } + vlib_cli_output (vm, "%-40s%-24s%-10s", "Listener", "App", "S-idx"); + /* *INDENT-OFF* */ + pool_foreach (s, smm->sessions[0], ({ + if (s->session_state != SESSION_STATE_LISTENING + || s->session_type != sst) + continue; + app_name = application_name_from_index (s->app_index); + vlib_cli_output (vm, "%U%-25v%-10u", format_stream_session, s, 1, + app_name, s->session_index); + vec_free (app_name); + })); + /* *INDENT-ON* */ return 0; }