diff options
Diffstat (limited to 'debian/patches/dpdk-dev-kni-fix-build-with-kernel-4.9.patch')
-rw-r--r-- | debian/patches/dpdk-dev-kni-fix-build-with-kernel-4.9.patch | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/debian/patches/dpdk-dev-kni-fix-build-with-kernel-4.9.patch b/debian/patches/dpdk-dev-kni-fix-build-with-kernel-4.9.patch deleted file mode 100644 index 931965c3..00000000 --- a/debian/patches/dpdk-dev-kni-fix-build-with-kernel-4.9.patch +++ /dev/null @@ -1,89 +0,0 @@ -Description: compile error: - CC [M] .../lib/librte_eal/linuxapp/kni/igb_main.o -.../lib/librte_eal/linuxapp/kni/igb_main.c:2317:21: -error: initialization from incompatible pointer type - [-Werror=incompatible-pointer-types] - .ndo_set_vf_vlan = igb_ndo_set_vf_vlan, - ^~~~~~~~~~~~~~~~~~~ - -Linux kernel 4.9 updates API for ndo_set_vf_vlan: -Linux: 79aab093a0b5 ("net: Update API for VF vlan protocol 802.1ad support") - -Use new API for Linux kernels >= 4.9 - -Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> -Tested-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> - -Origin: Upstream, http://dpdk.org/dev/patchwork/patch/16651/ -Author: Luca Boccassi <luca.boccassi@gmail.com> -Last-Update: 2016-10-17 ---- - lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | 19 +++++++++++++++++++ - lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | 4 ++++ - 2 files changed, 23 insertions(+) - ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c -@@ -195,7 +195,11 @@ static void igb_process_mdd_event(struct - #ifdef IFLA_VF_MAX - 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, -+#ifdef HAVE_VF_VLAN_PROTO -+ int vf, u16 vlan, u8 qos, __be16 vlan_proto); -+#else - int vf, u16 vlan, u8 qos); -+#endif - #ifdef HAVE_VF_SPOOFCHK_CONFIGURE - static int igb_ndo_set_vf_spoofchk(struct net_device *netdev, int vf, - bool setting); -@@ -6411,7 +6415,11 @@ static void igb_set_vmvir(struct igb_ada - } - - static int igb_ndo_set_vf_vlan(struct net_device *netdev, -+#ifdef HAVE_VF_VLAN_PROTO -+ int vf, u16 vlan, u8 qos, __be16 vlan_proto) -+#else - int vf, u16 vlan, u8 qos) -+#endif - { - int err = 0; - struct igb_adapter *adapter = netdev_priv(netdev); -@@ -6419,6 +6427,12 @@ static int igb_ndo_set_vf_vlan(struct ne - /* VLAN IDs accepted range 0-4094 */ - if ((vf >= adapter->vfs_allocated_count) || (vlan > VLAN_VID_MASK-1) || (qos > 7)) - return -EINVAL; -+ -+#ifdef HAVE_VF_VLAN_PROTO -+ if (vlan_proto != htons(ETH_P_8021Q)) -+ return -EPROTONOSUPPORT; -+#endif -+ - if (vlan || qos) { - err = igb_vlvf_set(adapter, vlan, !!vlan, vf); - if (err) -@@ -6579,7 +6593,12 @@ static inline void igb_vf_reset(struct i - if (adapter->vf_data[vf].pf_vlan) - igb_ndo_set_vf_vlan(adapter->netdev, vf, - adapter->vf_data[vf].pf_vlan, -+#ifdef HAVE_VF_VLAN_PROTO -+ adapter->vf_data[vf].pf_qos, -+ htons(ETH_P_8021Q)); -+#else - adapter->vf_data[vf].pf_qos); -+#endif - else - igb_clear_vf_vfta(adapter, vf); - #endif ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h -@@ -3906,6 +3906,10 @@ skb_set_hash(struct sk_buff *skb, __u32 - #endif /* !RHEL 7.2 */ - #endif /* 4.0.0 */ - -+#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(4,9,0) ) -+#define HAVE_VF_VLAN_PROTO -+#endif /* >= 4.9.0 */ -+ - #if ( LINUX_VERSION_CODE >= KERNEL_VERSION(4,1,0) ) - /* ndo_bridge_getlink adds new nlflags parameter */ - #define HAVE_NDO_BRIDGE_GETLINK_NLFLAGS |