From 74d62e73df92abddb610b1b36bca35cec8ac34a3 Mon Sep 17 00:00:00 2001 From: Aaro Koskinen Date: Mon, 14 Apr 2014 16:50:00 +0300 Subject: [PATCH] kni: fix build with kernel 3.15 rxhash has been renamed to hash. In 3.14 and newer, we can use skb_set_hash(). Signed-off-by: Aaro Koskinen Acked-by: Thomas Monjalon --- lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | 3 ++- lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c index 6933626a07..63882070de 100644 --- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c +++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c @@ -7366,7 +7366,8 @@ static inline void igb_rx_hash(struct igb_ring *ring, struct sk_buff *skb) { if (netdev_ring(ring)->features & NETIF_F_RXHASH) - skb->rxhash = le32_to_cpu(rx_desc->wb.lower.hi_dword.rss); + skb_set_hash(skb, le32_to_cpu(rx_desc->wb.lower.hi_dword.rss), + PKT_HASH_TYPE_L3); } #endif diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h index a404c9f856..4b2c940980 100644 --- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h +++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h @@ -3831,4 +3831,15 @@ static inline struct sk_buff *__kc__vlan_hwaccel_put_tag(struct sk_buff *skb, #define HAVE_ENCAP_TSO_OFFLOAD #endif /* >= 3.10.0 */ +#if ( LINUX_VERSION_CODE < KERNEL_VERSION(3,14,0) ) +#ifdef NETIF_F_RXHASH +#define PKT_HASH_TYPE_L3 0 +static inline void +skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type) +{ + skb->rxhash = hash; +} +#endif /* NETIF_F_RXHASH */ +#endif /* < 3.14.0 */ + #endif /* _KCOMPAT_H_ */ -- 2.20.1