Improve fifo allocator performance

- add option to preallocate fifos in a segment
- track active fifos with doubly linked list instead of vector
- update udp redirect test code to read fifo pointers from API call
  instead of digging them up from fifo segment header
- input-node based active-open session generator

Change-Id: I804b81e99d95f8690d17e12660c6645995e28a9a
Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Dave Barach <dbarach@cisco.com>
diff --git a/src/vnet/tcp/builtin_client.h b/src/vnet/tcp/builtin_client.h
index 57d112e..d5d79e5 100644
--- a/src/vnet/tcp/builtin_client.h
+++ b/src/vnet/tcp/builtin_client.h
@@ -83,14 +83,18 @@
 
   pid_t my_pid;
 
-  /* For deadman timers */
-  clib_time_t clib_time;
+  f64 test_start_time;
+  f64 test_end_time;
 
-  /* Connection counts */
   u32 expected_connections;
+  u32 **connection_index_by_thread;
   volatile u32 ready_connections;
+  volatile u32 finished_connections;
 
-  /* Signal variables */
+  volatile u64 rx_total;
+  u32 cli_node_index;
+
+  /* Signal variable */
   volatile int run_test;
 
   /* Bytes to send */
@@ -107,6 +111,7 @@
   u8 test_return_packets;
 
   u8 is_init;
+  u8 test_client_attached;
 
   u32 node_index;