1#! /bin/bash 2 3# usage: /bin/bash run_test.sh [-46] 4# Run all defined linux_test[4,6].sh test-cases one by one 5# user has to setup properly the following environment variables: 6# SGW_PATH - path to the ipsec-secgw binary to test 7# REMOTE_HOST - ip/hostname of the DUT 8# REMOTE_IFACE - iface name for the test-port on DUT 9# ETH_DEV - ethernet device to be used on SUT by DPDK ('-w <pci-id>') 10# Also user can optonally setup: 11# SGW_LCORE - lcore to run ipsec-secgw on (default value is 0) 12# CRYPTO_DEV - crypto device to be used ('-w <pci-id>') 13# if none specified appropriate vdevs will be created by the scrit 14# refer to linux_test1.sh for more information 15 16# All supported modes to test. 17# naming convention: 18# 'old' means that ipsec-secgw will run in legacy (non-librte_ipsec mode) 19# 'tun/trs' refer to tunnel/transport mode respectively 20LINUX_TEST="tun_aescbc_sha1 \ 21tun_aescbc_sha1_esn \ 22tun_aescbc_sha1_esn_atom \ 23tun_aesgcm \ 24tun_aesgcm_esn \ 25tun_aesgcm_esn_atom \ 26trs_aescbc_sha1 \ 27trs_aescbc_sha1_esn \ 28trs_aescbc_sha1_esn_atom \ 29trs_aesgcm \ 30trs_aesgcm_esn \ 31trs_aesgcm_esn_atom \ 32tun_aescbc_sha1_old \ 33tun_aesgcm_old \ 34trs_aescbc_sha1_old \ 35trs_aesgcm_old" 36 37DIR=`dirname $0` 38 39# get input options 40st=0 41run4=0 42run6=0 43while [[ ${st} -eq 0 ]]; do 44 getopts ":46" opt 45 st=$? 46 if [[ "${opt}" == "4" ]]; then 47 run4=1 48 elif [[ "${opt}" == "6" ]]; then 49 run6=1 50 fi 51done 52 53if [[ ${run4} -eq 0 && {run6} -eq 0 ]]; then 54 exit 127 55fi 56 57for i in ${LINUX_TEST}; do 58 59 echo "starting test ${i}" 60 61 st4=0 62 if [[ ${run4} -ne 0 ]]; then 63 /bin/bash ${DIR}/linux_test4.sh ${i} 64 st4=$? 65 echo "test4 ${i} finished with status ${st4}" 66 fi 67 68 st6=0 69 if [[ ${run6} -ne 0 ]]; then 70 /bin/bash ${DIR}/linux_test6.sh ${i} 71 st6=$? 72 echo "test6 ${i} finished with status ${st6}" 73 fi 74 75 let "st = st4 + st6" 76 if [[ $st -ne 0 ]]; then 77 echo "ERROR test ${i} FAILED" 78 exit $st 79 fi 80done 81