]> git.proxmox.com Git - ceph.git/blob - ceph/src/spdk/dpdk/examples/ipsec-secgw/test/linux_test4.sh
import 15.2.0 Octopus source
[ceph.git] / ceph / src / spdk / dpdk / examples / ipsec-secgw / test / linux_test4.sh
1 #! /bin/bash
2
3 # usage: /bin/bash linux_test4.sh <ipsec_mode>
4 # for list of available modes please refer to run_test.sh.
5 # ipsec-secgw (IPv4 mode) functional test script.
6 #
7 # Note that for most of them you required appropriate crypto PMD/device
8 # to be avaialble.
9 # Also user has to setup properly the following environment variables:
10 # SGW_PATH - path to the ipsec-secgw binary to test
11 # REMOTE_HOST - ip/hostname of the DUT
12 # REMOTE_IFACE - iface name for the test-port on DUT
13 # ETH_DEV - ethernet device to be used on SUT by DPDK ('-w <pci-id>')
14 # Also user can optonally setup:
15 # SGW_LCORE - lcore to run ipsec-secgw on (default value is 0)
16 # CRYPTO_DEV - crypto device to be used ('-w <pci-id>')
17 # if none specified appropriate vdevs will be created by the scrit
18 #
19 # The purpose of the script is to automate ipsec-secgw testing
20 # using another system running linux as a DUT.
21 # It expects that SUT and DUT are connected through at least 2 NICs.
22 # One NIC is expected to be managed by linux both machines,
23 # and will be used as a control path
24 # Make sure user from SUT can ssh to DUT without entering password.
25 # Second NIC (test-port) should be reserved for DPDK on SUT,
26 # and should be managed by linux on DUT.
27 # The script starts ipsec-secgw with 2 NIC devices: test-port and tap vdev.
28 # Then configures local tap iface and remote iface and ipsec policies
29 # in the following way:
30 # traffic going over test-port in both directions has to be
31 # protected by ipsec.
32 # raffic going over TAP in both directions doesn't have to be protected.
33 # I.E:
34 # DUT OS(NIC1)--(ipsec)-->(NIC1)ipsec-secgw(TAP)--(plain)-->(TAP)SUT OS
35 # SUT OS(TAP)--(plain)-->(TAP)psec-secgw(NIC1)--(ipsec)-->(NIC1)DUT OS
36 # Then tries to perorm some data transfer using the scheme decribed above.
37 #
38
39 DIR=`dirname $0`
40 MODE=$1
41
42 . ${DIR}/common_defs.sh
43 . ${DIR}/${MODE}_defs.sh
44
45 config_secgw
46
47 secgw_start
48
49 config_iface
50
51 config_remote_xfrm
52
53 . ${DIR}/data_rxtx.sh
54
55 ping_test1 ${REMOTE_IPV4}
56 st=$?
57 if [[ $st -eq 0 ]]; then
58 scp_test1 ${REMOTE_IPV4}
59 st=$?
60 fi
61
62 secgw_stop
63 exit $st