Merged update from upstream sources

This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/dpdk.git#fb17452a65a8df3a9aed2ff121a135e6107e01ef
This commit is contained in:
DistroBaker 2021-02-17 14:05:35 +00:00
parent b5a437ad65
commit 2f4e495ab0
11 changed files with 44 additions and 369 deletions

1
.gitignore vendored
View File

@ -19,3 +19,4 @@
/dpdk-19.11.tar.xz
/dpdk-19.11.1.tar.xz
/dpdk-19.11.3.tar.xz
/dpdk-20.11.tar.xz

View File

@ -1,27 +0,0 @@
commit 5b45c30a00ecbd5181e5679b13ca059bcd761ead
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date: Thu Jun 22 13:04:59 2017 +0100
ethdev: add missing symbol in map
The function rte_eth_tx_done_cleanup() was missing in the map file
so it cannot be used by applications linking to shared libraries.
pktgen uses it since version 3.2.0.
Fixes: 44a718c457b5 ("ethdev: add API to free consumed buffers in Tx ring")
Cc: stable@dpdk.org
Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
diff --git a/lib/librte_ether/rte_ether_version.map b/lib/librte_ether/rte_ether_version.map
index 805e6de80..e0881f09d 100644
--- a/lib/librte_ether/rte_ether_version.map
+++ b/lib/librte_ether/rte_ether_version.map
@@ -142,6 +142,7 @@ DPDK_17.05 {
rte_eth_dev_attach_secondary;
rte_eth_find_next;
+ rte_eth_tx_done_cleanup;
rte_eth_xstats_get_by_id;
rte_eth_xstats_get_id_by_name;
rte_eth_xstats_get_names_by_id;

View File

@ -1,12 +0,0 @@
diff -up ./mk/rte.app.mk.pie ./mk/rte.app.mk
--- ./mk/rte.app.mk.pie 2018-09-24 16:03:22.504850668 -0400
+++ ./mk/rte.app.mk 2018-09-24 16:03:30.898814226 -0400
@@ -50,7 +50,7 @@ LDSCRIPT = $(RTE_LDSCRIPT)
endif
# Link only the libraries used in the application
-LDFLAGS += --as-needed
+LDFLAGS += --as-needed -pie
# default path for libs
_LDLIBS-y += -L$(RTE_SDK_BIN)/lib

View File

@ -1,12 +0,0 @@
diff -up ./app/test-pmd/Makefile.arm ./app/test-pmd/Makefile
--- ./app/test-pmd/Makefile.arm 2018-02-14 13:11:02.000000000 -0500
+++ ./app/test-pmd/Makefile 2018-02-26 12:01:02.999831933 -0500
@@ -45,7 +45,7 @@ LDLIBS += -lrte_pmd_bond
endif
ifeq ($(CONFIG_RTE_LIBRTE_DPAA_PMD),y)
-LDLIBS += -lrte_pmd_dpaa
+LDLIBS += -lrte_pmd_dpaa -lrte_bus_dpaa -lrte_mempool_dpaa
endif
ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_PMD),y)

View File

@ -1,12 +0,0 @@
diff -up dpdk-stable-18.11.2/mk/rte.sdkdoc.mk.multilib dpdk-stable-18.11.2/mk/rte.sdkdoc.mk
--- dpdk-stable-18.11.2/mk/rte.sdkdoc.mk.multilib 2019-09-11 12:01:46.491478717 +0200
+++ dpdk-stable-18.11.2/mk/rte.sdkdoc.mk 2019-09-11 12:49:19.100816161 +0200
@@ -48,7 +48,7 @@ api-html: $(API_EXAMPLES)
-e "s|@OUTPUT@|$(RTE_OUTPUT)/doc|" \
-e "s|@HTML_OUTPUT@|html/api|" \
-e "s|@TOPDIR@|./|g" \
- -e "s|@STRIP_FROM_PATH@|./|g" \
+ -e "s|@STRIP_FROM_PATH@|$(RTE_SDK) $(RTE_OUTPUT)/doc/html/|" \
$(RTE_SDK)/doc/api/doxy-api.conf.in)| \
doxygen -
$(Q)$(RTE_SDK)/doc/api/doxy-html-custom.sh $(RTE_OUTPUT)/doc/html/api/doxygen.css

