meta-isg: dpdk: retire older ver v2.0.0 and v1.8.0

Removing the older version recipe dpdk v2.0.0 and dpdk v1.8.0
since newer version added so it is no longer required.

Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
This commit is contained in:
Rahul Kumar Gupta 2016-01-12 19:06:08 +08:00 committed by Saul Wold
parent 994b3e440d
commit 7d30054780
11 changed files with 0 additions and 748 deletions

View File

@ -1,44 +0,0 @@
From 54c95ca8f76f412c94a9f61e3756420ac554310b Mon Sep 17 00:00:00 2001
From: Ong Boon Leong <boon.leong.ong@intel.com>
Date: Thu, 12 Feb 2015 16:33:49 +0800
Subject: [PATCH] examples: add config variable to enable/disable dpdk_qat
Upstream-Status: Inappropriate [configuration]
This patch adss following example build configs:
1) CONFIG_EXAMPLE_DPDK_QAT is used to control dpdk_qat example
by PACKAGECONFIG.
2) CONFIG_EXAMPLE_VM_POWER_MANAGER is used to control vm_power_manager
example by PACKAGECONFIG.
Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
---
examples/Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/examples/Makefile b/examples/Makefile
index 81f1d2f..7e9c7bd 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -40,7 +40,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
DIRS-y += cmdline
DIRS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += distributor
ifneq ($(ICP_ROOT),)
-DIRS-y += dpdk_qat
+DIRS-$(CONFIG_EXAMPLE_DPDK_QAT) += dpdk_qat
endif
DIRS-y += exception_path
DIRS-y += helloworld
@@ -68,6 +68,6 @@ DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += vhost
DIRS-$(CONFIG_RTE_LIBRTE_XEN_DOM0) += vhost_xen
DIRS-y += vmdq
DIRS-y += vmdq_dcb
-DIRS-y += vm_power_manager
+DIRS-$(CONFIG_EXAMPLE_VM_POWER_MANAGER) += vm_power_manager
include $(RTE_SDK)/mk/rte.extsubdir.mk
--
1.7.9.5

View File

