kni: fix build with kernel 4.7
authorFerruh Yigit <ferruh.yigit@intel.com>
Mon, 30 May 2016 11:22:32 +0000 (12:22 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Tue, 7 Jun 2016 09:19:36 +0000 (11:19 +0200)
Fix compile error because of Linux API change, 'trans_start' field
removed from 'struct net_device'.

Linux: 9b36627acecd ("net: remove dev->trans_start")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
lib/librte_eal/linuxapp/kni/compat.h
lib/librte_eal/linuxapp/kni/kni_net.c

index cf100b6..0e939e4 100644 (file)
@@ -27,3 +27,7 @@
 #if ( LINUX_VERSION_CODE < KERNEL_VERSION(4,1,0) )
 #define HAVE_KIOCB_MSG_PARAM
 #endif /* < 4.1.0 */
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
+#define HAVE_TRANS_START_HELPER
+#endif
index 4095382..076372c 100644 (file)
@@ -38,6 +38,8 @@
 
 #include <exec-env/rte_kni_common.h>
 #include <kni_fifo.h>
+
+#include "compat.h"
 #include "kni_dev.h"
 
 #define WD_TIMEOUT 5 /*jiffies */
@@ -426,7 +428,12 @@ kni_net_tx(struct sk_buff *skb, struct net_device *dev)
        struct rte_kni_mbuf *pkt_kva = NULL;
        struct rte_kni_mbuf *pkt_va = NULL;
 
-       dev->trans_start = jiffies; /* save the timestamp */
+       /* save the timestamp */
+#ifdef HAVE_TRANS_START_HELPER
+       netif_trans_update(dev);
+#else
+       dev->trans_start = jiffies;
+#endif
 
        /* Check if the length of skb is less than mbuf size */
        if (skb->len > kni->mbuf_size)