252
dpdk.spec
View File

@ -1,23 +1,21 @@
# Add option to build as static libraries (--without shared)
%bcond_without shared
# Add option to build without examples
%bcond_without examples
%bcond_with examples
# Add option to build without tools
%bcond_without tools
# Add option to build the PDF documentation separately (--with pdfdoc)
%bcond_with pdfdoc
# Avoid architecture-specific name of build-dir to fix per-arch reproducibility with doxygen
%global _vpath_builddir %{_vendor}-%{_target_os}-build
Name: dpdk
Version: 19.11.3
Release: 3%{?dist}
Version: 20.11
Release: 1%{?dist}
Epoch: 2
URL: http://dpdk.org
Source: https://fast.dpdk.org/rel/dpdk-%{version}.tar.xz
Patch0: app-pie.patch
Patch1: fcf-protection.patch
# fixed multilib issue with doxygen
Patch3: dpdk-stable-18.11.2-doxygen-multilib.patch
BuildRequires: meson
Summary: Set of libraries and drivers for fast packet processing
@ -35,46 +33,10 @@ License: BSD and LGPLv2 and GPLv2
#
ExclusiveArch: x86_64 i686 aarch64 ppc64le
# machine_arch maps between rpm and dpdk arch name, often same as _target_cpu
# machine_tmpl is the config template machine name, often "native"
# machine is the actual machine name used in the dpdk make system
%ifarch x86_64
%define machine_arch x86_64
%define machine_tmpl native
%define machine default
%endif
%ifarch i686
%define machine_arch i686
%define machine_tmpl native
%define machine default
%endif
%ifarch aarch64
%define machine_arch arm64
%define machine_tmpl armv8a
%define machine armv8a
%endif
%ifarch ppc64le
%define machine_arch ppc_64
%define machine_tmpl power8
%define machine power8
%endif
%define target %{machine_arch}-%{machine_tmpl}-linuxapp-gcc
BuildRequires: gcc
BuildRequires: kernel-headers, libpcap-devel, doxygen, python3-sphinx, zlib-devel, wdiff
BuildRequires: kernel-headers, libpcap-devel, doxygen, /usr/bin/sphinx-build, zlib-devel
BuildRequires: numactl-devel
BuildRequires: rdma-core-devel
%if %{with pdfdoc}
BuildRequires: texlive-dejavu inkscape texlive-latex-bin-bin
BuildRequires: texlive-kpathsea-bin texlive-metafont-bin texlive-cm
BuildRequires: texlive-cmap texlive-ec texlive-babel-english
BuildRequires: texlive-fancyhdr texlive-fancybox texlive-titlesec
BuildRequires: texlive-framed texlive-threeparttable texlive-mdwtools
BuildRequires: texlive-wrapfig texlive-parskip texlive-upquote texlive-multirow
BuildRequires: texlive-helvetic texlive-times texlive-dvips
%endif
%description
The Data Plane Development Kit is a set of libraries and drivers for
@ -82,9 +44,9 @@ fast packet processing in the user space.
%package devel
Summary: Data Plane Development Kit development files
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} python3
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} python3
%if ! %{with shared}
Provides: %{name}-static = %{epoch}:%{version}-%{release}
Provides: %{name}-static = %{?epoch:%{epoch}:}%{version}-%{release}
%endif
Requires: rdma-core-devel
@ -102,7 +64,7 @@ API programming documentation for the Data Plane Development Kit.
%if %{with tools}
%package tools
Summary: Tools for setting up Data Plane Development Kit environment
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: kmod pciutils findutils iproute python3-pyelftools
%description tools
@ -147,170 +109,36 @@ for i,path in ipairs(directories) do
end
end
end
%prep
%setup -q -n dpdk-stable-%{version}
%patch0 -p1
%ifarch x86_64 i686
%patch1 -p1
%endif
%patch3 -p1
%setup -q -n dpdk-%{version}
%build
%set_build_flags
# set up a method for modifying the resulting .config file
function setconf() {
if grep -q ^$1= %{target}/.config; then
sed -i "s:^$1=.*$:$1=$2:g" %{target}/.config
else
echo $1=$2 >> %{target}/.config
fi
}
# In case dpdk-devel is installed, we should ignore its hints about the SDK directories
unset RTE_SDK RTE_INCLUDE RTE_TARGET
# Avoid appending second -Wall to everything, it breaks upstream warning
# disablers in makefiles. Strip expclit -march= from optflags since they
# will only guarantee build failures, DPDK is picky with that.
# Note: _hardening_ldflags has to go on the extra cflags line because dpdk is
# astoundingly convoluted in how it processes its linker flags. Fixing it in
# dpdk is the preferred solution, but adjusting to allow a gcc option in the
# ldflags, even when gcc is used as the linker, requires large tree-wide changes
touch obj.o
gcc -### obj.o 2>&1 | awk '/.*collect2.*/ { print $0}' > ./noopts.txt
gcc -### $(rpm --eval '%{build_ldflags}') obj.o 2>&1 | awk '/.*collect2.*/ {print $0}' > ./opts.txt
EXTRA_RPM_LDFLAGS=$(wdiff -3 -n ./noopts.txt ./opts.txt | sed -e"/^=\+$/d" -e"/^.*\.res.*/d" -e"s/\[-//g" -e"s/\-\]//g" -e"s/{+//g" -e"s/+}//g" -e"s/\/.*\.o //g" -e"s/ \/.*\.o$//g" -e"s/-z .*//g" | tr '\n' ' ')
rm -f obj.o
export EXTRA_CFLAGS="$(echo %{optflags} | sed -e 's:-Wall::g' -e 's:-march=[[:alnum:]]* ::g') -Wformat -fPIC -fcommon %{_hardening_ldflags}"
%ifarch x86_64 i686
export EXTRA_CFLAGS="$EXTRA_CFLAGS -fcf-protection=full"
%endif
export EXTRA_LDFLAGS=$(echo %{__global_ldflags} | sed -e's/-Wl,//g' -e's/-spec.*//')
export HOST_EXTRA_CFLAGS="$EXTRA_CFLAGS $EXTRA_RPM_LDFLAGS"
export EXTRA_HOST_LDFLAGS="$EXTRA_RPM_LDFLAGS $(echo %{__global_ldflags} | sed -e's/-spec.*//')"
# DPDK defaults to using builder-specific compiler flags. However,
# the config has been changed by specifying CONFIG_RTE_MACHINE=default
# in order to build for a more generic host. NOTE: It is possible that
# the compiler flags used still won't work for all Fedora-supported
# machines, but runtime checks in DPDK will catch those situations.
make V=1 O=%{target} T=%{target} %{?_smp_mflags} config
setconf CONFIG_RTE_MACHINE '"%{machine}"'
# Disable experimental features
setconf CONFIG_RTE_NEXT_ABI n
setconf CONFIG_RTE_LIBRTE_MBUF_OFFLOAD n
# Disable unmaintained features
setconf CONFIG_RTE_LIBRTE_POWER n
# Enable automatic driver loading from this path
setconf CONFIG_RTE_EAL_PMD_PATH '"%{pmddir}"'
setconf CONFIG_RTE_LIBRTE_BNX2X_PMD y
setconf CONFIG_RTE_LIBRTE_PMD_PCAP y
setconf CONFIG_RTE_LIBRTE_VHOST_NUMA y
setconf CONFIG_RTE_EAL_IGB_UIO n
setconf CONFIG_RTE_LIBRTE_KNI n
setconf CONFIG_RTE_KNI_KMOD n
setconf CONFIG_RTE_KNI_PREEMPT_DEFAULT n
setconf CONFIG_RTE_APP_EVENTDEV n
setconf CONFIG_RTE_LIBRTE_NFP_PMD y
setconf CONFIG_RTE_LIBRTE_MLX5_PMD y
%ifarch aarch64
setconf CONFIG_RTE_LIBRTE_DPAA_BUS n
setconf CONFIG_RTE_LIBRTE_DPAA_MEMPOOL n
setconf CONFIG_RTE_LIBRTE_DPAA_PMD n
setconf CONFIG_RTE_LIBRTE_PFE_PMD n
setconf CONFIG_RTE_LIBRTE_PMD_CAAM_JR n
setconf CONFIG_RTE_LIBRTE_PMD_CAAM_JR_BE n
%endif
%if %{with shared}
setconf CONFIG_RTE_BUILD_SHARED_LIB y
%endif
make V=1 O=%{target} %{?_smp_mflags} -Wimplicit-fallthrough=0
make V=1 O=%{target} %{?_smp_mflags} doc-api-html doc-guides-html %{?with_pdfdoc: guides-pdf}
CFLAGS="$(echo %{optflags} -fcommon)" \
%meson --includedir=include/dpdk \
-Ddrivers_install_subdir=dpdk-pmds \
-Denable_docs=true \
-Dmachine=default \
%if %{with examples}
make V=1 O=%{target}/examples T=%{target} %{?_smp_mflags} examples
-Dexamples=all \
%endif
%if %{with shared}
--default-library=shared
%else
--default-library=static
%endif
%meson_build
%install
# In case dpdk-devel is installed
unset RTE_SDK RTE_INCLUDE RTE_TARGET
%make_install O=%{target} prefix=%{_usr} libdir=%{_libdir}
%if ! %{with tools}
rm -rf %{buildroot}%{sdkdir}/usertools
rm -rf %{buildroot}%{_sbindir}/dpdk_nic_bind
rm -rf %{buildroot}%{_bindir}/dpdk-test-crypto-perf
rm -rf %{buildroot}%{_bindir}/testbbdev
%else
mv %{buildroot}%{_bindir}/testbbdev %{buildroot}%{_bindir}/dpdk-test-bbdev
%endif
rm -f %{buildroot}%{sdkdir}/usertools/dpdk-setup.sh
rm -f %{buildroot}%{sdkdir}/usertools/meson.build
%if %{with examples}
find %{target}/examples/ -name "*.map" | xargs rm -f
for f in %{target}/examples/*/%{target}/app/*; do
bn=`basename ${f}`
cp -p ${f} %{buildroot}%{_bindir}/dpdk_example_${bn}
done
%endif
# Replace /usr/bin/env python with /usr/bin/python3
find %{buildroot}%{sdkdir}/ -name "*.py" -exec \
sed -i -e 's|#!\s*/usr/bin/env python|#!/usr/bin/python3|' {} +
find %{buildroot}%{sdkdir}/ -name "*.py" -exec \
sed -i -e 's|#!\s*/usr/bin/python33|#!/usr/bin/python3|' {} +
# Create a driver directory with symlinks to all pmds
mkdir -p %{buildroot}/%{pmddir}
for f in %{buildroot}/%{_libdir}/*_pmd_*.so.*; do
bn=$(basename ${f})
ln -s ../${bn} %{buildroot}%{pmddir}/${bn}
done
# Setup RTE_SDK environment as expected by apps etc
mkdir -p %{buildroot}/%{_sysconfdir}/profile.d
cat << EOF > %{buildroot}/%{_sysconfdir}/profile.d/dpdk-sdk-%{_arch}.sh
if [ -z "\${RTE_SDK}" ]; then
export RTE_SDK="%{sdkdir}"
export RTE_TARGET="%{target}"
export RTE_INCLUDE="%{incdir}"
fi
EOF
cat << EOF > %{buildroot}/%{_sysconfdir}/profile.d/dpdk-sdk-%{_arch}.csh
if (! -d \$?RTE_SDK ) then
setenv RTE_SDK "%{sdkdir}"
setenv RTE_TARGET "%{target}"
setenv RTE_INCLUDE "%{incdir}"
endif
EOF
# Fixup target machine mismatch
sed -i -e 's:-%{machine_tmpl}-:-%{machine}-:g' %{buildroot}/%{_sysconfdir}/profile.d/dpdk-sdk*
%meson_install
%files
# BSD
%{_bindir}/testpmd
%{_bindir}/dpdk-procinfo
%{_bindir}/dpdk-testpmd
%{_bindir}/dpdk-proc-info
%if %{with shared}
%{_libdir}/*.so.*
%{pmddir}/
%{pmddir}/*.so.*
%endif
%files doc
@ -324,28 +152,29 @@ sed -i -e 's:-%{machine_tmpl}-:-%{machine}-:g' %{buildroot}/%{_sysconfdir}/profi
%ghost %{sdkdir}/mk/exec-env/bsdapp
%ghost %{sdkdir}/mk/exec-env/linuxapp
%if %{with tools}
%exclude %{sdkdir}/usertools/
%exclude %{_bindir}/dpdk-*.py
%endif
%if %{with examples}
%exclude %{sdkdir}/examples/
%endif
%{_sysconfdir}/profile.d/dpdk-sdk-*.*
%if ! %{with shared}
%{_libdir}/*.a
%exclude %{_libdir}/*.so
%exclude %{pmddir}/*.so
%else
%{_libdir}/*.so
%{pmddir}/*.so
%exclude %{_libdir}/*.a
%endif
%{_libdir}/pkgconfig/libdpdk.pc
%{_libdir}/pkgconfig/libdpdk-libs.pc
%if %{with tools}
%files tools
%{sdkdir}/usertools/
%{_sbindir}/dpdk-devbind
%{_bindir}/dpdk-pdump
%{_bindir}/dpdk-pmdinfo
%{_bindir}/dpdk-test-bbdev
%{_bindir}/dpdk-test-compress-perf
%{_bindir}/dpdk-test-crypto-perf
%{_bindir}/testsad
%{_bindir}/dpdk-test
%{_bindir}/dpdk-test-*
%{_bindir}/dpdk-*.py
%endif
%if %{with examples}
@ -355,6 +184,9 @@ sed -i -e 's:-%{machine_tmpl}-:-%{machine}-:g' %{buildroot}/%{_sysconfdir}/profi
%endif
%changelog
* Thu Jan 21 2021 Timothy Redaelli <tredaelli@redhat.com> - 2:20.11-1
- Update to 20.11
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2:19.11.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

View File

@ -1,12 +0,0 @@
diff -up ./mk/rte.lib.mk.stupid ./mk/rte.lib.mk
--- ./mk/rte.lib.mk.stupid 2018-09-27 13:45:48.336632453 -0400
+++ ./mk/rte.lib.mk 2018-09-27 13:46:03.900563944 -0400
@@ -103,7 +103,7 @@ ifneq ($(CC_SUPPORTS_Z),false)
NO_UNDEFINED := -z defs
endif
-O_TO_S = $(LD) -L$(RTE_SDK_BIN)/lib $(_CPU_LDFLAGS) $(EXTRA_LDFLAGS) \
+O_TO_S = $(LD) -L$(RTE_SDK_BIN)/lib $(_CPU_LDFLAGS) $(EXTRA_LDFLAGS) -fcf-protection=full \
-shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(LIB) -o $(LIB)
O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight
O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)"," LD $(@)")

View File

@ -1,59 +0,0 @@
diff -up ./examples/ip_pipeline/cpu_core_map.c.lengthfix ./examples/ip_pipeline/cpu_core_map.c
--- ./examples/ip_pipeline/cpu_core_map.c.lengthfix 2017-02-14 16:17:45.000000000 -0500
+++ ./examples/ip_pipeline/cpu_core_map.c 2017-02-21 10:23:38.982228068 -0500
@@ -311,7 +311,7 @@ cpu_core_map_get_core_id_linux(int lcore
static int
cpu_core_map_get_socket_id_linux(int lcore_id)
{
- char buffer[64];
+ char buffer[128];
FILE *fd;
int socket_id;
diff -up ./examples/multi_process/client_server_mp/mp_server/main.c.lengthfix ./examples/multi_process/client_server_mp/mp_server/main.c
--- ./examples/multi_process/client_server_mp/mp_server/main.c.lengthfix 2017-02-14 16:17:45.000000000 -0500
+++ ./examples/multi_process/client_server_mp/mp_server/main.c 2017-02-21 11:17:15.946342832 -0500
@@ -93,14 +93,14 @@ static const char *
get_printable_mac_addr(uint8_t port)
{
static const char err_address[] = "00:00:00:00:00:00";
- static char addresses[RTE_MAX_ETHPORTS][sizeof(err_address)];
+ static char addresses[RTE_MAX_ETHPORTS][sizeof(err_address)+2];
if (unlikely(port >= RTE_MAX_ETHPORTS))
return err_address;
if (unlikely(addresses[port][0]=='\0')){
struct ether_addr mac;
rte_eth_macaddr_get(port, &mac);
- snprintf(addresses[port], sizeof(addresses[port]),
+ snprintf(addresses[port], sizeof(addresses[port])+2,
"%02x:%02x:%02x:%02x:%02x:%02x\n",
mac.addr_bytes[0], mac.addr_bytes[1], mac.addr_bytes[2],
mac.addr_bytes[3], mac.addr_bytes[4], mac.addr_bytes[5]);
diff -up ./examples/server_node_efd/server/main.c.lengthfix ./examples/server_node_efd/server/main.c
--- ./examples/server_node_efd/server/main.c.lengthfix 2017-02-21 10:59:27.769936326 -0500
+++ ./examples/server_node_efd/server/main.c 2017-02-21 10:59:43.719823270 -0500
@@ -100,7 +100,7 @@ static const char *
get_printable_mac_addr(uint8_t port)
{
static const char err_address[] = "00:00:00:00:00:00";
- static char addresses[RTE_MAX_ETHPORTS][sizeof(err_address)];
+ static char addresses[RTE_MAX_ETHPORTS][sizeof(err_address)+2];
struct ether_addr mac;
if (unlikely(port >= RTE_MAX_ETHPORTS))
diff -up ./examples/server_node_efd/shared/common.h.lengthfix ./examples/server_node_efd/shared/common.h
--- ./examples/server_node_efd/shared/common.h.lengthfix 2017-02-21 10:48:32.788582926 -0500
+++ ./examples/server_node_efd/shared/common.h 2017-02-21 10:48:07.540762374 -0500
@@ -86,9 +86,9 @@ get_rx_queue_name(unsigned int id)
{
/*
* Buffer for return value. Size calculated by %u being replaced
- * by maximum 3 digits (plus an extra byte for safety)
+ * by maximum 10 digits (plus an extra byte for safety)
*/
- static char buffer[sizeof(MP_NODE_RXQ_NAME) + 2];
+ static char buffer[sizeof(MP_NODE_RXQ_NAME) + 12];
snprintf(buffer, sizeof(buffer) - 1, MP_NODE_RXQ_NAME, id);
return buffer;

