diff options
author | Gabriel Ganne <gabriel.ganne@enea.com> | 2017-11-27 15:38:53 +0100 |
---|---|---|
committer | Jan Gelety <jgelety@cisco.com> | 2018-01-10 15:42:43 +0100 |
commit | c7eb2002bcd007520309feb3e11a26ff847a4e05 (patch) | |
tree | 84ea1d5513da1bb0f4e078aec87b44cf653a7e7c /tests/tldk | |
parent | a95c54b7821596402e0aa7136cd7d1de71a5b187 (diff) |
add new topology parameter: arch
if unset, arch variable will default to "x86_64"
* Note on "arm64" vs "aarch64"
debian-based uses arm64
rhel-based uses aarch64
qemu binaries of both distribs uses aarch64
dpdk uses arm64
vpp uses aarch64
python machine modules uses aarch64
=> prefer aarch64 to use the same nomenclature as vpp
* add ARCH argument to:
init_dpdk.sh, install_dpdk.sh, run_l2fwd.sh, install_tldk.sh, run_tldk.sh.
default to x86_64
converts "aarch64" if needed for dpdk naming convention
* fixed terminal end detection to allow "~]# "
add dut node arch as param to all robot set bin calls
* add --target-list flag to qemu_build.sh
defaults to x86_64-softmmu
* add arch flag to all the topology files
* topologies/available/ (and example file)
* resources/tools/virl/topologies/
* set _qemu_bin path using node['arch'] in qemu_set_node()
Change-Id: If46d88d064d213d3e4c6fc584bb8e0d4b6428cb8
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
Diffstat (limited to 'tests/tldk')
-rwxr-xr-x | tests/tldk/tldk_scripts/install_tldk.sh | 15 | ||||
-rwxr-xr-x | tests/tldk/tldk_scripts/run_tldk.sh | 15 |
2 files changed, 26 insertions, 4 deletions
diff --git a/tests/tldk/tldk_scripts/install_tldk.sh b/tests/tldk/tldk_scripts/install_tldk.sh index 0cc65f949e..4adff561ce 100755 --- a/tests/tldk/tldk_scripts/install_tldk.sh +++ b/tests/tldk/tldk_scripts/install_tldk.sh @@ -2,6 +2,17 @@ set -x +# 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=16.11.1 ROOTDIR=/tmp/TLDK-testing @@ -17,12 +28,12 @@ echo $PWD echo ${DPDK_PACKAGE} cd ./${DPDK_DIR} sudo sed -i 's/^CONFIG_RTE_LIBRTE_PMD_PCAP=n/CONFIG_RTE_LIBRTE_PMD_PCAP=y/g' ./config/common_base -sudo make install T=x86_64-native-linuxapp-gcc +sudo make install T=${ARCH}-${MACHINE}-linuxapp-gcc cd ${PWDDIR} # compile the TLDK export RTE_SDK=${ROOTDIR}/${DPDK_DIR}/ -export RTE_TARGET=x86_64-native-linuxapp-gcc +export RTE_TARGET=${ARCH}-${MACHINE}-linuxapp-gcc cd ${ROOTDIR}/tldk make all cd ${PWDDIR} diff --git a/tests/tldk/tldk_scripts/run_tldk.sh b/tests/tldk/tldk_scripts/run_tldk.sh index 6a0311b974..10ad5b27fa 100755 --- a/tests/tldk/tldk_scripts/run_tldk.sh +++ b/tests/tldk/tldk_scripts/run_tldk.sh @@ -2,6 +2,17 @@ set -x +# 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 + ROOTDIR=/tmp/TLDK-testing PWDDIR=$(pwd) @@ -53,12 +64,12 @@ sleep 2 # need to install libpcap, libpcap-dev to use --vdev cd ${ROOTDIR} if [ "$IPv6_addr" == "NONE" ]; then -sudo sh -c "nohup ./tldk/x86_64-native-linuxapp-gcc/app/l4fwd --lcore='0' \ +sudo sh -c "nohup ./tldk/${ARCH}-${MACHINE}-linuxapp-gcc/app/l4fwd --lcore='0' \ -n 2 --vdev 'eth_pcap1,rx_pcap=${rx_file},tx_pcap=${tx_file}' \ -b ${nic_pci} -- -P -U -R 0x1000 -S 0x1000 -s 0x20 -f ${fe_cfg} -b ${be_cfg} \ port=0,lcore=0,rx_offload=0,tx_offload=0,ipv4=${IPv4_addr} &" elif [ "$IPv4_addr" == "NONE" ]; then -sudo sh -c "nohup ./tldk/x86_64-native-linuxapp-gcc/app/l4fwd --lcore='0' \ +sudo sh -c "nohup ./tldk/${ARCH}-${MACHINE}-linuxapp-gcc/app/l4fwd --lcore='0' \ -n 2 --vdev 'eth_pcap1,rx_pcap=${rx_file},tx_pcap=${tx_file}' \ -b ${nic_pci} -- -P -U -R 0x1000 -S 0x1000 -s 0x20 -f ${fe_cfg} -b ${be_cfg} \ port=0,lcore=0,rx_offload=0,tx_offload=0,ipv6=${IPv6_addr} &" |