summaryrefslogtreecommitdiff
path: root/patches/collateral-evolutions
diff options
context:
space:
mode:
authorStefan Assmann <sassmann@kpanic.de>2014-05-16 13:21:15 +0200
committerHauke Mehrtens <hauke@hauke-m.de>2014-06-02 00:16:14 +0200
commitb0473cc66296a76c7bae383aab7dc5b9ec396ba3 (patch)
tree5bbe810d214dc7823a63b68dda46cc82623eb7a9 /patches/collateral-evolutions
parent1f952b650df0041d5992fcfca91da3422d98b2c2 (diff)
backports: handle new ndo_set_vf_spoofchk pointer in struct net_device_ops
In kernel 3.2 struct net_device_ops got a new function pointer ndo_set_vf_spoofchk. Address this by putting ifdef around the code. commit 5f8444a3fa617076f8da51a3e8ecce01a5d7f738 Author: Greg Rose <gregory.v.rose@intel.com> Date: Sat Oct 8 03:05:24 2011 +0000 if_link: Add additional parameter to IFLA_VF_INFO for spoof checking git describe --contains 5f8444a3fa617076f8da51a3e8ecce01a5d7f738 v3.2-rc1~129^2~87 Signed-off-by: Stefan Assmann <sassmann@kpanic.de> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'patches/collateral-evolutions')
-rw-r--r--patches/collateral-evolutions/network/0034-ndo_set_vf_spoofchk/INFO12
-rw-r--r--patches/collateral-evolutions/network/0034-ndo_set_vf_spoofchk/igb_ndo_set_vf_spoofchk.patch51
2 files changed, 63 insertions, 0 deletions
diff --git a/patches/collateral-evolutions/network/0034-ndo_set_vf_spoofchk/INFO b/patches/collateral-evolutions/network/0034-ndo_set_vf_spoofchk/INFO
new file mode 100644
index 00000000..31c4a7e7
--- /dev/null
+++ b/patches/collateral-evolutions/network/0034-ndo_set_vf_spoofchk/INFO
@@ -0,0 +1,12 @@
+In kernel 3.2 struct net_device_ops got a new function pointer
+ndo_set_vf_spoofchk. Address this by putting ifdef around the code.
+
+
+commit 5f8444a3fa617076f8da51a3e8ecce01a5d7f738
+Author: Greg Rose <gregory.v.rose@intel.com>
+Date: Sat Oct 8 03:05:24 2011 +0000
+
+ if_link: Add additional parameter to IFLA_VF_INFO for spoof checking
+
+git describe --contains 5f8444a3fa617076f8da51a3e8ecce01a5d7f738
+v3.2-rc1~129^2~87
diff --git a/patches/collateral-evolutions/network/0034-ndo_set_vf_spoofchk/igb_ndo_set_vf_spoofchk.patch b/patches/collateral-evolutions/network/0034-ndo_set_vf_spoofchk/igb_ndo_set_vf_spoofchk.patch
new file mode 100644
index 00000000..5864a903
--- /dev/null
+++ b/patches/collateral-evolutions/network/0034-ndo_set_vf_spoofchk/igb_ndo_set_vf_spoofchk.patch
@@ -0,0 +1,51 @@
+diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
+index 325f244..ccd8f36 100644
+--- a/drivers/net/ethernet/intel/igb/igb_main.c
++++ b/drivers/net/ethernet/intel/igb/igb_main.c
+@@ -178,8 +178,10 @@ static int igb_ndo_set_vf_mac(struct net_device *netdev, int vf, u8 *mac);
+ static int igb_ndo_set_vf_vlan(struct net_device *netdev,
+ int vf, u16 vlan, u8 qos);
+ static int igb_ndo_set_vf_bw(struct net_device *netdev, int vf, int tx_rate);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
+ static int igb_ndo_set_vf_spoofchk(struct net_device *netdev, int vf,
+ bool setting);
++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0) */
+ static int igb_ndo_get_vf_config(struct net_device *netdev, int vf,
+ struct ifla_vf_info *ivi);
+ static void igb_check_vf_rate_limit(struct igb_adapter *);
+@@ -2097,7 +2099,9 @@ static const struct net_device_ops igb_netdev_ops = {
+ .ndo_set_vf_mac = igb_ndo_set_vf_mac,
+ .ndo_set_vf_vlan = igb_ndo_set_vf_vlan,
+ .ndo_set_vf_tx_rate = igb_ndo_set_vf_bw,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
+ .ndo_set_vf_spoofchk = igb_ndo_set_vf_spoofchk,
++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0) */
+ .ndo_get_vf_config = igb_ndo_get_vf_config,
+ #ifdef CONFIG_NET_POLL_CONTROLLER
+ .ndo_poll_controller = igb_netpoll,
+@@ -7937,6 +7941,7 @@ static int igb_ndo_set_vf_bw(struct net_device *netdev, int vf, int tx_rate)
+ return 0;
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
+ static int igb_ndo_set_vf_spoofchk(struct net_device *netdev, int vf,
+ bool setting)
+ {
+@@ -7963,6 +7968,7 @@ static int igb_ndo_set_vf_spoofchk(struct net_device *netdev, int vf,
+ adapter->vf_data[vf].spoofchk_enabled = setting;
+ return E1000_SUCCESS;
+ }
++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0) */
+
+ static int igb_ndo_get_vf_config(struct net_device *netdev,
+ int vf, struct ifla_vf_info *ivi)
+@@ -7975,7 +7981,9 @@ static int igb_ndo_get_vf_config(struct net_device *netdev,
+ ivi->tx_rate = adapter->vf_data[vf].tx_rate;
+ ivi->vlan = adapter->vf_data[vf].pf_vlan;
+ ivi->qos = adapter->vf_data[vf].pf_qos;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
+ ivi->spoofchk = adapter->vf_data[vf].spoofchk_enabled;
++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0) */
+ return 0;
+ }
+