View File

@ -1,13 +0,0 @@
diff -up ./examples/ethtool/ethtool-app/Makefile.makefix ./examples/ethtool/ethtool-app/Makefile
--- ./examples/ethtool/ethtool-app/Makefile.makefix 2017-02-22 07:08:22.873372009 -0500
+++ ./examples/ethtool/ethtool-app/Makefile 2017-02-22 07:09:10.138033792 -0500
@@ -49,6 +49,8 @@ CFLAGS += $(WERROR_FLAGS)
LDLIBS += -L$(subst ethtool-app,lib,$(RTE_OUTPUT))/lib
LDLIBS += -lrte_ethtool
-
+ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_PMD),y)
+LDLIBS += -lrte_pmd_ixgbe
+endif
include $(RTE_SDK)/mk/rte.extapp.mk

View File

@ -1 +1 @@
SHA512 (dpdk-19.11.3.tar.xz) = aee6ceb955be9d4921942d8b9334c61b4f7375aa5711b7d8d8e88589a138185b67dd844af0bcb1ef5e5e0cf038efc14f4d7caea42f4275388ecbcdc6afcc535e
SHA512 (dpdk-20.11.tar.xz) = 3d63be6682d7bf2df9399a32d74399fe3db7d6d884b3f546c2f785f2f531ed1c7383f802b3de8fcbbbe18c5bc030db7d58808f9509f1c8c7e85b1bc6b81b1a8b

View File

@ -1,11 +0,0 @@
diff -up ./app/test/Makefile.libfix ./app/test/Makefile
--- ./app/test/Makefile.libfix 2017-02-07 11:57:20.198263877 -0500
+++ ./app/test/Makefile 2017-02-07 11:57:34.700156907 -0500
@@ -187,6 +187,7 @@ ifeq ($(CONFIG_RTE_LIBRTE_PMD_NULL),y)
SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += test_link_bonding_rssconf.c
ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
LDLIBS += -lrte_pmd_null
+LDLIBS += -lrte_pmd_ring
endif
endif