@ -1,49 +0,0 @@
From a635f49a5873a104c8867bd1f6375d7a5064be5e Mon Sep 17 00:00:00 2001
From: Anuj Mittal <anujx.mittal@intel.com>
Date: Thu, 8 Oct 2015 22:46:13 +0800
Subject: [PATCH] ixgbe: fix a build warning being treated as error
Upstream-Status: Inappropriate [other]
The change is part of a feature commit upstream (e0ba4e77605ab500518247cb6fab98dd3d87ba97)
that we don't want to backport.
Initialize the data byte to avoid warnings like:
lib/librte_pmd_ixgbe/ixgbe/ixgbe_phy.c: In function 'ixgbe_read_i2c_combined_generic':
lib/librte_pmd_ixgbe/ixgbe/ixgbe_phy.c:2101:9: error: 'low_bits' may be used
uninitialized in this function [-Werror=maybe-uninitialized]
*data |= bit << i;
^
dpdk/2.0.0-r0/dpdk-2.0.0/lib/librte_pmd_ixgbe/ixgbe/ixgbe_phy.c:120:5: note:
'low_bits' was declared here
u8 low_bits;
^
lib/librte_pmd_ixgbe/ixgbe/ixgbe_phy.c:2101:9: error: 'high_bits' may be used
uninitialized in this function [-Werror=maybe-uninitialized]
*data |= bit << i;
^
lib/librte_pmd_ixgbe/ixgbe/ixgbe_phy.c:119:5: note: 'high_bits' was declared here
u8 high_bits;
Signed-off-by: Anuj Mittal <anujx.mittal@intel.com>
---
lib/librte_pmd_ixgbe/ixgbe/ixgbe_phy.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/librte_pmd_ixgbe/ixgbe/ixgbe_phy.c b/lib/librte_pmd_ixgbe/ixgbe/ixgbe_phy.c
index 2305448..ec34753 100644
--- a/lib/librte_pmd_ixgbe/ixgbe/ixgbe_phy.c
+++ b/lib/librte_pmd_ixgbe/ixgbe/ixgbe_phy.c
@@ -2095,7 +2095,7 @@ STATIC s32 ixgbe_clock_in_i2c_byte(struct ixgbe_hw *hw, u8 *data)
bool bit = 0;
DEBUGFUNC("ixgbe_clock_in_i2c_byte");
-
+ *data = 0;
for (i = 7; i >= 0; i--) {
ixgbe_clock_in_i2c_bit(hw, &bit);
*data |= bit << i;
--
1.7.9.5

View File

@ -1,69 +0,0 @@
From 4e6326ae5375d55966a5c872f391cf99de373057 Mon Sep 17 00:00:00 2001
From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Date: Sun, 22 Mar 2015 18:02:16 +0000
Subject: [PATCH] kni: fix build with kernel 3.19
Upstream-Status: Backport [2.1.0]
Due to API changes in functions ndo_dflt_bridge_getlink
(commit 2c3c031c) and ndo_fdb_add (commit f6f6424b)
in kernel 3.19, DPDK would not build.
This patch solves the problem, by checking the kernel version
and adding the necessary new parameters.
Mind that function igb_ndo_fdb_add does not need the extra parameter
if USE_CONST_DEV_UC_CHAR is not set, since that macro is only defined
when kernel is greater or equal than 3.7
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
(cherry picked from commit 98f255ed0a4a73bf785e884dc2069405de840546)
Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
---
lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | 7 +++++++
lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | 4 ++++
2 files changed, 11 insertions(+)
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c
index a802a02..24b147d 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c
+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c
@@ -2103,6 +2103,9 @@ static int igb_set_features(struct net_device *netdev,
static int igb_ndo_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
struct net_device *dev,
const unsigned char *addr,
+#ifdef HAVE_NDO_FDB_ADD_VID
+ u16 vid,
+#endif
u16 flags)
#else
static int igb_ndo_fdb_add(struct ndmsg *ndm,
@@ -2259,7 +2262,11 @@ static int igb_ndo_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq,
else
mode = BRIDGE_MODE_VEPA;
+#ifdef HAVE_NDO_FDB_ADD_VID
+ return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode, 0, 0);
+#else
return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode);
+#endif /* HAVE_NDO_FDB_ADD_VID */
}
#endif /* HAVE_BRIDGE_ATTRIBS */
#endif /* NTF_SELF */
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
index 1213cc6..2e7e714 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
@@ -3881,4 +3881,8 @@ skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type)
#define HAVE_VF_MIN_MAX_TXRATE 1
#endif /* >= 3.16.0 */
+#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0) )
+#define HAVE_NDO_FDB_ADD_VID
+#endif /* >= 3.19.0 */
+
#endif /* _KCOMPAT_H_ */
--
1.9.1

View File

