tls: fix multi threaded medium scale test (VPP-1457)

- ensure session enqueue epoch does not wrap between two enqueues
- use 3 states for echo clients app, to distinguish between starting and
closing phases
- force tcp fin retransmit if out of buffers while sending a fin

Change-Id: I6f2cab46affd1148aba2a33fb6d58bcc54f32805
Signed-off-by: Florin Coras <fcoras@cisco.com>
diff --git a/src/vnet/session/stream_session.h b/src/vnet/session/stream_session.h
index 30178d7..287a892 100644
--- a/src/vnet/session/stream_session.h
+++ b/src/vnet/session/stream_session.h
@@ -67,7 +67,7 @@
   u8 thread_index;
 
   /** To avoid n**2 "one event per frame" check */
-  u8 enqueue_epoch;
+  u64 enqueue_epoch;
 
   /** svm segment index where fifos were allocated */
   u32 svm_segment_index;
@@ -120,6 +120,9 @@
   /** Port for connection. Overlaps thread_index/enqueue_epoch */
   u16 port;
 
+  /** Partly overlaps enqueue_epoch */
+  u8 pad_epoch[7];
+
   /** Segment index where fifos were allocated */
   u32 svm_segment_index;