kni: fix build with kernel 3.15
authorAaro Koskinen <aaro.koskinen@nsn.com>
Mon, 14 Apr 2014 13:50:00 +0000 (16:50 +0300)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Thu, 17 Apr 2014 16:00:32 +0000 (18:00 +0200)
rxhash has been renamed to hash. In 3.14 and newer, we can use
skb_set_hash().

Signed-off-by: Aaro Koskinen <aaro.koskinen@nsn.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c
lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h

index 6933626..6388207 100644 (file)
@@ -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
index a404c9f..4b2c940 100644 (file)
@@ -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_ */