diff options
Diffstat (limited to 'meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-2.0.0-kni-fix-build-with-kernel-4.0.patch')
-rw-r--r-- | meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-2.0.0-kni-fix-build-with-kernel-4.0.patch | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-2.0.0-kni-fix-build-with-kernel-4.0.patch b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-2.0.0-kni-fix-build-with-kernel-4.0.patch new file mode 100644 index 00000000..625f0146 --- /dev/null +++ b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-2.0.0-kni-fix-build-with-kernel-4.0.patch | |||
@@ -0,0 +1,58 @@ | |||
1 | From 54117da1c945c046c6e3959db81511c78f876426 Mon Sep 17 00:00:00 2001 | ||
2 | From: Pablo de Lara <pablo.de.lara.guarch@intel.com> | ||
3 | Date: Tue, 28 Apr 2015 18:37:42 +0100 | ||
4 | Subject: [PATCH] kni: fix build with kernel 4.0 | ||
5 | |||
6 | Upstream-Status: Backport [2.1.0] | ||
7 | |||
8 | Due to API changes in function pointer ndo_bridge_setlink | ||
9 | (commit ad41faa8) and the rename of functions vlan_tx_* | ||
10 | (commit df8a39de) in kernel 4.0, DPDK would not build. | ||
11 | |||
12 | This patch adds the properly checks to fix the compilation. | ||
13 | |||
14 | Reported-by: Stephen Hemminger <stephen@networkplumber.org> | ||
15 | Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> | ||
16 | Signed-off-by: Anuj Mittal <anujx.mittal@intel.com> | ||
17 | --- | ||
18 | lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | 6 ++++++ | ||
19 | lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | 6 ++++++ | ||
20 | 2 files changed, 12 insertions(+) | ||
21 | |||
22 | diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | ||
23 | index 24b147d..bc3c6a3 100644 | ||
24 | --- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | ||
25 | +++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | ||
26 | @@ -2198,8 +2198,14 @@ static int igb_ndo_fdb_dump(struct sk_buff *skb, | ||
27 | #endif /* USE_DEFAULT_FDB_DEL_DUMP */ | ||
28 | |||
29 | #ifdef HAVE_BRIDGE_ATTRIBS | ||
30 | +#ifdef HAVE_NDO_BRIDGE_SET_DEL_LINK_FLAGS | ||
31 | +static int igb_ndo_bridge_setlink(struct net_device *dev, | ||
32 | + struct nlmsghdr *nlh, | ||
33 | + u16 flags) | ||
34 | +#else | ||
35 | static int igb_ndo_bridge_setlink(struct net_device *dev, | ||
36 | struct nlmsghdr *nlh) | ||
37 | +#endif /* HAVE_NDO_BRIDGE_SET_DEL_LINK_FLAGS */ | ||
38 | { | ||
39 | struct igb_adapter *adapter = netdev_priv(dev); | ||
40 | struct e1000_hw *hw = &adapter->hw; | ||
41 | diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | ||
42 | index 2e7e714..54d1f86 100644 | ||
43 | --- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | ||
44 | +++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | ||
45 | @@ -3885,4 +3885,10 @@ skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type) | ||
46 | #define HAVE_NDO_FDB_ADD_VID | ||
47 | #endif /* >= 3.19.0 */ | ||
48 | |||
49 | +#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0) ) | ||
50 | +/* vlan_tx_xx functions got renamed to skb_vlan */ | ||
51 | +#define vlan_tx_tag_get skb_vlan_tag_get | ||
52 | +#define vlan_tx_tag_present skb_vlan_tag_present | ||
53 | +#define HAVE_NDO_BRIDGE_SET_DEL_LINK_FLAGS | ||
54 | +#endif /* 4.0.0 */ | ||
55 | #endif /* _KCOMPAT_H_ */ | ||
56 | -- | ||
57 | 1.7.9.5 | ||
58 | |||