@ -1,155 +0,0 @@
From ccb0f3b60c1ec84a97698d9699a4b7e5cf074b21 Mon Sep 17 00:00:00 2001
From: Panu Matilainen <pmatilai@redhat.com>
Date: Mon, 23 Feb 2015 16:53:56 +0200
Subject: [PATCH] mk: rework gcc version detection to permit versions newer
than 4.x
Upstream-Status: Backport [2.1.0]
Separately comparing major and minor versions becomes seriously clumsy
when with major version changes, convert the entire version string into
a numeric value (ie 4.6.0 becomes 460 and 5.0.0 becomes 500) and use
that for comparisons, eliminate unnecessary negations while at it.
This makes the comparisons simpler, more obvious and makes gcc 5.0
naturally recognized at least as capable as newest 4.x.
This three-digit scheme would run into trouble if gcc ever went to
two-digit version segments, but that hasn't happened in the last 10+
years so it seems like a safe assumption.
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
(cherry picked from commit 71f0ab1849b4fc3ca928deb566df12ca725ed150)
Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
Conflicts:
lib/librte_pmd_fm10k/Makefile
Makefile part of fm10k feature enabled as part of
commit a6061d9e7075b5457a9234117d75a2c05227457d which we ae not
backporting. Makefile changes not taken.
---
lib/librte_pmd_i40e/Makefile | 2 +-
lib/librte_pmd_ixgbe/Makefile | 6 +++---
lib/librte_pmd_vmxnet3/Makefile | 2 +-
mk/toolchain/gcc/rte.toolchain-compat.mk | 22 ++++++++++------------
4 files changed, 15 insertions(+), 17 deletions(-)
diff --git a/lib/librte_pmd_i40e/Makefile b/lib/librte_pmd_i40e/Makefile
index 98e4bdf..61c3675 100644
--- a/lib/librte_pmd_i40e/Makefile
+++ b/lib/librte_pmd_i40e/Makefile
@@ -65,7 +65,7 @@ CFLAGS_BASE_DRIVER += -Wno-pointer-to-int-cast
CFLAGS_BASE_DRIVER += -Wno-format-nonliteral
CFLAGS_BASE_DRIVER += -Wno-format-security
-ifeq ($(shell test $(GCC_MAJOR_VERSION) -ge 4 -a $(GCC_MINOR_VERSION) -ge 4 && echo 1), 1)
+ifeq ($(shell test $(GCC_VERSION) -ge 440 && echo 1), 1)
CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable
endif
diff --git a/lib/librte_pmd_ixgbe/Makefile b/lib/librte_pmd_ixgbe/Makefile
index 3588047..592fe74 100644
--- a/lib/librte_pmd_ixgbe/Makefile
+++ b/lib/librte_pmd_ixgbe/Makefile
@@ -56,18 +56,18 @@ else
#
# CFLAGS for gcc
#
-ifneq ($(shell test $(GCC_MAJOR_VERSION) -le 4 -a $(GCC_MINOR_VERSION) -le 3 && echo 1), 1)
+ifeq ($(shell test $(GCC_VERSION) -ge 440 && echo 1), 1)
CFLAGS += -Wno-deprecated
endif
CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value
CFLAGS_BASE_DRIVER += -Wno-strict-aliasing -Wno-format-extra-args
-ifeq ($(shell test $(GCC_MAJOR_VERSION) -ge 4 -a $(GCC_MINOR_VERSION) -ge 6 && echo 1), 1)
+ifeq ($(shell test $(GCC_VERSION) -ge 460 && echo 1), 1)
CFLAGS_ixgbe_common.o += -Wno-unused-but-set-variable
CFLAGS_ixgbe_x550.o += -Wno-unused-but-set-variable -Wno-maybe-uninitialized
endif
-ifeq ($(shell test $(GCC_MAJOR_VERSION) -le 4 -a $(GCC_MINOR_VERSION) -le 6 && echo 1), 1)
+ifeq ($(shell test $(GCC_VERSION) -le 460 && echo 1), 1)
CFLAGS_ixgbe_x550.o += -Wno-uninitialized
CFLAGS_ixgbe_phy.o += -Wno-uninitialized
endif
diff --git a/lib/librte_pmd_vmxnet3/Makefile b/lib/librte_pmd_vmxnet3/Makefile
index 6872c74..3b7674e 100644
--- a/lib/librte_pmd_vmxnet3/Makefile
+++ b/lib/librte_pmd_vmxnet3/Makefile
@@ -56,7 +56,7 @@ else
#
# CFLAGS for gcc
#
-ifneq ($(shell test $(GCC_MAJOR_VERSION) -le 4 -a $(GCC_MINOR_VERSION) -le 3 && echo 1), 1)
+ifeq ($(shell test $(GCC_VERSION) -ge 440 && echo 1), 1)
CFLAGS += -Wno-deprecated
endif
CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value
diff --git a/mk/toolchain/gcc/rte.toolchain-compat.mk b/mk/toolchain/gcc/rte.toolchain-compat.mk
index e40e103..a867559 100644
--- a/mk/toolchain/gcc/rte.toolchain-compat.mk
+++ b/mk/toolchain/gcc/rte.toolchain-compat.mk
@@ -38,17 +38,15 @@
#find out GCC version
-GCC_MAJOR_VERSION = $(shell $(CC) -dumpversion | cut -f1 -d.)
+GCC_VERSION = $(subst .,,$(shell $(CC) -dumpversion))
-# if GCC is not 4.x
-ifneq ($(GCC_MAJOR_VERSION),4)
+# if GCC is older than 4.x
+ifeq ($(shell test $(GCC_VERSION) -lt 400 && echo 1), 1)
MACHINE_CFLAGS =
-$(warning You are not using GCC 4.x. This is neither supported, nor tested.)
+$(warning You are using GCC < 4.x. This is neither supported, nor tested.)
else
- GCC_MINOR_VERSION = $(shell $(CC) -dumpversion | cut -f2 -d.)
-
# GCC graceful degradation
# GCC 4.2.x - added support for generic target
# GCC 4.3.x - added support for core2, ssse3, sse4.1, sse4.2
@@ -57,18 +55,18 @@ else
# GCC 4.6.x - added support for corei7, corei7-avx
# GCC 4.7.x - added support for fsgsbase, rdrnd, f16c, core-avx-i, core-avx2
- ifeq ($(shell test $(GCC_MINOR_VERSION) -le 7 && echo 1), 1)
+ ifeq ($(shell test $(GCC_VERSION) -le 470 && echo 1), 1)
MACHINE_CFLAGS := $(patsubst -march=core-avx-i,-march=corei7-avx,$(MACHINE_CFLAGS))
MACHINE_CFLAGS := $(patsubst -march=core-avx2,-march=core-avx2,$(MACHINE_CFLAGS))
endif
- ifeq ($(shell test $(GCC_MINOR_VERSION) -lt 6 && echo 1), 1)
+ ifeq ($(shell test $(GCC_VERSION) -lt 460 && echo 1), 1)
MACHINE_CFLAGS := $(patsubst -march=corei7-avx,-march=core2 -maes -mpclmul -mavx,$(MACHINE_CFLAGS))
MACHINE_CFLAGS := $(patsubst -march=corei7,-march=core2 -maes -mpclmul,$(MACHINE_CFLAGS))
endif
- ifeq ($(shell test $(GCC_MINOR_VERSION) -lt 5 && echo 1), 1)
+ ifeq ($(shell test $(GCC_VERSION) -lt 450 && echo 1), 1)
MACHINE_CFLAGS := $(patsubst -march=atom,-march=core2 -mssse3,$(MACHINE_CFLAGS))
endif
- ifeq ($(shell test $(GCC_MINOR_VERSION) -lt 4 && echo 1), 1)
+ ifeq ($(shell test $(GCC_VERSION) -lt 440 && echo 1), 1)
MACHINE_CFLAGS := $(filter-out -mavx -mpclmul -maes,$(MACHINE_CFLAGS))
ifneq ($(findstring SSE4_2, $(CPUFLAGS)),)
MACHINE_CFLAGS += -msse4.2
@@ -77,12 +75,12 @@ else
MACHINE_CFLAGS += -msse4.1
endif
endif
- ifeq ($(shell test $(GCC_MINOR_VERSION) -lt 3 && echo 1), 1)
+ ifeq ($(shell test $(GCC_VERSION) -lt 430 && echo 1), 1)
MACHINE_CFLAGS := $(filter-out -msse% -mssse%,$(MACHINE_CFLAGS))
MACHINE_CFLAGS := $(patsubst -march=core2,-march=generic,$(MACHINE_CFLAGS))
MACHINE_CFLAGS += -msse3
endif
- ifeq ($(shell test $(GCC_MINOR_VERSION) -lt 2 && echo 1), 1)
+ ifeq ($(shell test $(GCC_VERSION) -lt 420 && echo 1), 1)
MACHINE_CFLAGS := $(filter-out -march% -mtune% -msse%,$(MACHINE_CFLAGS))
endif
endif
--
1.9.1

