examples/ipsec-secgw: support 192/256 AES key sizes
[dpdk.git] / examples / ipsec-secgw / test / common_defs.sh
index 09689af..35cdd1c 100644 (file)
@@ -1,4 +1,5 @@
 #! /bin/bash
+# SPDX-License-Identifier: BSD-3-Clause
 
 #check ETH_DEV
 if [[ -z "${ETH_DEV}" ]]; then
@@ -41,6 +42,39 @@ DPDK_BUILD=${RTE_TARGET:-x86_64-native-linux-gcc}
 DEF_MTU_LEN=1400
 DEF_PING_LEN=1200
 
+#upsate operation mode based on env vars values
+select_mode()
+{
+       # select sync/async mode
+       if [[ -n "${CRYPTO_PRIM_TYPE}" && -n "${SGW_CMD_XPRM}" ]]; then
+               echo "${CRYPTO_PRIM_TYPE} is enabled"
+               SGW_CFG_XPRM="${SGW_CFG_XPRM} ${CRYPTO_PRIM_TYPE}"
+       fi
+
+       # check if fallback type is needed
+       if [[ "${MODE}" == *fallback* ]]; then
+               if [[ -n "${CRYPTO_FLBK_TYPE}" ]]; then
+                       echo "${CRYPTO_FLBK_TYPE} is enabled"
+               fi
+       fi
+
+       #make linux to generate fragmented packets
+       if [[ -n "${MULTI_SEG_TEST}" && -n "${SGW_CMD_XPRM}" ]]; then
+               echo "multi-segment test is enabled"
+               SGW_CMD_XPRM="${SGW_CMD_XPRM} ${MULTI_SEG_TEST}"
+               PING_LEN=5000
+               MTU_LEN=1500
+       else
+               if [[ -z "${MULTI_SEG_TEST}" && "${MODE}" == *fallback* ]]; then
+                       echo "MULTI_SEG_TEST environment variable needs to be \
+set for ${MODE} test"
+                       exit 127
+               fi
+               PING_LEN=${DEF_PING_LEN}
+               MTU_LEN=${DEF_MTU_LEN}
+       fi
+}
+
 #setup mtu on local iface
 set_local_mtu()
 {