kni: fix build with kernel 4.7

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>
This commit is contained in:
Ferruh Yigit 2016-05-30 12:22:32 +01:00 committed by Thomas Monjalon
parent c69601c4b5
commit e2dc61c806
2 changed files with 12 additions and 1 deletions

View 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

View 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)