View File

@ -1,58 +0,0 @@
From 54117da1c945c046c6e3959db81511c78f876426 Mon Sep 17 00:00:00 2001
From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Date: Tue, 28 Apr 2015 18:37:42 +0100
Subject: [PATCH] kni: fix build with kernel 4.0
Upstream-Status: Backport [2.1.0]
Due to API changes in function pointer ndo_bridge_setlink
(commit ad41faa8) and the rename of functions vlan_tx_*
(commit df8a39de) in kernel 4.0, DPDK would not build.
This patch adds the properly checks to fix the compilation.
Reported-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Anuj Mittal <anujx.mittal@intel.com>
---
lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | 6 ++++++
lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | 6 ++++++
2 files changed, 12 insertions(+)
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c
index 24b147d..bc3c6a3 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c
+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c
@@ -2198,8 +2198,14 @@ static int igb_ndo_fdb_dump(struct sk_buff *skb,
#endif /* USE_DEFAULT_FDB_DEL_DUMP */
#ifdef HAVE_BRIDGE_ATTRIBS
+#ifdef HAVE_NDO_BRIDGE_SET_DEL_LINK_FLAGS
+static int igb_ndo_bridge_setlink(struct net_device *dev,
+ struct nlmsghdr *nlh,
+ u16 flags)
+#else
static int igb_ndo_bridge_setlink(struct net_device *dev,
struct nlmsghdr *nlh)
+#endif /* HAVE_NDO_BRIDGE_SET_DEL_LINK_FLAGS */
{
struct igb_adapter *adapter = netdev_priv(dev);
struct e1000_hw *hw = &adapter->hw;
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
index 2e7e714..54d1f86 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
@@ -3885,4 +3885,10 @@ skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type)
#define HAVE_NDO_FDB_ADD_VID
#endif /* >= 3.19.0 */
+#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0) )
+/* vlan_tx_xx functions got renamed to skb_vlan */
+#define vlan_tx_tag_get skb_vlan_tag_get
+#define vlan_tx_tag_present skb_vlan_tag_present
+#define HAVE_NDO_BRIDGE_SET_DEL_LINK_FLAGS
+#endif /* 4.0.0 */
#endif /* _KCOMPAT_H_ */
--
1.7.9.5

View File

@ -1,70 +0,0 @@
From 97ebf687c7a635ac6f1b1e22293ed7405668c66e Mon Sep 17 00:00:00 2001
From: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com>
Date: Fri, 26 Jun 2015 17:14:35 -0500
Subject: [PATCH] kni: fix igb build with kernel 4.1
Upstream-Status: Backport [2.1.0]
ndo_bridge_getlink has changed in kernel release 4.1. It
adds new parameter which breaks compilation.
This patch add the properly checks to fix it.
Linux: 46c264daaaa5 ("bridge/nl: remove wrong use of NLM_F_MULTI")
Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Anuj Mittal <anujx.mittal@intel.com>
---
lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | 10 ++++++++++
lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | 5 +++++
2 files changed, 15 insertions(+)
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c
index bc3c6a3..b99b365 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c
+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c
@@ -2250,8 +2250,14 @@ static int igb_ndo_bridge_setlink(struct net_device *dev,
}
#ifdef HAVE_BRIDGE_FILTER
+#ifdef HAVE_NDO_BRIDGE_GETLINK_FILTER_MASK
+static int igb_ndo_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq,
+ struct net_device *dev, u32 filter_mask,
+ int nlflags)
+#else
static int igb_ndo_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq,
struct net_device *dev, u32 filter_mask)
+#endif /* HAVE_NDO_BRIDGE_GETLINK_FILTER_MASK */
#else
static int igb_ndo_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq,
struct net_device *dev)
@@ -2269,7 +2275,11 @@ static int igb_ndo_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq,
mode = BRIDGE_MODE_VEPA;
#ifdef HAVE_NDO_FDB_ADD_VID
+#ifdef HAVE_NDO_BRIDGE_GETLINK_FILTER_MASK
+ return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode, 0, 0, nlflags);
+#else
return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode, 0, 0);
+#endif /* HAVE_NDO_BRIDGE_GETLINK_FILTER_MASK */
#else
return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode);
#endif /* HAVE_NDO_FDB_ADD_VID */
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
index 54d1f86..2673281 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
@@ -3891,4 +3891,9 @@ skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type)
#define vlan_tx_tag_present skb_vlan_tag_present
#define HAVE_NDO_BRIDGE_SET_DEL_LINK_FLAGS
#endif /* 4.0.0 */
+
+#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(4,1,0) )
+/* ndo_bridge_getlink adds new nlflags parameter */
+#define HAVE_NDO_BRIDGE_GETLINK_FILTER_MASK
+#endif /* >= 4.1.0 */
#endif /* _KCOMPAT_H_ */
--
1.7.9.5

