Cleanup URI code and TCP bugfixing

- Add CLI/API to enable session layer, by default it's disabled
- Improve rcv wnd computation
- Improvements to tx path
- URI code cleanup
- Builtin test tcp server
- Improve src port allocation

Change-Id: I2ace498e76a0771d4c31a8075cc14fe33d7dfa38
Signed-off-by: Florin Coras <fcoras@cisco.com>
diff --git a/src/vnet/session/session.api b/src/vnet/session/session.api
index a7b28c1..582765b 100644
--- a/src/vnet/session/session.api
+++ b/src/vnet/session/session.api
@@ -422,6 +422,28 @@
   i32 retval;
   u64 handle;
 };
+
+/** \brief enable/disable session layer
+    @param client_index - opaque cookie to identify the sender
+                          client to vpp direction only
+    @param context - sender context, to match reply w/ request
+    @param is_enable - disable session layer if 0, enable otherwise
+*/
+define session_enable_disable {
+  u32 client_index;
+  u32 context;
+  u8 is_enable;
+};
+
+/** \brief Reply for session enable/disable
+    @param context - returned sender context, to match reply w/ request
+    @param retval - return code
+*/
+define session_enable_disable_reply {
+  u32 context;
+  i32 retval;
+};
+
 /*
  * Local Variables:
  * eval: (c-set-style "gnu")