diff options
| author | Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com> | 2016-01-12 19:06:08 +0800 |
|---|---|---|
| committer | Saul Wold <sgw@linux.intel.com> | 2016-01-12 11:07:00 -0800 |
| commit | 10b977e715baa0cd897a416ef3e206bad2ae34b3 (patch) | |
| tree | 5c99aabc8a611555243ae193974e38917b8282b0 /meta-isg/common | |
| parent | 5f07e8eb8293c39065baf3029acb9dcee17ef46e (diff) | |
| download | meta-intel-10b977e715baa0cd897a416ef3e206bad2ae34b3.tar.gz | |
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>
Diffstat (limited to 'meta-isg/common')
11 files changed, 0 insertions, 748 deletions
diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-1.8.0-and-2.0.0-examples-add-config-variable-to-enable-disable-dpdk.patch b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-1.8.0-and-2.0.0-examples-add-config-variable-to-enable-disable-dpdk.patch deleted file mode 100644 index c86c1a1d..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-1.8.0-and-2.0.0-examples-add-config-variable-to-enable-disable-dpdk.patch +++ /dev/null | |||
| @@ -1,44 +0,0 @@ | |||
| 1 | From 54c95ca8f76f412c94a9f61e3756420ac554310b Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Ong Boon Leong <boon.leong.ong@intel.com> | ||
| 3 | Date: Thu, 12 Feb 2015 16:33:49 +0800 | ||
| 4 | Subject: [PATCH] examples: add config variable to enable/disable dpdk_qat | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [configuration] | ||
| 7 | |||
| 8 | This patch adss following example build configs: | ||
| 9 | |||
| 10 | 1) CONFIG_EXAMPLE_DPDK_QAT is used to control dpdk_qat example | ||
| 11 | by PACKAGECONFIG. | ||
| 12 | |||
| 13 | 2) CONFIG_EXAMPLE_VM_POWER_MANAGER is used to control vm_power_manager | ||
| 14 | example by PACKAGECONFIG. | ||
| 15 | |||
| 16 | Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com> | ||
| 17 | --- | ||
| 18 | examples/Makefile | 4 ++-- | ||
| 19 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 20 | |||
| 21 | diff --git a/examples/Makefile b/examples/Makefile | ||
| 22 | index 81f1d2f..7e9c7bd 100644 | ||
| 23 | --- a/examples/Makefile | ||
| 24 | +++ b/examples/Makefile | ||
| 25 | @@ -40,7 +40,7 @@ include $(RTE_SDK)/mk/rte.vars.mk | ||
| 26 | DIRS-y += cmdline | ||
| 27 | DIRS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += distributor | ||
| 28 | ifneq ($(ICP_ROOT),) | ||
| 29 | -DIRS-y += dpdk_qat | ||
| 30 | +DIRS-$(CONFIG_EXAMPLE_DPDK_QAT) += dpdk_qat | ||
| 31 | endif | ||
| 32 | DIRS-y += exception_path | ||
| 33 | DIRS-y += helloworld | ||
| 34 | @@ -68,6 +68,6 @@ DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += vhost | ||
| 35 | DIRS-$(CONFIG_RTE_LIBRTE_XEN_DOM0) += vhost_xen | ||
| 36 | DIRS-y += vmdq | ||
| 37 | DIRS-y += vmdq_dcb | ||
| 38 | -DIRS-y += vm_power_manager | ||
| 39 | +DIRS-$(CONFIG_EXAMPLE_VM_POWER_MANAGER) += vm_power_manager | ||
| 40 | |||
| 41 | include $(RTE_SDK)/mk/rte.extsubdir.mk | ||
| 42 | -- | ||
| 43 | 1.7.9.5 | ||
| 44 | |||
diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-1.8.0-and-2.0.0-ixgbe-fix-a-build-warning-being-treated-as-error.patch b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-1.8.0-and-2.0.0-ixgbe-fix-a-build-warning-being-treated-as-error.patch deleted file mode 100644 index fef9108d..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-1.8.0-and-2.0.0-ixgbe-fix-a-build-warning-being-treated-as-error.patch +++ /dev/null | |||
| @@ -1,49 +0,0 @@ | |||
| 1 | From a635f49a5873a104c8867bd1f6375d7a5064be5e Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Anuj Mittal <anujx.mittal@intel.com> | ||
| 3 | Date: Thu, 8 Oct 2015 22:46:13 +0800 | ||
| 4 | Subject: [PATCH] ixgbe: fix a build warning being treated as error | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [other] | ||
| 7 | |||
| 8 | The change is part of a feature commit upstream (e0ba4e77605ab500518247cb6fab98dd3d87ba97) | ||
| 9 | that we don't want to backport. | ||
| 10 | |||
| 11 | Initialize the data byte to avoid warnings like: | ||
| 12 | |||
| 13 | lib/librte_pmd_ixgbe/ixgbe/ixgbe_phy.c: In function 'ixgbe_read_i2c_combined_generic': | ||
| 14 | lib/librte_pmd_ixgbe/ixgbe/ixgbe_phy.c:2101:9: error: 'low_bits' may be used | ||
| 15 | uninitialized in this function [-Werror=maybe-uninitialized] | ||
| 16 | *data |= bit << i; | ||
| 17 | ^ | ||
| 18 | dpdk/2.0.0-r0/dpdk-2.0.0/lib/librte_pmd_ixgbe/ixgbe/ixgbe_phy.c:120:5: note: | ||
| 19 | 'low_bits' was declared here | ||
| 20 | u8 low_bits; | ||
| 21 | ^ | ||
| 22 | lib/librte_pmd_ixgbe/ixgbe/ixgbe_phy.c:2101:9: error: 'high_bits' may be used | ||
| 23 | uninitialized in this function [-Werror=maybe-uninitialized] | ||
| 24 | *data |= bit << i; | ||
| 25 | ^ | ||
| 26 | lib/librte_pmd_ixgbe/ixgbe/ixgbe_phy.c:119:5: note: 'high_bits' was declared here | ||
| 27 | u8 high_bits; | ||
| 28 | |||
| 29 | Signed-off-by: Anuj Mittal <anujx.mittal@intel.com> | ||
| 30 | --- | ||
| 31 | lib/librte_pmd_ixgbe/ixgbe/ixgbe_phy.c | 2 +- | ||
| 32 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 33 | |||
| 34 | diff --git a/lib/librte_pmd_ixgbe/ixgbe/ixgbe_phy.c b/lib/librte_pmd_ixgbe/ixgbe/ixgbe_phy.c | ||
| 35 | index 2305448..ec34753 100644 | ||
| 36 | --- a/lib/librte_pmd_ixgbe/ixgbe/ixgbe_phy.c | ||
| 37 | +++ b/lib/librte_pmd_ixgbe/ixgbe/ixgbe_phy.c | ||
| 38 | @@ -2095,7 +2095,7 @@ STATIC s32 ixgbe_clock_in_i2c_byte(struct ixgbe_hw *hw, u8 *data) | ||
| 39 | bool bit = 0; | ||
| 40 | |||
| 41 | DEBUGFUNC("ixgbe_clock_in_i2c_byte"); | ||
| 42 | - | ||
| 43 | + *data = 0; | ||
| 44 | for (i = 7; i >= 0; i--) { | ||
| 45 | ixgbe_clock_in_i2c_bit(hw, &bit); | ||
| 46 | *data |= bit << i; | ||
| 47 | -- | ||
| 48 | 1.7.9.5 | ||
| 49 | |||
diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-1.8.0-kni-fix-build-with-kernel-3.19.patch b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-1.8.0-kni-fix-build-with-kernel-3.19.patch deleted file mode 100644 index 014fc63b..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-1.8.0-kni-fix-build-with-kernel-3.19.patch +++ /dev/null | |||
| @@ -1,69 +0,0 @@ | |||
| 1 | From 4e6326ae5375d55966a5c872f391cf99de373057 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Pablo de Lara <pablo.de.lara.guarch@intel.com> | ||
| 3 | Date: Sun, 22 Mar 2015 18:02:16 +0000 | ||
| 4 | Subject: [PATCH] kni: fix build with kernel 3.19 | ||
| 5 | |||
| 6 | Upstream-Status: Backport [2.1.0] | ||
| 7 | |||
| 8 | Due to API changes in functions ndo_dflt_bridge_getlink | ||
| 9 | (commit 2c3c031c) and ndo_fdb_add (commit f6f6424b) | ||
| 10 | in kernel 3.19, DPDK would not build. | ||
| 11 | |||
| 12 | This patch solves the problem, by checking the kernel version | ||
| 13 | and adding the necessary new parameters. | ||
| 14 | |||
| 15 | Mind that function igb_ndo_fdb_add does not need the extra parameter | ||
| 16 | if USE_CONST_DEV_UC_CHAR is not set, since that macro is only defined | ||
| 17 | when kernel is greater or equal than 3.7 | ||
| 18 | |||
| 19 | Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> | ||
| 20 | Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com> | ||
| 21 | (cherry picked from commit 98f255ed0a4a73bf785e884dc2069405de840546) | ||
| 22 | Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com> | ||
| 23 | --- | ||
| 24 | lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | 7 +++++++ | ||
| 25 | lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | 4 ++++ | ||
| 26 | 2 files changed, 11 insertions(+) | ||
| 27 | |||
| 28 | diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | ||
| 29 | index a802a02..24b147d 100644 | ||
| 30 | --- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | ||
| 31 | +++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | ||
| 32 | @@ -2103,6 +2103,9 @@ static int igb_set_features(struct net_device *netdev, | ||
| 33 | static int igb_ndo_fdb_add(struct ndmsg *ndm, struct nlattr *tb[], | ||
| 34 | struct net_device *dev, | ||
| 35 | const unsigned char *addr, | ||
| 36 | +#ifdef HAVE_NDO_FDB_ADD_VID | ||
| 37 | + u16 vid, | ||
| 38 | +#endif | ||
| 39 | u16 flags) | ||
| 40 | #else | ||
| 41 | static int igb_ndo_fdb_add(struct ndmsg *ndm, | ||
| 42 | @@ -2259,7 +2262,11 @@ static int igb_ndo_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq, | ||
| 43 | else | ||
| 44 | mode = BRIDGE_MODE_VEPA; | ||
| 45 | |||
| 46 | +#ifdef HAVE_NDO_FDB_ADD_VID | ||
| 47 | + return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode, 0, 0); | ||
| 48 | +#else | ||
| 49 | return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode); | ||
| 50 | +#endif /* HAVE_NDO_FDB_ADD_VID */ | ||
| 51 | } | ||
| 52 | #endif /* HAVE_BRIDGE_ATTRIBS */ | ||
| 53 | #endif /* NTF_SELF */ | ||
| 54 | diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | ||
| 55 | index 1213cc6..2e7e714 100644 | ||
| 56 | --- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | ||
| 57 | +++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | ||
| 58 | @@ -3881,4 +3881,8 @@ skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type) | ||
| 59 | #define HAVE_VF_MIN_MAX_TXRATE 1 | ||
| 60 | #endif /* >= 3.16.0 */ | ||
| 61 | |||
| 62 | +#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0) ) | ||
| 63 | +#define HAVE_NDO_FDB_ADD_VID | ||
| 64 | +#endif /* >= 3.19.0 */ | ||
| 65 | + | ||
| 66 | #endif /* _KCOMPAT_H_ */ | ||
| 67 | -- | ||
| 68 | 1.9.1 | ||
| 69 | |||
diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-1.8.0-mk-rework-gcc-version-detection-to-permit-versions-n.patch b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-1.8.0-mk-rework-gcc-version-detection-to-permit-versions-n.patch deleted file mode 100644 index 9bd0b66b..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-1.8.0-mk-rework-gcc-version-detection-to-permit-versions-n.patch +++ /dev/null | |||
| @@ -1,155 +0,0 @@ | |||
| 1 | From ccb0f3b60c1ec84a97698d9699a4b7e5cf074b21 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Panu Matilainen <pmatilai@redhat.com> | ||
| 3 | Date: Mon, 23 Feb 2015 16:53:56 +0200 | ||
| 4 | Subject: [PATCH] mk: rework gcc version detection to permit versions newer | ||
| 5 | than 4.x | ||
| 6 | |||
| 7 | Upstream-Status: Backport [2.1.0] | ||
| 8 | |||
| 9 | Separately comparing major and minor versions becomes seriously clumsy | ||
| 10 | when with major version changes, convert the entire version string into | ||
| 11 | a numeric value (ie 4.6.0 becomes 460 and 5.0.0 becomes 500) and use | ||
| 12 | that for comparisons, eliminate unnecessary negations while at it. | ||
| 13 | This makes the comparisons simpler, more obvious and makes gcc 5.0 | ||
| 14 | naturally recognized at least as capable as newest 4.x. | ||
| 15 | |||
| 16 | This three-digit scheme would run into trouble if gcc ever went to | ||
| 17 | two-digit version segments, but that hasn't happened in the last 10+ | ||
| 18 | years so it seems like a safe assumption. | ||
| 19 | |||
| 20 | Signed-off-by: Panu Matilainen <pmatilai@redhat.com> | ||
| 21 | Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com> | ||
| 22 | (cherry picked from commit 71f0ab1849b4fc3ca928deb566df12ca725ed150) | ||
| 23 | Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com> | ||
| 24 | |||
| 25 | Conflicts: | ||
| 26 | lib/librte_pmd_fm10k/Makefile | ||
| 27 | Makefile part of fm10k feature enabled as part of | ||
| 28 | commit a6061d9e7075b5457a9234117d75a2c05227457d which we ae not | ||
| 29 | backporting. Makefile changes not taken. | ||
| 30 | --- | ||
| 31 | lib/librte_pmd_i40e/Makefile | 2 +- | ||
| 32 | lib/librte_pmd_ixgbe/Makefile | 6 +++--- | ||
| 33 | lib/librte_pmd_vmxnet3/Makefile | 2 +- | ||
| 34 | mk/toolchain/gcc/rte.toolchain-compat.mk | 22 ++++++++++------------ | ||
| 35 | 4 files changed, 15 insertions(+), 17 deletions(-) | ||
| 36 | |||
| 37 | diff --git a/lib/librte_pmd_i40e/Makefile b/lib/librte_pmd_i40e/Makefile | ||
| 38 | index 98e4bdf..61c3675 100644 | ||
| 39 | --- a/lib/librte_pmd_i40e/Makefile | ||
| 40 | +++ b/lib/librte_pmd_i40e/Makefile | ||
| 41 | @@ -65,7 +65,7 @@ CFLAGS_BASE_DRIVER += -Wno-pointer-to-int-cast | ||
| 42 | CFLAGS_BASE_DRIVER += -Wno-format-nonliteral | ||
| 43 | CFLAGS_BASE_DRIVER += -Wno-format-security | ||
| 44 | |||
| 45 | -ifeq ($(shell test $(GCC_MAJOR_VERSION) -ge 4 -a $(GCC_MINOR_VERSION) -ge 4 && echo 1), 1) | ||
| 46 | +ifeq ($(shell test $(GCC_VERSION) -ge 440 && echo 1), 1) | ||
| 47 | CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable | ||
| 48 | endif | ||
| 49 | |||
| 50 | diff --git a/lib/librte_pmd_ixgbe/Makefile b/lib/librte_pmd_ixgbe/Makefile | ||
| 51 | index 3588047..592fe74 100644 | ||
| 52 | --- a/lib/librte_pmd_ixgbe/Makefile | ||
| 53 | +++ b/lib/librte_pmd_ixgbe/Makefile | ||
| 54 | @@ -56,18 +56,18 @@ else | ||
| 55 | # | ||
| 56 | # CFLAGS for gcc | ||
| 57 | # | ||
| 58 | -ifneq ($(shell test $(GCC_MAJOR_VERSION) -le 4 -a $(GCC_MINOR_VERSION) -le 3 && echo 1), 1) | ||
| 59 | +ifeq ($(shell test $(GCC_VERSION) -ge 440 && echo 1), 1) | ||
| 60 | CFLAGS += -Wno-deprecated | ||
| 61 | endif | ||
| 62 | CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value | ||
| 63 | CFLAGS_BASE_DRIVER += -Wno-strict-aliasing -Wno-format-extra-args | ||
| 64 | |||
| 65 | -ifeq ($(shell test $(GCC_MAJOR_VERSION) -ge 4 -a $(GCC_MINOR_VERSION) -ge 6 && echo 1), 1) | ||
| 66 | +ifeq ($(shell test $(GCC_VERSION) -ge 460 && echo 1), 1) | ||
| 67 | CFLAGS_ixgbe_common.o += -Wno-unused-but-set-variable | ||
| 68 | CFLAGS_ixgbe_x550.o += -Wno-unused-but-set-variable -Wno-maybe-uninitialized | ||
| 69 | endif | ||
| 70 | |||
| 71 | -ifeq ($(shell test $(GCC_MAJOR_VERSION) -le 4 -a $(GCC_MINOR_VERSION) -le 6 && echo 1), 1) | ||
| 72 | +ifeq ($(shell test $(GCC_VERSION) -le 460 && echo 1), 1) | ||
| 73 | CFLAGS_ixgbe_x550.o += -Wno-uninitialized | ||
| 74 | CFLAGS_ixgbe_phy.o += -Wno-uninitialized | ||
| 75 | endif | ||
| 76 | diff --git a/lib/librte_pmd_vmxnet3/Makefile b/lib/librte_pmd_vmxnet3/Makefile | ||
| 77 | index 6872c74..3b7674e 100644 | ||
| 78 | --- a/lib/librte_pmd_vmxnet3/Makefile | ||
| 79 | +++ b/lib/librte_pmd_vmxnet3/Makefile | ||
| 80 | @@ -56,7 +56,7 @@ else | ||
| 81 | # | ||
| 82 | # CFLAGS for gcc | ||
| 83 | # | ||
| 84 | -ifneq ($(shell test $(GCC_MAJOR_VERSION) -le 4 -a $(GCC_MINOR_VERSION) -le 3 && echo 1), 1) | ||
| 85 | +ifeq ($(shell test $(GCC_VERSION) -ge 440 && echo 1), 1) | ||
| 86 | CFLAGS += -Wno-deprecated | ||
| 87 | endif | ||
| 88 | CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value | ||
| 89 | diff --git a/mk/toolchain/gcc/rte.toolchain-compat.mk b/mk/toolchain/gcc/rte.toolchain-compat.mk | ||
| 90 | index e40e103..a867559 100644 | ||
| 91 | --- a/mk/toolchain/gcc/rte.toolchain-compat.mk | ||
| 92 | +++ b/mk/toolchain/gcc/rte.toolchain-compat.mk | ||
| 93 | @@ -38,17 +38,15 @@ | ||
| 94 | |||
| 95 | #find out GCC version | ||
| 96 | |||
| 97 | -GCC_MAJOR_VERSION = $(shell $(CC) -dumpversion | cut -f1 -d.) | ||
| 98 | +GCC_VERSION = $(subst .,,$(shell $(CC) -dumpversion)) | ||
| 99 | |||
| 100 | -# if GCC is not 4.x | ||
| 101 | -ifneq ($(GCC_MAJOR_VERSION),4) | ||
| 102 | +# if GCC is older than 4.x | ||
| 103 | +ifeq ($(shell test $(GCC_VERSION) -lt 400 && echo 1), 1) | ||
| 104 | MACHINE_CFLAGS = | ||
| 105 | -$(warning You are not using GCC 4.x. This is neither supported, nor tested.) | ||
| 106 | +$(warning You are using GCC < 4.x. This is neither supported, nor tested.) | ||
| 107 | |||
| 108 | |||
| 109 | else | ||
| 110 | - GCC_MINOR_VERSION = $(shell $(CC) -dumpversion | cut -f2 -d.) | ||
| 111 | - | ||
| 112 | # GCC graceful degradation | ||
| 113 | # GCC 4.2.x - added support for generic target | ||
| 114 | # GCC 4.3.x - added support for core2, ssse3, sse4.1, sse4.2 | ||
| 115 | @@ -57,18 +55,18 @@ else | ||
| 116 | # GCC 4.6.x - added support for corei7, corei7-avx | ||
| 117 | # GCC 4.7.x - added support for fsgsbase, rdrnd, f16c, core-avx-i, core-avx2 | ||
| 118 | |||
| 119 | - ifeq ($(shell test $(GCC_MINOR_VERSION) -le 7 && echo 1), 1) | ||
| 120 | + ifeq ($(shell test $(GCC_VERSION) -le 470 && echo 1), 1) | ||
| 121 | MACHINE_CFLAGS := $(patsubst -march=core-avx-i,-march=corei7-avx,$(MACHINE_CFLAGS)) | ||
| 122 | MACHINE_CFLAGS := $(patsubst -march=core-avx2,-march=core-avx2,$(MACHINE_CFLAGS)) | ||
| 123 | endif | ||
| 124 | - ifeq ($(shell test $(GCC_MINOR_VERSION) -lt 6 && echo 1), 1) | ||
| 125 | + ifeq ($(shell test $(GCC_VERSION) -lt 460 && echo 1), 1) | ||
| 126 | MACHINE_CFLAGS := $(patsubst -march=corei7-avx,-march=core2 -maes -mpclmul -mavx,$(MACHINE_CFLAGS)) | ||
| 127 | MACHINE_CFLAGS := $(patsubst -march=corei7,-march=core2 -maes -mpclmul,$(MACHINE_CFLAGS)) | ||
| 128 | endif | ||
| 129 | - ifeq ($(shell test $(GCC_MINOR_VERSION) -lt 5 && echo 1), 1) | ||
| 130 | + ifeq ($(shell test $(GCC_VERSION) -lt 450 && echo 1), 1) | ||
| 131 | MACHINE_CFLAGS := $(patsubst -march=atom,-march=core2 -mssse3,$(MACHINE_CFLAGS)) | ||
| 132 | endif | ||
| 133 | - ifeq ($(shell test $(GCC_MINOR_VERSION) -lt 4 && echo 1), 1) | ||
| 134 | + ifeq ($(shell test $(GCC_VERSION) -lt 440 && echo 1), 1) | ||
| 135 | MACHINE_CFLAGS := $(filter-out -mavx -mpclmul -maes,$(MACHINE_CFLAGS)) | ||
| 136 | ifneq ($(findstring SSE4_2, $(CPUFLAGS)),) | ||
| 137 | MACHINE_CFLAGS += -msse4.2 | ||
| 138 | @@ -77,12 +75,12 @@ else | ||
| 139 | MACHINE_CFLAGS += -msse4.1 | ||
| 140 | endif | ||
| 141 | endif | ||
| 142 | - ifeq ($(shell test $(GCC_MINOR_VERSION) -lt 3 && echo 1), 1) | ||
| 143 | + ifeq ($(shell test $(GCC_VERSION) -lt 430 && echo 1), 1) | ||
| 144 | MACHINE_CFLAGS := $(filter-out -msse% -mssse%,$(MACHINE_CFLAGS)) | ||
| 145 | MACHINE_CFLAGS := $(patsubst -march=core2,-march=generic,$(MACHINE_CFLAGS)) | ||
| 146 | MACHINE_CFLAGS += -msse3 | ||
| 147 | endif | ||
| 148 | - ifeq ($(shell test $(GCC_MINOR_VERSION) -lt 2 && echo 1), 1) | ||
| 149 | + ifeq ($(shell test $(GCC_VERSION) -lt 420 && echo 1), 1) | ||
| 150 | MACHINE_CFLAGS := $(filter-out -march% -mtune% -msse%,$(MACHINE_CFLAGS)) | ||
| 151 | endif | ||
| 152 | endif | ||
| 153 | -- | ||
| 154 | 1.9.1 | ||
| 155 | |||
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 deleted file mode 100644 index 625f0146..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-2.0.0-kni-fix-build-with-kernel-4.0.patch +++ /dev/null | |||
| @@ -1,58 +0,0 @@ | |||
| 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 | |||
diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-2.0.0-kni-fix-igb-build-with-kernel-4.1.patch b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-2.0.0-kni-fix-igb-build-with-kernel-4.1.patch deleted file mode 100644 index b76f501e..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-2.0.0-kni-fix-igb-build-with-kernel-4.1.patch +++ /dev/null | |||
| @@ -1,70 +0,0 @@ | |||
| 1 | From 97ebf687c7a635ac6f1b1e22293ed7405668c66e Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
| 3 | Date: Fri, 26 Jun 2015 17:14:35 -0500 | ||
| 4 | Subject: [PATCH] kni: fix igb build with kernel 4.1 | ||
| 5 | |||
| 6 | Upstream-Status: Backport [2.1.0] | ||
| 7 | |||
| 8 | ndo_bridge_getlink has changed in kernel release 4.1. It | ||
| 9 | adds new parameter which breaks compilation. | ||
| 10 | |||
| 11 | This patch add the properly checks to fix it. | ||
| 12 | |||
| 13 | Linux: 46c264daaaa5 ("bridge/nl: remove wrong use of NLM_F_MULTI") | ||
| 14 | |||
| 15 | Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
| 16 | Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> | ||
| 17 | Signed-off-by: Anuj Mittal <anujx.mittal@intel.com> | ||
| 18 | --- | ||
| 19 | lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | 10 ++++++++++ | ||
| 20 | lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | 5 +++++ | ||
| 21 | 2 files changed, 15 insertions(+) | ||
| 22 | |||
| 23 | diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | ||
| 24 | index bc3c6a3..b99b365 100644 | ||
| 25 | --- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | ||
| 26 | +++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | ||
| 27 | @@ -2250,8 +2250,14 @@ static int igb_ndo_bridge_setlink(struct net_device *dev, | ||
| 28 | } | ||
| 29 | |||
| 30 | #ifdef HAVE_BRIDGE_FILTER | ||
| 31 | +#ifdef HAVE_NDO_BRIDGE_GETLINK_FILTER_MASK | ||
| 32 | +static int igb_ndo_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq, | ||
| 33 | + struct net_device *dev, u32 filter_mask, | ||
| 34 | + int nlflags) | ||
| 35 | +#else | ||
| 36 | static int igb_ndo_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq, | ||
| 37 | struct net_device *dev, u32 filter_mask) | ||
| 38 | +#endif /* HAVE_NDO_BRIDGE_GETLINK_FILTER_MASK */ | ||
| 39 | #else | ||
| 40 | static int igb_ndo_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq, | ||
| 41 | struct net_device *dev) | ||
| 42 | @@ -2269,7 +2275,11 @@ static int igb_ndo_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq, | ||
| 43 | mode = BRIDGE_MODE_VEPA; | ||
| 44 | |||
| 45 | #ifdef HAVE_NDO_FDB_ADD_VID | ||
| 46 | +#ifdef HAVE_NDO_BRIDGE_GETLINK_FILTER_MASK | ||
| 47 | + return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode, 0, 0, nlflags); | ||
| 48 | +#else | ||
| 49 | return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode, 0, 0); | ||
| 50 | +#endif /* HAVE_NDO_BRIDGE_GETLINK_FILTER_MASK */ | ||
| 51 | #else | ||
| 52 | return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode); | ||
| 53 | #endif /* HAVE_NDO_FDB_ADD_VID */ | ||
| 54 | diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | ||
| 55 | index 54d1f86..2673281 100644 | ||
| 56 | --- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | ||
| 57 | +++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | ||
| 58 | @@ -3891,4 +3891,9 @@ skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type) | ||
| 59 | #define vlan_tx_tag_present skb_vlan_tag_present | ||
| 60 | #define HAVE_NDO_BRIDGE_SET_DEL_LINK_FLAGS | ||
| 61 | #endif /* 4.0.0 */ | ||
| 62 | + | ||
| 63 | +#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(4,1,0) ) | ||
| 64 | +/* ndo_bridge_getlink adds new nlflags parameter */ | ||
| 65 | +#define HAVE_NDO_BRIDGE_GETLINK_FILTER_MASK | ||
| 66 | +#endif /* >= 4.1.0 */ | ||
| 67 | #endif /* _KCOMPAT_H_ */ | ||
| 68 | -- | ||
| 69 | 1.7.9.5 | ||
| 70 | |||
diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-2.0.0-kni-fix-vhost-build-with-kernel-4.1.patch b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-2.0.0-kni-fix-vhost-build-with-kernel-4.1.patch deleted file mode 100644 index 1fcf12b4..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-2.0.0-kni-fix-vhost-build-with-kernel-4.1.patch +++ /dev/null | |||
| @@ -1,69 +0,0 @@ | |||
| 1 | From 289840d86ddaec3310ee1d6a85fe6f20384de615 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
| 3 | Date: Fri, 26 Jun 2015 17:14:37 -0500 | ||
| 4 | Subject: [PATCH 2/2] kni: fix vhost build with kernel 4.1 | ||
| 5 | |||
| 6 | Upstream-Status: Backport [2.1.0] | ||
| 7 | |||
| 8 | Parameters from sendmsg and recvmsg has been changed in 4.1 kernel. | ||
| 9 | The function pointers belong to proto_ops structure were updated removing | ||
| 10 | the struct kiocb parameter. | ||
| 11 | |||
| 12 | Linux: 1b784140474e ("net: Remove iocb argument from sendmsg and recvmsg") | ||
| 13 | |||
| 14 | Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
| 15 | Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> | ||
| 16 | (cherry picked from commit 8d8fb8aa5836e719d5fb896693b16afabd5118b9) | ||
| 17 | Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com> | ||
| 18 | --- | ||
| 19 | lib/librte_eal/linuxapp/kni/compat.h | 4 ++++ | ||
| 20 | lib/librte_eal/linuxapp/kni/kni_vhost.c | 10 ++++++++++ | ||
| 21 | 2 files changed, 14 insertions(+) | ||
| 22 | |||
| 23 | diff --git a/lib/librte_eal/linuxapp/kni/compat.h b/lib/librte_eal/linuxapp/kni/compat.h | ||
| 24 | index 1ad22ba..cf100b6 100644 | ||
| 25 | --- a/lib/librte_eal/linuxapp/kni/compat.h | ||
| 26 | +++ b/lib/librte_eal/linuxapp/kni/compat.h | ||
| 27 | @@ -23,3 +23,7 @@ | ||
| 28 | #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0) | ||
| 29 | #define HAVE_IOV_ITER_MSGHDR | ||
| 30 | #endif | ||
| 31 | + | ||
| 32 | +#if ( LINUX_VERSION_CODE < KERNEL_VERSION(4,1,0) ) | ||
| 33 | +#define HAVE_KIOCB_MSG_PARAM | ||
| 34 | +#endif /* < 4.1.0 */ | ||
| 35 | diff --git a/lib/librte_eal/linuxapp/kni/kni_vhost.c b/lib/librte_eal/linuxapp/kni/kni_vhost.c | ||
| 36 | index 83d3351..4611ff4 100644 | ||
| 37 | --- a/lib/librte_eal/linuxapp/kni/kni_vhost.c | ||
| 38 | +++ b/lib/librte_eal/linuxapp/kni/kni_vhost.c | ||
| 39 | @@ -353,8 +353,13 @@ except: | ||
| 40 | } | ||
| 41 | |||
| 42 | static int | ||
| 43 | +#ifdef HAVE_KIOCB_MSG_PARAM | ||
| 44 | kni_sock_sndmsg(struct kiocb *iocb, struct socket *sock, | ||
| 45 | struct msghdr *m, size_t total_len) | ||
| 46 | +#else | ||
| 47 | +kni_sock_sndmsg(struct socket *sock, | ||
| 48 | + struct msghdr *m, size_t total_len) | ||
| 49 | +#endif /* HAVE_KIOCB_MSG_PARAM */ | ||
| 50 | { | ||
| 51 | struct kni_vhost_queue *q = | ||
| 52 | container_of(sock->sk, struct kni_vhost_queue, sk); | ||
| 53 | @@ -387,8 +392,13 @@ kni_sock_sndmsg(struct kiocb *iocb, struct socket *sock, | ||
| 54 | } | ||
| 55 | |||
| 56 | static int | ||
| 57 | +#ifdef HAVE_KIOCB_MSG_PARAM | ||
| 58 | kni_sock_rcvmsg(struct kiocb *iocb, struct socket *sock, | ||
| 59 | struct msghdr *m, size_t len, int flags) | ||
| 60 | +#else | ||
| 61 | +kni_sock_rcvmsg(struct socket *sock, | ||
| 62 | + struct msghdr *m, size_t len, int flags) | ||
| 63 | +#endif /* HAVE_KIOCB_MSG_PARAM */ | ||
| 64 | { | ||
| 65 | int vnet_hdr_len = 0; | ||
| 66 | int pkt_len = 0; | ||
| 67 | -- | ||
| 68 | 1.9.1 | ||
| 69 | |||
diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-2.0.0-kni-fix-vhost-build-with-kernels-3.19-and-4.0.patch b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-2.0.0-kni-fix-vhost-build-with-kernels-3.19-and-4.0.patch deleted file mode 100644 index a083fb1e..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-2.0.0-kni-fix-vhost-build-with-kernels-3.19-and-4.0.patch +++ /dev/null | |||
| @@ -1,141 +0,0 @@ | |||
| 1 | From d4903f024ede0e54cc5e025e2cb54309b1164d22 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Pablo de Lara <pablo.de.lara.guarch@intel.com> | ||
| 3 | Date: Tue, 5 May 2015 15:08:00 +0100 | ||
| 4 | Subject: [PATCH 1/2] kni: fix vhost build with kernels 3.19 and 4.0 | ||
| 5 | |||
| 6 | Upstream-Status: Backport [2.1.0] | ||
| 7 | |||
| 8 | Due to commit c0371da6 in kernel 3.19, which removed msg_iov | ||
| 9 | and msg_iovlen from struct msghdr, DPDK would not build. | ||
| 10 | Also, functions memcpy_toiovecend and memcpy_fromiovecend | ||
| 11 | were removed in commits ba7438ae and 57dd8a07, being substituted by | ||
| 12 | copy_from_iter and copy_to_iter. | ||
| 13 | |||
| 14 | This patch makes use of struct iov_iter, which has references | ||
| 15 | to msg_iov and msg_iovln, and makes use of copy_from_iter | ||
| 16 | and copy_to_iter. | ||
| 17 | |||
| 18 | Reported-by: Thomas Monjalon <thomas.monjalon@6wind.com> | ||
| 19 | Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> | ||
| 20 | (cherry picked from commit 45e63ba8db314f75b8c969f3f952dee87f209129) | ||
| 21 | Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com> | ||
| 22 | --- | ||
| 23 | lib/librte_eal/linuxapp/kni/compat.h | 4 ++++ | ||
| 24 | lib/librte_eal/linuxapp/kni/kni_vhost.c | 37 ++++++++++++++++++++++++++------- | ||
| 25 | 2 files changed, 33 insertions(+), 8 deletions(-) | ||
| 26 | |||
| 27 | diff --git a/lib/librte_eal/linuxapp/kni/compat.h b/lib/librte_eal/linuxapp/kni/compat.h | ||
| 28 | index 1313523..1ad22ba 100644 | ||
| 29 | --- a/lib/librte_eal/linuxapp/kni/compat.h | ||
| 30 | +++ b/lib/librte_eal/linuxapp/kni/compat.h | ||
| 31 | @@ -19,3 +19,7 @@ | ||
| 32 | #define sk_sleep(s) (s)->sk_sleep | ||
| 33 | |||
| 34 | #endif /* < 2.6.35 */ | ||
| 35 | + | ||
| 36 | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0) | ||
| 37 | +#define HAVE_IOV_ITER_MSGHDR | ||
| 38 | +#endif | ||
| 39 | diff --git a/lib/librte_eal/linuxapp/kni/kni_vhost.c b/lib/librte_eal/linuxapp/kni/kni_vhost.c | ||
| 40 | index 7141f83..83d3351 100644 | ||
| 41 | --- a/lib/librte_eal/linuxapp/kni/kni_vhost.c | ||
| 42 | +++ b/lib/librte_eal/linuxapp/kni/kni_vhost.c | ||
| 43 | @@ -76,7 +76,7 @@ static struct proto kni_raw_proto = { | ||
| 44 | }; | ||
| 45 | |||
| 46 | static inline int | ||
| 47 | -kni_vhost_net_tx(struct kni_dev *kni, struct iovec *iov, | ||
| 48 | +kni_vhost_net_tx(struct kni_dev *kni, struct msghdr *m, | ||
| 49 | unsigned offset, unsigned len) | ||
| 50 | { | ||
| 51 | struct rte_kni_mbuf *pkt_kva = NULL; | ||
| 52 | @@ -84,7 +84,11 @@ kni_vhost_net_tx(struct kni_dev *kni, struct iovec *iov, | ||
| 53 | int ret; | ||
| 54 | |||
| 55 | KNI_DBG_TX("tx offset=%d, len=%d, iovlen=%d\n", | ||
| 56 | - offset, len, (int)iov->iov_len); | ||
| 57 | +#ifdef HAVE_IOV_ITER_MSGHDR | ||
| 58 | + offset, len, (int)m->msg_iter.iov->iov_len); | ||
| 59 | +#else | ||
| 60 | + offset, len, (int)m->msg_iov->iov_len); | ||
| 61 | +#endif | ||
| 62 | |||
| 63 | /** | ||
| 64 | * Check if it has at least one free entry in tx_q and | ||
| 65 | @@ -108,7 +112,12 @@ kni_vhost_net_tx(struct kni_dev *kni, struct iovec *iov, | ||
| 66 | data_kva = pkt_kva->buf_addr + pkt_kva->data_off | ||
| 67 | - kni->mbuf_va + kni->mbuf_kva; | ||
| 68 | |||
| 69 | - memcpy_fromiovecend(data_kva, iov, offset, len); | ||
| 70 | +#ifdef HAVE_IOV_ITER_MSGHDR | ||
| 71 | + copy_from_iter(data_kva, len, &m->msg_iter); | ||
| 72 | +#else | ||
| 73 | + memcpy_fromiovecend(data_kva, m->msg_iov, offset, len); | ||
| 74 | +#endif | ||
| 75 | + | ||
| 76 | if (unlikely(len < ETH_ZLEN)) { | ||
| 77 | memset(data_kva + len, 0, ETH_ZLEN - len); | ||
| 78 | len = ETH_ZLEN; | ||
| 79 | @@ -143,7 +152,7 @@ drop: | ||
| 80 | } | ||
| 81 | |||
| 82 | static inline int | ||
| 83 | -kni_vhost_net_rx(struct kni_dev *kni, struct iovec *iov, | ||
| 84 | +kni_vhost_net_rx(struct kni_dev *kni, struct msghdr *m, | ||
| 85 | unsigned offset, unsigned len) | ||
| 86 | { | ||
| 87 | uint32_t pkt_len; | ||
| 88 | @@ -177,10 +186,18 @@ kni_vhost_net_rx(struct kni_dev *kni, struct iovec *iov, | ||
| 89 | goto drop; | ||
| 90 | |||
| 91 | KNI_DBG_RX("rx offset=%d, len=%d, pkt_len=%d, iovlen=%d\n", | ||
| 92 | - offset, len, pkt_len, (int)iov->iov_len); | ||
| 93 | +#ifdef HAVE_IOV_ITER_MSGHDR | ||
| 94 | + offset, len, pkt_len, (int)m->msg_iter.iov->iov_len); | ||
| 95 | +#else | ||
| 96 | + offset, len, pkt_len, (int)m->msg_iov->iov_len); | ||
| 97 | +#endif | ||
| 98 | |||
| 99 | data_kva = kva->buf_addr + kva->data_off - kni->mbuf_va + kni->mbuf_kva; | ||
| 100 | - if (unlikely(memcpy_toiovecend(iov, data_kva, offset, pkt_len))) | ||
| 101 | +#ifdef HAVE_IOV_ITER_MSGHDR | ||
| 102 | + if (unlikely(copy_to_iter(data_kva, pkt_len, &m->msg_iter))) | ||
| 103 | +#else | ||
| 104 | + if (unlikely(memcpy_toiovecend(m->msg_iov, data_kva, offset, pkt_len))) | ||
| 105 | +#endif | ||
| 106 | goto drop; | ||
| 107 | |||
| 108 | /* Update statistics */ | ||
| 109 | @@ -348,7 +365,11 @@ kni_sock_sndmsg(struct kiocb *iocb, struct socket *sock, | ||
| 110 | return 0; | ||
| 111 | |||
| 112 | KNI_DBG_TX("kni_sndmsg len %ld, flags 0x%08x, nb_iov %d\n", | ||
| 113 | +#ifdef HAVE_IOV_ITER_MSGHDR | ||
| 114 | + len, q->flags, (int)m->msg_iter.iov->iov_len); | ||
| 115 | +#else | ||
| 116 | len, q->flags, (int)m->msg_iovlen); | ||
| 117 | +#endif | ||
| 118 | |||
| 119 | #ifdef RTE_KNI_VHOST_VNET_HDR_EN | ||
| 120 | if (likely(q->flags & IFF_VNET_HDR)) { | ||
| 121 | @@ -362,7 +383,7 @@ kni_sock_sndmsg(struct kiocb *iocb, struct socket *sock, | ||
| 122 | if (unlikely(len < ETH_HLEN + q->vnet_hdr_sz)) | ||
| 123 | return -EINVAL; | ||
| 124 | |||
| 125 | - return kni_vhost_net_tx(q->kni, m->msg_iov, vnet_hdr_len, len); | ||
| 126 | + return kni_vhost_net_tx(q->kni, m, vnet_hdr_len, len); | ||
| 127 | } | ||
| 128 | |||
| 129 | static int | ||
| 130 | @@ -391,7 +412,7 @@ kni_sock_rcvmsg(struct kiocb *iocb, struct socket *sock, | ||
| 131 | #endif | ||
| 132 | |||
| 133 | if (unlikely(0 == (pkt_len = kni_vhost_net_rx(q->kni, | ||
| 134 | - m->msg_iov, vnet_hdr_len, len)))) | ||
| 135 | + m, vnet_hdr_len, len)))) | ||
| 136 | return 0; | ||
| 137 | |||
| 138 | #ifdef RTE_KNI_VHOST_VNET_HDR_EN | ||
| 139 | -- | ||
| 140 | 1.9.1 | ||
| 141 | |||
diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-2.0.0-kni-net-fix-build-with-kernel-4.1.patch b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-2.0.0-kni-net-fix-build-with-kernel-4.1.patch deleted file mode 100644 index 2a4dd638..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-2.0.0-kni-net-fix-build-with-kernel-4.1.patch +++ /dev/null | |||
| @@ -1,54 +0,0 @@ | |||
| 1 | From abb59c037a74d822e402f9d9a3d6c4d06ce7c748 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
| 3 | Date: Fri, 26 Jun 2015 17:14:36 -0500 | ||
| 4 | Subject: [PATCH] kni: fix build with kernel 4.1 | ||
| 5 | |||
| 6 | Upstream-Status: Backport [2.1.1] | ||
| 7 | |||
| 8 | rebuild member was removed from headers_ops in kernel release | ||
| 9 | 4.1. Therefore kni module compilation breaks. | ||
| 10 | |||
| 11 | This patch add the properly checks to fix it. | ||
| 12 | |||
| 13 | Linux: d476059e77d1 ("net: Kill dev_rebuild_header") | ||
| 14 | |||
| 15 | Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
| 16 | Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> | ||
| 17 | Signed-off-by: Anuj Mittal <anujx.mittal@intel.com> | ||
| 18 | --- | ||
| 19 | lib/librte_eal/linuxapp/kni/kni_net.c | 4 ++++ | ||
| 20 | 1 file changed, 4 insertions(+) | ||
| 21 | |||
| 22 | diff --git a/lib/librte_eal/linuxapp/kni/kni_net.c b/lib/librte_eal/linuxapp/kni/kni_net.c | ||
| 23 | index dd95db5..c515870 100644 | ||
| 24 | --- a/lib/librte_eal/linuxapp/kni/kni_net.c | ||
| 25 | +++ b/lib/librte_eal/linuxapp/kni/kni_net.c | ||
| 26 | @@ -604,6 +604,7 @@ kni_net_header(struct sk_buff *skb, struct net_device *dev, | ||
| 27 | /* | ||
| 28 | * Re-fill the eth header | ||
| 29 | */ | ||
| 30 | +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 1, 0)) | ||
| 31 | static int | ||
| 32 | kni_net_rebuild_header(struct sk_buff *skb) | ||
| 33 | { | ||
| 34 | @@ -615,6 +616,7 @@ kni_net_rebuild_header(struct sk_buff *skb) | ||
| 35 | |||
| 36 | return 0; | ||
| 37 | } | ||
| 38 | +#endif /* < 4.1.0 */ | ||
| 39 | |||
| 40 | /** | ||
| 41 | * kni_net_set_mac - Change the Ethernet Address of the KNI NIC | ||
| 42 | @@ -634,7 +636,9 @@ static int kni_net_set_mac(struct net_device *netdev, void *p) | ||
| 43 | |||
| 44 | static const struct header_ops kni_net_header_ops = { | ||
| 45 | .create = kni_net_header, | ||
| 46 | +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 1, 0)) | ||
| 47 | .rebuild = kni_net_rebuild_header, | ||
| 48 | +#endif /* < 4.1.0 */ | ||
| 49 | .cache = NULL, /* disable caching */ | ||
| 50 | }; | ||
| 51 | |||
| 52 | -- | ||
| 53 | 1.7.9.5 | ||
| 54 | |||
diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk_1.8.0.bb b/meta-isg/common/recipes-extended/dpdk/dpdk_1.8.0.bb deleted file mode 100644 index 82f801e8..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk_1.8.0.bb +++ /dev/null | |||
| @@ -1,22 +0,0 @@ | |||
| 1 | include dpdk.inc | ||
| 2 | |||
| 3 | SRC_URI += "file://dpdk-1.8.0-and-2.0.0-examples-add-config-variable-to-enable-disable-dpdk.patch \ | ||
| 4 | file://dpdk-1.8.0-and-2.0.0-ixgbe-fix-a-build-warning-being-treated-as-error.patch \ | ||
| 5 | file://dpdk-1.8.0-kni-fix-build-with-kernel-3.19.patch \ | ||
| 6 | file://dpdk-2.0.0-kni-fix-build-with-kernel-4.0.patch \ | ||
| 7 | file://dpdk-2.0.0-kni-fix-igb-build-with-kernel-4.1.patch \ | ||
| 8 | file://dpdk-2.0.0-kni-net-fix-build-with-kernel-4.1.patch \ | ||
| 9 | file://dpdk-1.8.0-mk-rework-gcc-version-detection-to-permit-versions-n.patch \ | ||
| 10 | " | ||
| 11 | |||
| 12 | SRC_URI[dpdk.md5sum] = "11ad8785aaa869cc87265bcb8d828f22" | ||
| 13 | SRC_URI[dpdk.sha256sum] = "9f5386830bd999355182e20408f3fc2cfa0802a4497fdded8d43202feede1939" | ||
| 14 | |||
| 15 | export EXAMPLES_BUILD_DIR = "${RTE_TARGET}" | ||
| 16 | export ARCHDIR = "generic" | ||
| 17 | |||
| 18 | do_install_append () { | ||
| 19 | |||
| 20 | install -m 0755 -d ${D}/${INSTALL_PATH}/${RTE_TARGET}/hostapp | ||
| 21 | install -m 0755 ${S}/${RTE_TARGET}/hostapp/* ${D}/${INSTALL_PATH}/${RTE_TARGET}/hostapp/ | ||
| 22 | } | ||
diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk_2.0.0.bb b/meta-isg/common/recipes-extended/dpdk/dpdk_2.0.0.bb deleted file mode 100644 index e45d6b8a..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk_2.0.0.bb +++ /dev/null | |||
| @@ -1,17 +0,0 @@ | |||
| 1 | include dpdk.inc | ||
| 2 | |||
| 3 | SRC_URI += "file://dpdk-2.0.0-dpdk-enable-ip_fragmentation-in-common_linuxapp.patch \ | ||
| 4 | file://dpdk-1.8.0-and-2.0.0-examples-add-config-variable-to-enable-disable-dpdk.patch \ | ||
| 5 | file://dpdk-1.8.0-and-2.0.0-ixgbe-fix-a-build-warning-being-treated-as-error.patch \ | ||
| 6 | file://dpdk-2.0.0-kni-fix-build-with-kernel-4.0.patch \ | ||
| 7 | file://dpdk-2.0.0-kni-fix-igb-build-with-kernel-4.1.patch \ | ||
| 8 | file://dpdk-2.0.0-kni-net-fix-build-with-kernel-4.1.patch \ | ||
| 9 | file://dpdk-2.0.0-kni-fix-vhost-build-with-kernels-3.19-and-4.0.patch \ | ||
| 10 | file://dpdk-2.0.0-kni-fix-vhost-build-with-kernel-4.1.patch \ | ||
| 11 | " | ||
| 12 | |||
| 13 | SRC_URI[dpdk.md5sum] = "e9e7935c9eec920841ad373949514934" | ||
| 14 | SRC_URI[dpdk.sha256sum] = "643789a3be5ba44dd84d6b248cdf5471b260f8736dada177dadf076aebfbff3f" | ||
| 15 | |||
| 16 | export EXAMPLES_BUILD_DIR = "${RTE_TARGET}" | ||
| 17 | export ARCHDIR = "generic" | ||