View File

@ -1,69 +0,0 @@
From 289840d86ddaec3310ee1d6a85fe6f20384de615 Mon Sep 17 00:00:00 2001
From: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com>
Date: Fri, 26 Jun 2015 17:14:37 -0500
Subject: [PATCH 2/2] kni: fix vhost build with kernel 4.1
Upstream-Status: Backport [2.1.0]
Parameters from sendmsg and recvmsg has been changed in 4.1 kernel.
The function pointers belong to proto_ops structure were updated removing
the struct kiocb parameter.
Linux: 1b784140474e ("net: Remove iocb argument from sendmsg and recvmsg")
Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
(cherry picked from commit 8d8fb8aa5836e719d5fb896693b16afabd5118b9)
Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
---
lib/librte_eal/linuxapp/kni/compat.h | 4 ++++
lib/librte_eal/linuxapp/kni/kni_vhost.c | 10 ++++++++++
2 files changed, 14 insertions(+)
diff --git a/lib/librte_eal/linuxapp/kni/compat.h b/lib/librte_eal/linuxapp/kni/compat.h
index 1ad22ba..cf100b6 100644
--- a/lib/librte_eal/linuxapp/kni/compat.h
+++ b/lib/librte_eal/linuxapp/kni/compat.h
@@ -23,3 +23,7 @@
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0)
#define HAVE_IOV_ITER_MSGHDR
#endif
+
+#if ( LINUX_VERSION_CODE < KERNEL_VERSION(4,1,0) )
+#define HAVE_KIOCB_MSG_PARAM
+#endif /* < 4.1.0 */
diff --git a/lib/librte_eal/linuxapp/kni/kni_vhost.c b/lib/librte_eal/linuxapp/kni/kni_vhost.c
index 83d3351..4611ff4 100644
--- a/lib/librte_eal/linuxapp/kni/kni_vhost.c
+++ b/lib/librte_eal/linuxapp/kni/kni_vhost.c
@@ -353,8 +353,13 @@ except:
}
static int
+#ifdef HAVE_KIOCB_MSG_PARAM
kni_sock_sndmsg(struct kiocb *iocb, struct socket *sock,
struct msghdr *m, size_t total_len)
+#else
+kni_sock_sndmsg(struct socket *sock,
+ struct msghdr *m, size_t total_len)
+#endif /* HAVE_KIOCB_MSG_PARAM */
{
struct kni_vhost_queue *q =
container_of(sock->sk, struct kni_vhost_queue, sk);
@@ -387,8 +392,13 @@ kni_sock_sndmsg(struct kiocb *iocb, struct socket *sock,
}
static int
+#ifdef HAVE_KIOCB_MSG_PARAM
kni_sock_rcvmsg(struct kiocb *iocb, struct socket *sock,
struct msghdr *m, size_t len, int flags)
+#else
+kni_sock_rcvmsg(struct socket *sock,
+ struct msghdr *m, size_t len, int flags)
+#endif /* HAVE_KIOCB_MSG_PARAM */
{
int vnet_hdr_len = 0;
int pkt_len = 0;
--
1.9.1

View File

@ -1,141 +0,0 @@
From d4903f024ede0e54cc5e025e2cb54309b1164d22 Mon Sep 17 00:00:00 2001
From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Date: Tue, 5 May 2015 15:08:00 +0100
Subject: [PATCH 1/2] kni: fix vhost build with kernels 3.19 and 4.0
Upstream-Status: Backport [2.1.0]
Due to commit c0371da6 in kernel 3.19, which removed msg_iov
and msg_iovlen from struct msghdr, DPDK would not build.
Also, functions memcpy_toiovecend and memcpy_fromiovecend
were removed in commits ba7438ae and 57dd8a07, being substituted by
copy_from_iter and copy_to_iter.
This patch makes use of struct iov_iter, which has references
to msg_iov and msg_iovln, and makes use of copy_from_iter
and copy_to_iter.
Reported-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
(cherry picked from commit 45e63ba8db314f75b8c969f3f952dee87f209129)
Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
---
lib/librte_eal/linuxapp/kni/compat.h | 4 ++++
lib/librte_eal/linuxapp/kni/kni_vhost.c | 37 ++++++++++++++++++++++++++-------
2 files changed, 33 insertions(+), 8 deletions(-)
diff --git a/lib/librte_eal/linuxapp/kni/compat.h b/lib/librte_eal/linuxapp/kni/compat.h
index 1313523..1ad22ba 100644
--- a/lib/librte_eal/linuxapp/kni/compat.h
+++ b/lib/librte_eal/linuxapp/kni/compat.h
@@ -19,3 +19,7 @@
#define sk_sleep(s) (s)->sk_sleep
#endif /* < 2.6.35 */
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0)
+#define HAVE_IOV_ITER_MSGHDR
+#endif
diff --git a/lib/librte_eal/linuxapp/kni/kni_vhost.c b/lib/librte_eal/linuxapp/kni/kni_vhost.c
index 7141f83..83d3351 100644
--- a/lib/librte_eal/linuxapp/kni/kni_vhost.c
+++ b/lib/librte_eal/linuxapp/kni/kni_vhost.c
@@ -76,7 +76,7 @@ static struct proto kni_raw_proto = {
};
static inline int
-kni_vhost_net_tx(struct kni_dev *kni, struct iovec *iov,
+kni_vhost_net_tx(struct kni_dev *kni, struct msghdr *m,
unsigned offset, unsigned len)
{
struct rte_kni_mbuf *pkt_kva = NULL;
@@ -84,7 +84,11 @@ kni_vhost_net_tx(struct kni_dev *kni, struct iovec *iov,
int ret;
KNI_DBG_TX("tx offset=%d, len=%d, iovlen=%d\n",
- offset, len, (int)iov->iov_len);
+#ifdef HAVE_IOV_ITER_MSGHDR
+ offset, len, (int)m->msg_iter.iov->iov_len);
+#else
+ offset, len, (int)m->msg_iov->iov_len);
+#endif
/**
* Check if it has at least one free entry in tx_q and
@@ -108,7 +112,12 @@ kni_vhost_net_tx(struct kni_dev *kni, struct iovec *iov,
data_kva = pkt_kva->buf_addr + pkt_kva->data_off
- kni->mbuf_va + kni->mbuf_kva;
- memcpy_fromiovecend(data_kva, iov, offset, len);
+#ifdef HAVE_IOV_ITER_MSGHDR
+ copy_from_iter(data_kva, len, &m->msg_iter);
+#else
+ memcpy_fromiovecend(data_kva, m->msg_iov, offset, len);
+#endif
+
if (unlikely(len < ETH_ZLEN)) {
memset(data_kva + len, 0, ETH_ZLEN - len);
len = ETH_ZLEN;
@@ -143,7 +152,7 @@ drop:
}
static inline int
-kni_vhost_net_rx(struct kni_dev *kni, struct iovec *iov,
+kni_vhost_net_rx(struct kni_dev *kni, struct msghdr *m,
unsigned offset, unsigned len)
{
uint32_t pkt_len;
@@ -177,10 +186,18 @@ kni_vhost_net_rx(struct kni_dev *kni, struct iovec *iov,
goto drop;
KNI_DBG_RX("rx offset=%d, len=%d, pkt_len=%d, iovlen=%d\n",
- offset, len, pkt_len, (int)iov->iov_len);
+#ifdef HAVE_IOV_ITER_MSGHDR
+ offset, len, pkt_len, (int)m->msg_iter.iov->iov_len);
+#else
+ offset, len, pkt_len, (int)m->msg_iov->iov_len);
+#endif
data_kva = kva->buf_addr + kva->data_off - kni->mbuf_va + kni->mbuf_kva;
- if (unlikely(memcpy_toiovecend(iov, data_kva, offset, pkt_len)))
+#ifdef HAVE_IOV_ITER_MSGHDR
+ if (unlikely(copy_to_iter(data_kva, pkt_len, &m->msg_iter)))
+#else
+ if (unlikely(memcpy_toiovecend(m->msg_iov, data_kva, offset, pkt_len)))
+#endif
goto drop;
/* Update statistics */
@@ -348,7 +365,11 @@ kni_sock_sndmsg(struct kiocb *iocb, struct socket *sock,
return 0;
KNI_DBG_TX("kni_sndmsg len %ld, flags 0x%08x, nb_iov %d\n",
+#ifdef HAVE_IOV_ITER_MSGHDR
+ len, q->flags, (int)m->msg_iter.iov->iov_len);
+#else
len, q->flags, (int)m->msg_iovlen);
+#endif
#ifdef RTE_KNI_VHOST_VNET_HDR_EN
if (likely(q->flags & IFF_VNET_HDR)) {
@@ -362,7 +383,7 @@ kni_sock_sndmsg(struct kiocb *iocb, struct socket *sock,
if (unlikely(len < ETH_HLEN + q->vnet_hdr_sz))
return -EINVAL;
- return kni_vhost_net_tx(q->kni, m->msg_iov, vnet_hdr_len, len);
+ return kni_vhost_net_tx(q->kni, m, vnet_hdr_len, len);
}
static int
@@ -391,7 +412,7 @@ kni_sock_rcvmsg(struct kiocb *iocb, struct socket *sock,
#endif
if (unlikely(0 == (pkt_len = kni_vhost_net_rx(q->kni,
- m->msg_iov, vnet_hdr_len, len))))
+ m, vnet_hdr_len, len))))
return 0;
#ifdef RTE_KNI_VHOST_VNET_HDR_EN
--
1.9.1

