Update to dpdk 2.2.0

This commit is contained in:
Panu Matilainen 2016-01-20 14:39:11 +02:00
parent 171be5b8cc
commit 02e4a4c017
9 changed files with 212 additions and 63 deletions

1
.gitignore vendored
View File

@ -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

View File

@ -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)

View File

@ -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

152
dpdk-2.2-dtneeded.patch Normal file
View File

@ -0,0 +1,152 @@
commit f85ab16a916be178a4cb61575f414c43fc98313d
Author: Panu Matilainen <pmatilai@redhat.com>
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 <pmatilai@redhat.com>
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

24
dpdk-2.2-examples.patch Normal file
View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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 <pmatilai@redhat.com> - 2.2.0-1
- Update to 2.2.0
* Thu Oct 22 2015 Aaron Conole <aconole@redhat.com> - 2.1.0-3
- Include examples binaries
- Enable the Broadcom NetXtreme II 10Gb PMD

View File

@ -1 +1 @@
205a0d12bfd6eb717d57506272f43519 dpdk-2.1.0.tar.gz
22e2fd68cd5504f43fe9a5a6fd6dd938 dpdk-2.2.0.tar.gz