From 02e4a4c0175ff4aaf52c5fb9769bca41cb0efe78 Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Wed, 20 Jan 2016 14:39:11 +0200 Subject: [PATCH] Update to dpdk 2.2.0 --- .gitignore | 1 + dpdk-2.1-dtneeded.patch | 24 ----- dpdk-2.1-examples.patch | 21 ----- dpdk-2.2-dtneeded.patch | 152 +++++++++++++++++++++++++++++++ dpdk-2.2-examples.patch | 24 +++++ dpdk-2.2-warningflags.patch | 24 +++++ dpdk-dtneeded-2.2-accepted.patch | 11 --- dpdk.spec | 16 ++-- sources | 2 +- 9 files changed, 212 insertions(+), 63 deletions(-) delete mode 100644 dpdk-2.1-dtneeded.patch delete mode 100644 dpdk-2.1-examples.patch create mode 100644 dpdk-2.2-dtneeded.patch create mode 100644 dpdk-2.2-examples.patch create mode 100644 dpdk-2.2-warningflags.patch delete mode 100644 dpdk-dtneeded-2.2-accepted.patch diff --git a/.gitignore b/.gitignore index 4931e6c..2242bc6 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /dpdk-1.7.0.tar.gz /dpdk-2.0.0.tar.gz /dpdk-2.1.0.tar.gz +/dpdk-2.2.0.tar.gz diff --git a/dpdk-2.1-dtneeded.patch b/dpdk-2.1-dtneeded.patch deleted file mode 100644 index 7cb220a..0000000 --- a/dpdk-2.1-dtneeded.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up dpdk-2.0.0/lib/librte_eal/linuxapp/eal/Makefile.dtneeded dpdk-2.0.0/lib/librte_eal/linuxapp/eal/Makefile ---- dpdk-2.0.0/lib/librte_eal/linuxapp/eal/Makefile.dtneeded 2015-04-03 17:13:45.000000000 +0300 -+++ dpdk-2.0.0/lib/librte_eal/linuxapp/eal/Makefile 2015-04-17 15:23:38.267984467 +0300 -@@ -53,6 +53,8 @@ CFLAGS += -I$(RTE_SDK)/drivers/net/af_packet - CFLAGS += -I$(RTE_SDK)/lib/librte_ivshmem - CFLAGS += $(WERROR_FLAGS) -O3 - -+LDLIBS += -ldl -lpthread -+ - # specific to linuxapp exec-env - SRCS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) := eal.c - SRCS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += eal_hugepage_info.c -diff -up dpdk-2.1.0/drivers/net/pcap/Makefile.dtneeded dpdk-2.0.0/lib/librte_pmd_pcap/Makefile ---- dpdk-2.1.0/drivers/net/pcap/Makefile.dtneeded 2015-04-03 17:13:45.000000000 +0300 -+++ dpdk-2.1.0/drivers/net/pcap/Makefile 2015-04-17 15:23:38.267984467 +0300 -@@ -37,6 +37,8 @@ include $(RTE_SDK)/mk/rte.vars.mk - # - LIB = librte_pmd_pcap.a - -+LDLIBS += -lpcap -+ - CFLAGS += -O3 - CFLAGS += $(WERROR_FLAGS) - diff --git a/dpdk-2.1-examples.patch b/dpdk-2.1-examples.patch deleted file mode 100644 index d5b8ba2..0000000 --- a/dpdk-2.1-examples.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up dpdk-2.1.0-2898.gitf1e779ec/examples/Makefile.examples dpdk-2.1.0-2898.gitf1e779ec/examples/Makefile -index cee95cd..aa760d2 100644 ---- dpdk-2.1.0-2898.gitf1e779ec/examples/Makefile.examples 2015-10-22 22:36:41.000000000 +0300 -+++ dpdk-2.1.0-2898.gitf1e779ec/examples/Makefile 2015-10-22 23:36:41.000000000 +0300 -@@ -45,7 +45,7 @@ DIRS-y += dpdk_qat - endif - DIRS-y += exception_path - DIRS-y += helloworld --DIRS-y += ip_pipeline -+#DIRS-y += ip_pipeline - DIRS-y += ip_reassembly - DIRS-$(CONFIG_RTE_IP_FRAG) += ip_fragmentation - DIRS-y += ipv4_multicast -@@ -73,6 +73,6 @@ DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += vhost - DIRS-$(CONFIG_RTE_LIBRTE_XEN_DOM0) += vhost_xen - DIRS-y += vmdq - DIRS-y += vmdq_dcb --DIRS-$(CONFIG_RTE_LIBRTE_POWER) += vm_power_manager -+#DIRS-$(CONFIG_RTE_LIBRTE_POWER) += vm_power_manager - - include $(RTE_SDK)/mk/rte.extsubdir.mk diff --git a/dpdk-2.2-dtneeded.patch b/dpdk-2.2-dtneeded.patch new file mode 100644 index 0000000..28b2a12 --- /dev/null +++ b/dpdk-2.2-dtneeded.patch @@ -0,0 +1,152 @@ +commit f85ab16a916be178a4cb61575f414c43fc98313d +Author: Panu Matilainen +Date: Tue Dec 8 13:42:26 2015 +0200 + + mk: fix external shared library dependencies of libraries + + Similar to commit 5f9115e58cc6f304ff4ade694cf5823d32887d1a etc, but + for libraries. Clean up librte_vhost CFLAGS/LDFLAGS/LDLIBS confusion + while at it. + + Requiring applications to know about library internal details like + dependencies to external helper libraries is a limitation of + static linkage, shared libraries should always know their own + dependencies for sane operation. + + Linking with the combined library (whether shared or not) still + requires knowing the internal dependencies, and intra-dpdk + dependencies are also not currently recorded. + + Signed-off-by: Panu Matilainen + +diff --git a/app/test/Makefile b/app/test/Makefile +index ec33e1a..abb0545 100644 +--- a/app/test/Makefile ++++ b/app/test/Makefile +@@ -182,6 +182,8 @@ endif + endif + endif + ++LDLIBS += -lm ++ + include $(RTE_SDK)/mk/rte.app.mk + + endif +diff --git a/lib/librte_eal/bsdapp/eal/Makefile b/lib/librte_eal/bsdapp/eal/Makefile +index 65b293f..b7b6016 100644 +--- a/lib/librte_eal/bsdapp/eal/Makefile ++++ b/lib/librte_eal/bsdapp/eal/Makefile +@@ -42,6 +42,9 @@ CFLAGS += -I$(RTE_SDK)/lib/librte_ring + CFLAGS += -I$(RTE_SDK)/lib/librte_mempool + CFLAGS += $(WERROR_FLAGS) -O3 + ++LDLIBS += -lpthread ++LDLIBS += -ldl ++ + EXPORT_MAP := rte_eal_version.map + + LIBABIVER := 2 +diff --git a/lib/librte_eal/linuxapp/eal/Makefile b/lib/librte_eal/linuxapp/eal/Makefile +index 26eced5..0efb9e4 100644 +--- a/lib/librte_eal/linuxapp/eal/Makefile ++++ b/lib/librte_eal/linuxapp/eal/Makefile +@@ -47,6 +47,9 @@ CFLAGS += -I$(RTE_SDK)/lib/librte_mempool + CFLAGS += -I$(RTE_SDK)/lib/librte_ivshmem + CFLAGS += $(WERROR_FLAGS) -O3 + ++LDLIBS += -lpthread ++LDLIBS += -ldl ++ + # specific to linuxapp exec-env + SRCS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) := eal.c + SRCS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += eal_hugepage_info.c +diff --git a/lib/librte_sched/Makefile b/lib/librte_sched/Makefile +index b1cb285..4d631f6 100644 +--- a/lib/librte_sched/Makefile ++++ b/lib/librte_sched/Makefile +@@ -41,6 +41,9 @@ CFLAGS += $(WERROR_FLAGS) + + CFLAGS_rte_red.o := -D_GNU_SOURCE + ++LDLIBS += -lm ++LDLIBS += -lrt ++ + EXPORT_MAP := rte_sched_version.map + + LIBABIVER := 1 +diff --git a/lib/librte_vhost/Makefile b/lib/librte_vhost/Makefile +index 6681f22..4aecc69 100644 +--- a/lib/librte_vhost/Makefile ++++ b/lib/librte_vhost/Makefile +@@ -42,12 +42,12 @@ CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3 -D_FILE_OFFSET_BITS=64 + ifeq ($(CONFIG_RTE_LIBRTE_VHOST_USER),y) + CFLAGS += -I vhost_user + else +-CFLAGS += -I vhost_cuse -lfuse +-LDFLAGS += -lfuse ++CFLAGS += -I vhost_cuse ++LDLIBS += -lfuse + endif + + ifeq ($(CONFIG_RTE_LIBRTE_VHOST_NUMA),y) +-LDFLAGS += -lnuma ++LDLIBS += -lnuma + endif + + # all source are stored in SRCS-y +diff --git a/mk/exec-env/linuxapp/rte.vars.mk b/mk/exec-env/linuxapp/rte.vars.mk +index 5fd7d85..d51bd17 100644 +--- a/mk/exec-env/linuxapp/rte.vars.mk ++++ b/mk/exec-env/linuxapp/rte.vars.mk +@@ -48,7 +48,7 @@ endif + # Workaround lack of DT_NEEDED entry + EXECENV_LDFLAGS = --no-as-needed + +-EXECENV_LDLIBS = -lrt -lm ++EXECENV_LDLIBS = + EXECENV_ASFLAGS = + + ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y) +diff --git a/mk/rte.app.mk b/mk/rte.app.mk +index 8ecab41..4ecaa6c 100644 +--- a/mk/rte.app.mk ++++ b/mk/rte.app.mk +@@ -81,23 +81,11 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_LPM) += -lrte_lpm + _LDLIBS-$(CONFIG_RTE_LIBRTE_POWER) += -lrte_power + _LDLIBS-$(CONFIG_RTE_LIBRTE_ACL) += -lrte_acl + _LDLIBS-$(CONFIG_RTE_LIBRTE_METER) += -lrte_meter +- + _LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED) += -lrte_sched +-_LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED) += -lm +-_LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED) += -lrt +- + _LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST) += -lrte_vhost + + endif # ! CONFIG_RTE_BUILD_COMBINE_LIBS + +-ifeq ($(CONFIG_RTE_LIBRTE_VHOST_NUMA),y) +-_LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST) += -lnuma +-endif +- +-ifeq ($(CONFIG_RTE_LIBRTE_VHOST_USER),n) +-_LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST) += -lfuse +-endif +- + # The static libraries do not know their dependencies. + # The combined library fails also to store this information. + # So linking with static or combined library requires explicit dependencies. +@@ -111,6 +99,14 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += -lxenstore + _LDLIBS-$(CONFIG_RTE_LIBRTE_MPIPE_PMD) += -lgxio + # QAT PMD has a dependency on libcrypto (from openssl) for calculating HMAC precomputes + _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += -lcrypto ++_LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED) += -lm ++_LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED) += -lrt ++ifeq ($(CONFIG_RTE_LIBRTE_VHOST_NUMA),y) ++_LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST) += -lnuma ++endif ++ifeq ($(CONFIG_RTE_LIBRTE_VHOST_USER),n) ++_LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST) += -lfuse ++endif + endif # CONFIG_RTE_BUILD_COMBINE_LIBS or not CONFIG_RTE_BUILD_SHARED_LIBS + + _LDLIBS-y += --start-group diff --git a/dpdk-2.2-examples.patch b/dpdk-2.2-examples.patch new file mode 100644 index 0000000..3a2bb54 --- /dev/null +++ b/dpdk-2.2-examples.patch @@ -0,0 +1,24 @@ +diff -up dpdk-2.2.0/examples/ip_pipeline/Makefile.examples dpdk-2.2.0/examples/ip_pipeline/Makefile +--- dpdk-2.2.0/examples/ip_pipeline/Makefile.examples 2016-01-20 14:30:19.266011981 +0200 ++++ dpdk-2.2.0/examples/ip_pipeline/Makefile 2016-01-20 14:30:28.638006264 +0200 +@@ -73,7 +73,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) += pi + SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) += pipeline_routing.c + + CFLAGS += -I$(SRCDIR) -I$(SRCDIR)/pipeline +-CFLAGS += -O3 ++CFLAGS += -O3 -msse4 + CFLAGS += $(WERROR_FLAGS) -Wno-error=unused-function -Wno-error=unused-variable + + include $(RTE_SDK)/mk/rte.extapp.mk +diff -up dpdk-2.2.0/examples/Makefile.examples dpdk-2.2.0/examples/Makefile +--- dpdk-2.2.0/examples/Makefile.examples 2015-12-15 19:06:58.000000000 +0200 ++++ dpdk-2.2.0/examples/Makefile 2016-01-20 14:28:43.280070250 +0200 +@@ -76,7 +76,7 @@ DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += vhost + DIRS-$(CONFIG_RTE_LIBRTE_XEN_DOM0) += vhost_xen + DIRS-y += vmdq + DIRS-y += vmdq_dcb +-DIRS-$(CONFIG_RTE_LIBRTE_POWER) += vm_power_manager ++#DIRS-$(CONFIG_RTE_LIBRTE_POWER) += vm_power_manager + DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += l2fwd-crypto + + include $(RTE_SDK)/mk/rte.extsubdir.mk diff --git a/dpdk-2.2-warningflags.patch b/dpdk-2.2-warningflags.patch new file mode 100644 index 0000000..787c65b --- /dev/null +++ b/dpdk-2.2-warningflags.patch @@ -0,0 +1,24 @@ +diff --git a/drivers/net/i40e/Makefile b/drivers/net/i40e/Makefile +index 033ee4a..3917b0c 100644 +--- a/drivers/net/i40e/Makefile ++++ b/drivers/net/i40e/Makefile +@@ -55,7 +55,6 @@ CFLAGS_BASE_DRIVER += -Wno-sign-compare + CFLAGS_BASE_DRIVER += -Wno-unused-value + CFLAGS_BASE_DRIVER += -Wno-unused-parameter + CFLAGS_BASE_DRIVER += -Wno-strict-aliasing +-CFLAGS_BASE_DRIVER += -Wno-format + CFLAGS_BASE_DRIVER += -Wno-missing-field-initializers + CFLAGS_BASE_DRIVER += -Wno-pointer-to-int-cast + CFLAGS_BASE_DRIVER += -Wno-format-nonliteral +@@ -65,11 +64,9 @@ CFLAGS_BASE_DRIVER = -Wno-sign-compare + CFLAGS_BASE_DRIVER += -Wno-unused-value + CFLAGS_BASE_DRIVER += -Wno-unused-parameter + CFLAGS_BASE_DRIVER += -Wno-strict-aliasing +-CFLAGS_BASE_DRIVER += -Wno-format + CFLAGS_BASE_DRIVER += -Wno-missing-field-initializers + CFLAGS_BASE_DRIVER += -Wno-pointer-to-int-cast + CFLAGS_BASE_DRIVER += -Wno-format-nonliteral +-CFLAGS_BASE_DRIVER += -Wno-format-security + CFLAGS_BASE_DRIVER += -Wno-unused-variable + + ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1) diff --git a/dpdk-dtneeded-2.2-accepted.patch b/dpdk-dtneeded-2.2-accepted.patch deleted file mode 100644 index e437a58..0000000 --- a/dpdk-dtneeded-2.2-accepted.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up dpdk-2.0.0/lib/librte_vhost/Makefile.dtneeded dpdk-2.0.0/lib/librte_vhost/Makefile ---- dpdk-2.0.0/lib/librte_vhost/Makefile.dtneeded 2015-04-03 17:13:45.000000000 +0300 -+++ dpdk-2.0.0/lib/librte_vhost/Makefile 2015-04-17 15:24:37.593834737 +0300 -@@ -44,6 +44,7 @@ CFLAGS += -I vhost_user - else - CFLAGS += -I vhost_cuse -lfuse - LDFLAGS += -lfuse -+LDLIBS += -lfuse - endif - - ifeq ($(CONFIG_RTE_LIBRTE_VHOST_NUMA),y) diff --git a/dpdk.spec b/dpdk.spec index 37e7ee7..6c8fad6 100644 --- a/dpdk.spec +++ b/dpdk.spec @@ -9,15 +9,14 @@ Name: dpdk -Version: 2.1.0 -Release: 3%{?dist} +Version: 2.2.0 +Release: 1%{?dist} URL: http://dpdk.org Source: http://dpdk.org/browse/dpdk/snapshot/dpdk-%{version}.tar.gz Patch1: enic-pun-fix.patch -Patch2: dpdk-2.1-dtneeded.patch -Patch3: dpdk-dtneeded-2.2-accepted.patch -Patch4: dpdk-2.1-examples.patch +Patch2: dpdk-2.2-dtneeded.patch +Patch4: dpdk-2.2-examples.patch Summary: Set of libraries and drivers for fast packet processing @@ -101,7 +100,6 @@ as L2 and L3 forwarding. %setup -q %patch1 -p2 -z .enic %patch2 -p1 -z .dtneeded -%patch3 -p1 -z .accepted %patch4 -p1 -z .examples %build @@ -130,7 +128,10 @@ export EXTRA_CFLAGS="%{optflags} -Wformat -fPIC -Wno-error=array-bounds" make V=1 O=%{target} T=%{target} %{?_smp_mflags} config setconf CONFIG_RTE_MACHINE "default" +# Disable experimental features setconf CONFIG_RTE_NEXT_ABI n +setconf CONFIG_RTE_LIBRTE_CRYPTODEV n +setconf CONFIG_RTE_LIBRTE_MBUF_OFFLOAD n setconf CONFIG_RTE_LIBRTE_BNX2X_PMD y setconf CONFIG_RTE_LIBRTE_PMD_PCAP y @@ -286,6 +287,9 @@ install -m 644 ${comblib} %{buildroot}/%{_libdir}/${comblib} %endif %changelog +* Wed Jan 20 2016 Panu Matilainen - 2.2.0-1 +- Update to 2.2.0 + * Thu Oct 22 2015 Aaron Conole - 2.1.0-3 - Include examples binaries - Enable the Broadcom NetXtreme II 10Gb PMD diff --git a/sources b/sources index 7b3cfcf..50728ec 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -205a0d12bfd6eb717d57506272f43519 dpdk-2.1.0.tar.gz +22e2fd68cd5504f43fe9a5a6fd6dd938 dpdk-2.2.0.tar.gz