View File

@ -1,54 +0,0 @@
From abb59c037a74d822e402f9d9a3d6c4d06ce7c748 Mon Sep 17 00:00:00 2001
From: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com>
Date: Fri, 26 Jun 2015 17:14:36 -0500
Subject: [PATCH] kni: fix build with kernel 4.1
Upstream-Status: Backport [2.1.1]
rebuild member was removed from headers_ops in kernel release
4.1. Therefore kni module compilation breaks.
This patch add the properly checks to fix it.
Linux: d476059e77d1 ("net: Kill dev_rebuild_header")
Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Anuj Mittal <anujx.mittal@intel.com>
---
lib/librte_eal/linuxapp/kni/kni_net.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/lib/librte_eal/linuxapp/kni/kni_net.c b/lib/librte_eal/linuxapp/kni/kni_net.c
index dd95db5..c515870 100644
--- a/lib/librte_eal/linuxapp/kni/kni_net.c
+++ b/lib/librte_eal/linuxapp/kni/kni_net.c
@@ -604,6 +604,7 @@ kni_net_header(struct sk_buff *skb, struct net_device *dev,
/*
* Re-fill the eth header
*/
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 1, 0))
static int
kni_net_rebuild_header(struct sk_buff *skb)
{
@@ -615,6 +616,7 @@ kni_net_rebuild_header(struct sk_buff *skb)
return 0;
}
+#endif /* < 4.1.0 */
/**
* kni_net_set_mac - Change the Ethernet Address of the KNI NIC
@@ -634,7 +636,9 @@ static int kni_net_set_mac(struct net_device *netdev, void *p)
static const struct header_ops kni_net_header_ops = {
.create = kni_net_header,
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 1, 0))
.rebuild = kni_net_rebuild_header,
+#endif /* < 4.1.0 */
.cache = NULL, /* disable caching */
};
--
1.7.9.5

