tls: improve cli state reporting 96/26696/3
authorFlorin Coras <fcoras@cisco.com>
Fri, 24 Apr 2020 16:59:49 +0000 (16:59 +0000)
committerDave Barach <openvpp@barachs.net>
Sat, 25 Apr 2020 11:40:43 +0000 (11:40 +0000)
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I02d60134d6069764da75dc6d206b376a0d46998e

src/vnet/tls/tls.c

index 1af0857..c9509b7 100644 (file)
@@ -788,10 +788,19 @@ format_tls_ctx_state (u8 * s, va_list * args)
   ts = session_get_from_handle (ctx->app_session_handle);
   if (ts->session_state == SESSION_STATE_LISTENING)
     s = format (s, "%s", "LISTEN");
-  else if (tls_ctx_handshake_is_over (ctx))
-    s = format (s, "%s", "ESTABLISHED");
   else
-    s = format (s, "%s", "HANDSHAKE");
+    {
+      if (ts->session_state >= SESSION_STATE_TRANSPORT_CLOSED)
+       s = format (s, "%s", "CLOSED");
+      else if (ts->session_state == SESSION_STATE_APP_CLOSED)
+       s = format (s, "%s", "APP-CLOSED");
+      else if (ts->session_state >= SESSION_STATE_TRANSPORT_CLOSING)
+       s = format (s, "%s", "CLOSING");
+      else if (tls_ctx_handshake_is_over (ctx))
+       s = format (s, "%s", "ESTABLISHED");
+      else
+       s = format (s, "%s", "HANDSHAKE");
+    }
 
   return s;
 }