aafc3ce7f2
Drivers librte_mempool_ring.so and librte_pmd_null.so are loaded by librte_eal.so when running testpmd. In Ubuntu Xenial, driver path is installed to RPATH on testpmd. This allows librte_eal.so to find drivers by using the RPATH. However, in Ubuntu Bionic, driver path is installed to RUNPATH instead. The RUNPATH on testpmd is not available by librte_eal.so and therefore lead to driver load failure: EAL: Detected 32 lcore(s) EAL: Detected 1 NUMA nodes EAL: librte_mempool_ring.so: cannot open shared object file: No such file or directory EAL: FATAL: Cannot init plugins EAL: Cannot init plugins Add 'drivers' into LD_LIBRARY_PATH so that testpmd can find and make use of these shared libraries. Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Reviewed-by: Gavin Hu <gavin.hu@arm.com> Acked-by: Aaron Conole <aconole@redhat.com>
33 lines
1007 B
Bash
Executable File
33 lines
1007 B
Bash
Executable File
#! /bin/sh -e
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
# Copyright 2015 6WIND S.A.
|
|
# Copyright 2019 Mellanox Technologies, Ltd
|
|
|
|
# Run a quick testpmd forwarding with null PMD without hugepage
|
|
|
|
build=${1:-build} # first argument can be the build directory
|
|
testpmd=$1 # or first argument can be the testpmd path
|
|
coremask=${2:-3} # default using cores 0 and 1
|
|
eal_options=$3
|
|
testpmd_options=$4
|
|
|
|
[ -f "$testpmd" ] && build=$(dirname $(dirname $testpmd))
|
|
[ -f "$testpmd" ] || testpmd=$build/app/dpdk-testpmd
|
|
[ -f "$testpmd" ] || testpmd=$build/app/testpmd
|
|
if [ ! -f "$testpmd" ] ; then
|
|
echo 'ERROR: testpmd cannot be found' >&2
|
|
exit 1
|
|
fi
|
|
|
|
if ldd $testpmd | grep -q librte_ ; then
|
|
export LD_LIBRARY_PATH=$build/drivers:$build/lib:$LD_LIBRARY_PATH
|
|
libs='-d librte_mempool_ring.so -d librte_pmd_null.so'
|
|
else
|
|
libs=
|
|
fi
|
|
|
|
(sleep 1 && echo stop) |
|
|
$testpmd -c $coremask --no-huge -m 20 \
|
|
$libs -w 0:0.0 --vdev net_null1 --vdev net_null2 $eal_options -- \
|
|
--no-mlockall --total-num-mbufs=2048 $testpmd_options -ia
|