View File

@ -1,22 +0,0 @@
include dpdk.inc
SRC_URI += "file://dpdk-1.8.0-and-2.0.0-examples-add-config-variable-to-enable-disable-dpdk.patch \
file://dpdk-1.8.0-and-2.0.0-ixgbe-fix-a-build-warning-being-treated-as-error.patch \
file://dpdk-1.8.0-kni-fix-build-with-kernel-3.19.patch \
file://dpdk-2.0.0-kni-fix-build-with-kernel-4.0.patch \
file://dpdk-2.0.0-kni-fix-igb-build-with-kernel-4.1.patch \
file://dpdk-2.0.0-kni-net-fix-build-with-kernel-4.1.patch \
file://dpdk-1.8.0-mk-rework-gcc-version-detection-to-permit-versions-n.patch \
"
SRC_URI[dpdk.md5sum] = "11ad8785aaa869cc87265bcb8d828f22"
SRC_URI[dpdk.sha256sum] = "9f5386830bd999355182e20408f3fc2cfa0802a4497fdded8d43202feede1939"
export EXAMPLES_BUILD_DIR = "${RTE_TARGET}"
export ARCHDIR = "generic"
do_install_append () {
install -m 0755 -d ${D}/${INSTALL_PATH}/${RTE_TARGET}/hostapp
install -m 0755 ${S}/${RTE_TARGET}/hostapp/* ${D}/${INSTALL_PATH}/${RTE_TARGET}/hostapp/
}

View File

@ -1,17 +0,0 @@
include dpdk.inc
SRC_URI += "file://dpdk-2.0.0-dpdk-enable-ip_fragmentation-in-common_linuxapp.patch \
file://dpdk-1.8.0-and-2.0.0-examples-add-config-variable-to-enable-disable-dpdk.patch \
file://dpdk-1.8.0-and-2.0.0-ixgbe-fix-a-build-warning-being-treated-as-error.patch \
file://dpdk-2.0.0-kni-fix-build-with-kernel-4.0.patch \
file://dpdk-2.0.0-kni-fix-igb-build-with-kernel-4.1.patch \
file://dpdk-2.0.0-kni-net-fix-build-with-kernel-4.1.patch \
file://dpdk-2.0.0-kni-fix-vhost-build-with-kernels-3.19-and-4.0.patch \
file://dpdk-2.0.0-kni-fix-vhost-build-with-kernel-4.1.patch \
"
SRC_URI[dpdk.md5sum] = "e9e7935c9eec920841ad373949514934"
SRC_URI[dpdk.sha256sum] = "643789a3be5ba44dd84d6b248cdf5471b260f8736dada177dadf076aebfbff3f"
export EXAMPLES_BUILD_DIR = "${RTE_TARGET}"
export ARCHDIR = "generic"