aboutsummaryrefslogtreecommitdiffstats
path: root/tests/dpdk
diff options
context:
space:
mode:
Diffstat (limited to 'tests/dpdk')
-rwxr-xr-xtests/dpdk/dpdk_scripts/init_dpdk.sh14
-rwxr-xr-xtests/dpdk/dpdk_scripts/install_dpdk.sh17
-rwxr-xr-xtests/dpdk/dpdk_scripts/run_l2fwd.sh15
3 files changed, 41 insertions, 5 deletions
diff --git a/tests/dpdk/dpdk_scripts/init_dpdk.sh b/tests/dpdk/dpdk_scripts/init_dpdk.sh
index 09a96283d1..db9dee5d2d 100755
--- a/tests/dpdk/dpdk_scripts/init_dpdk.sh
+++ b/tests/dpdk/dpdk_scripts/init_dpdk.sh
@@ -6,6 +6,18 @@ set -x
DPDK_VERSION=dpdk-17.11
ROOTDIR=/tmp/openvpp-testing
PWDDIR=$(pwd)
+
+# set arch, default to x86_64 if none given
+ARCH=${3:-"x86_64"}
+
+# dpdk prefers "arm64" to "aarch64" and does not allow arm64 native target
+if [ $ARCH == "aarch64" ]; then
+ ARCH="arm64"
+ MACHINE="armv8a"
+else
+ MACHINE="native"
+fi
+
cd ${ROOTDIR}/${DPDK_VERSION}/
modprobe uio
@@ -25,7 +37,7 @@ then
{ echo "Failed to remove uio_pci_generic module"; exit 1; }
fi
-insmod ./x86_64-native-linuxapp-gcc/kmod/igb_uio.ko || \
+insmod ./${ARCH}-${MACHINE}-linuxapp-gcc/kmod/igb_uio.ko || \
{ echo "Failed to insert igb_uio module"; exit 1; }
# Binding
diff --git a/tests/dpdk/dpdk_scripts/install_dpdk.sh b/tests/dpdk/dpdk_scripts/install_dpdk.sh
index 6a7c11d8c1..945defe9a2 100755
--- a/tests/dpdk/dpdk_scripts/install_dpdk.sh
+++ b/tests/dpdk/dpdk_scripts/install_dpdk.sh
@@ -3,6 +3,19 @@
set -x
# Setting variables
+
+# set arch, default to x86_64 if none given
+ARCH=${1:-"x86_64"}
+
+
+# dpdk prefers "arm64" to "aarch64" and does not allow arm64 native target
+if [ $ARCH == "aarch64" ]; then
+ ARCH="arm64"
+ MACHINE="armv8a"
+else
+ MACHINE="native"
+fi
+
DPDK_VERSION=dpdk-17.11
DPDK_DIR=${DPDK_VERSION}
DPDK_PACKAGE=${DPDK_DIR}.tar.xz
@@ -19,13 +32,13 @@ tar xJvf ${DPDK_PACKAGE} || \
# Compile the DPDK
cd ./${DPDK_DIR}
sudo sed -i 's/^CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC=n/CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC=y/g' ./config/common_base
-make install T=x86_64-native-linuxapp-gcc -j || \
+make install T=${ARCH}-${MACHINE}-linuxapp-gcc -j || \
{ echo "Failed to compile $DPDK_VERSION"; exit 1; }
cd ${PWDDIR}
# Compile the l3fwd
export RTE_SDK=${ROOTDIR}/${DPDK_DIR}/
-export RTE_TARGET=x86_64-native-linuxapp-gcc
+export RTE_TARGET=${ARCH}-${MACHINE}-linuxapp-gcc
cd ${RTE_SDK}/examples/l3fwd
sudo sed -i 's/^#define RTE_TEST_RX_DESC_DEFAULT 128/#define RTE_TEST_RX_DESC_DEFAULT 2048/g' ./main.c
sudo sed -i 's/^#define RTE_TEST_TX_DESC_DEFAULT 512/#define RTE_TEST_TX_DESC_DEFAULT 2048/g' ./main.c
diff --git a/tests/dpdk/dpdk_scripts/run_l2fwd.sh b/tests/dpdk/dpdk_scripts/run_l2fwd.sh
index bbd69b6dec..80b688eccf 100755
--- a/tests/dpdk/dpdk_scripts/run_l2fwd.sh
+++ b/tests/dpdk/dpdk_scripts/run_l2fwd.sh
@@ -13,6 +13,15 @@ cpu_corelist=$1
nb_cores=$2
queue_nums=$3
jumbo_frames=$4
+arch=${5:-"x86_64"}
+
+# dpdk prefers "arm64" to "aarch64" and does not allow arm64 native target
+if [ $arch == "aarch64" ]; then
+ arch="arm64"
+ machine="armv8a"
+else
+ machine="native"
+fi
# Try to kill the testpmd
sudo pgrep testpmd
@@ -75,8 +84,10 @@ sleep 2
cd ${ROOTDIR}/${DPDK_VERSION}/
rm -f ${TESTPMDLOG}
+TESTPMD_BIN=./${arch}-${machine}-linuxapp-gcc/app/testpmd
+
if [ "$jumbo_frames" = "yes" ]; then
- sudo sh -c "screen -dmSL DPDK-test ./x86_64-native-linuxapp-gcc/app/testpmd \
+ sudo sh -c "screen -dmSL DPDK-test $TESTPMD_BIN \
-l ${cpu_corelist} -n 4 -- \
--numa \
--nb-ports=2 \
@@ -93,7 +104,7 @@ if [ "$jumbo_frames" = "yes" ]; then
--disable-link-check \
--auto-start"
else
- sudo sh -c "screen -dmSL DPDK-test ./x86_64-native-linuxapp-gcc/app/testpmd \
+ sudo sh -c "screen -dmSL DPDK-test $TESTPMD_BIN \
-l ${cpu_corelist} -n 4 -- \
--numa \
--nb-ports=2 \