avoid using thread local storage for thread index

It is cheaper to get thread index from vlib_main_t if available...

Change-Id: I4582e160d06d9d7fccdc54271912f0635da79b50
Signed-off-by: Damjan Marion <damarion@cisco.com>
diff --git a/src/vnet/unix/tapcli.c b/src/vnet/unix/tapcli.c
index e61c91a..4a5628e 100644
--- a/src/vnet/unix/tapcli.c
+++ b/src/vnet/unix/tapcli.c
@@ -175,7 +175,7 @@
   tapcli_main_t *tm = &tapcli_main;
   tapcli_interface_t *ti;
   int i;
-  u16 thread_index = vlib_get_thread_index ();
+  u16 thread_index = vm->thread_index;
 
   for (i = 0; i < n_packets; i++)
     {
@@ -271,7 +271,7 @@
   const uword buffer_size = VLIB_BUFFER_DATA_SIZE;
   u32 n_trace = vlib_get_trace_count (vm, node);
   u8 set_trace = 0;
-  u16 thread_index = vlib_get_thread_index ();
+  u16 thread_index = vm->thread_index;
   vnet_main_t *vnm;
   vnet_sw_interface_t *si;
   u8 admin_down;
diff --git a/src/vnet/unix/tuntap.c b/src/vnet/unix/tuntap.c
index 5d785ac..fc1ecb2 100644
--- a/src/vnet/unix/tuntap.c
+++ b/src/vnet/unix/tuntap.c
@@ -153,7 +153,7 @@
   vnet_interface_main_t *im = &vnm->interface_main;
   u32 n_bytes = 0;
   int i;
-  u16 thread_index = vlib_get_thread_index ();
+  u16 thread_index = vm->thread_index;
 
   for (i = 0; i < n_packets; i++)
     {
@@ -243,7 +243,7 @@
   vlib_buffer_t *b;
   u32 bi;
   const uword buffer_size = VLIB_BUFFER_DATA_SIZE;
-  u16 thread_index = vlib_get_thread_index ();
+  u16 thread_index = vm->thread_index;
 
   /** Make sure we have some RX buffers. */
   {