summaryrefslogtreecommitdiff
path: root/patches/collateral-evolutions/network/0038-ethtool_rxfh_indir/igb_rxfh_indir.patch
blob: 870f79315cd1770db9ad530ba5659d2e69d220ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
--- a/drivers/net/ethernet/intel/igb/igb_ethtool.c
+++ b/drivers/net/ethernet/intel/igb/igb_ethtool.c
@@ -2831,12 +2831,17 @@ static void igb_ethtool_complete(struct
 	pm_runtime_put(&adapter->pdev->dev);
 }
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0)
 static u32 igb_get_rxfh_indir_size(struct net_device *netdev)
 {
 	return IGB_RETA_SIZE;
 }
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)
 static int igb_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key)
+#else
+static int igb_get_rxfh(struct net_device *netdev, u32 *indir)
+#endif
 {
 	struct igb_adapter *adapter = netdev_priv(netdev);
 	int i;
@@ -2846,6 +2851,7 @@ static int igb_get_rxfh(struct net_devic
 
 	return 0;
 }
+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0) */
 
 void igb_write_rss_indir_tbl(struct igb_adapter *adapter)
 {
@@ -2882,8 +2888,13 @@ void igb_write_rss_indir_tbl(struct igb_
 	}
 }
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)
 static int igb_set_rxfh(struct net_device *netdev, const u32 *indir,
 			const u8 *key)
+#else
+static int igb_set_rxfh(struct net_device *netdev, const u32 *indir)
+#endif
 {
 	struct igb_adapter *adapter = netdev_priv(netdev);
 	struct e1000_hw *hw = &adapter->hw;
@@ -2915,6 +2926,7 @@ static int igb_set_rxfh(struct net_devic
 
 	return 0;
 }
+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0) */
 
 static unsigned int igb_max_channels(struct igb_adapter *adapter)
 {
@@ -3037,9 +3049,15 @@ static const struct ethtool_ops igb_etht
 	.get_module_info	= igb_get_module_info,
 	.get_module_eeprom	= igb_get_module_eeprom,
 #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0) */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)
 	.get_rxfh_indir_size	= igb_get_rxfh_indir_size,
 	.get_rxfh		= igb_get_rxfh,
 	.set_rxfh		= igb_set_rxfh,
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0)
+	.get_rxfh_indir_size	= igb_get_rxfh_indir_size,
+	.get_rxfh_indir		= igb_get_rxfh,
+	.set_rxfh_indir		= igb_set_rxfh,
+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0) */
 	.get_channels		= igb_get_channels,
 	.set_channels		= igb_set_channels,
 	.begin			= igb_ethtool_begin,