dpdk: add rte_delay_us_callback 71/3971/5
authorPavel Kotucek <pkotucek@cisco.com>
Mon, 28 Nov 2016 08:02:23 +0000 (09:02 +0100)
committerDamjan Marion <dmarion.lists@gmail.com>
Tue, 6 Dec 2016 12:22:44 +0000 (12:22 +0000)
Converted DPDK16.07 "Allow-applications-to-override-rte_delay_us" patch
to of callback in DPDK16.11

Change-Id: I6c802e3ea8f817e5df591166b1e0a42f5f835a71
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
vpp/vnet/main.c

index 32332cb..bc73723 100644 (file)
@@ -37,7 +37,12 @@ rte_delay_us_override (unsigned us)
 
   /* Don't bother intercepting for short delays */
   if (us < 10)
-    return 0;
+    {
+#if RTE_VERSION < RTE_VERSION_NUM(16, 11, 0, 0)
+      rte_delay_us_block (us);
+#endif
+      return 0;
+    }
 
   /*
    * Only intercept if we are in a vlib process.
@@ -79,6 +84,13 @@ vpe_main_init (vlib_main_t * vm)
 
   /* Turn off network stack components which we don't want */
   vlib_mark_init_function_complete (vm, srp_init);
+
+#if DPDK
+#if RTE_VERSION >= RTE_VERSION_NUM(16, 11, 0, 0)
+  /* register custom delay function */
+  rte_delay_us_callback_register ((void (*)) rte_delay_us_override);
+#endif
+#endif
 }
 
 /*