X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fsession%2Fsession_cli.c;h=201f6f1d66e4c33f1e6586230b895f96a2f910ed;hb=refs%2Fchanges%2F34%2F11634%2F18;hp=929e604b01ecf9d9fb861833395a301c0f11ad28;hpb=561af9b441c7392cf391dd46399b0b16b876a08a;p=vpp.git diff --git a/src/vnet/session/session_cli.c b/src/vnet/session/session_cli.c index 929e604b01e..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) { @@ -61,7 +64,7 @@ format_stream_session (u8 * s, va_list * args) 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; }