1dc8ae028f3c9685e8cf93e2a4d3f34edce9e8cc
[one.git] / tests / data_plane / vpp_lite_topo / test_driver / basic_multi_traffic.sh
1 source config.sh
2 source odl_utils.sh
3 source topologies/basic_topo.sh
4
5 ODL_CONFIG_FILE1="vpp1.json"
6 ODL_CONFIG_FILE2="vpp2.json"
7 ODL_CONFIG_FILE3="update_vpp2.json"
8
9 if [ "$1" == "clean" ] ; then
10   basic_topo_clean
11   exit 0
12 fi
13
14 if [[ $(id -u) != 0 ]]; then
15   echo "Error: run this as a root."
16   exit 1
17 fi
18
19 function test_basic_multi_traffic
20 {
21   basic_topo_setup
22
23   # additional setup
24   ODL_CONFIG_DIR=`pwd`/../configs/odl/basic/4o4
25   post_curl "add-mapping" ${ODL_CONFIG_FILE1}
26   post_curl "add-mapping" ${ODL_CONFIG_FILE2}
27
28   test_result=1
29
30   if [ "$3" == "wait" ] ; then
31     read -p  "press any key to continue .." -n1
32   fi
33
34   ip netns exec vppns1 "${1}" -w 15 -c 1 "${2}"
35   if [ $? -ne 0 ] ; then
36     echo "No response received!"
37     basic_topo_clean
38     exit $test_result
39   fi
40
41   ip netns exec vppns1 "${3}" -w 15 -c 1 "${4}"
42   if [ $? -ne 0 ] ; then
43     echo "No response received!"
44     basic_topo_clean
45     exit $test_result
46   fi
47
48   # change IP addresses of destination RLOC
49   echo "set int ip address del host-intervpp2 6.0.3.2/24" | nc 0 5003
50   echo "set int ip address host-intervpp2 6.0.3.20/24" | nc 0 5003
51   echo "set int ip address del host-intervpp2 6:0:3::2/64" | nc 0 5003
52   echo "set int ip address host-intervpp2 6:0:3::20/64" | nc 0 5003
53
54   ODL_CONFIG_DIR=`pwd`/../configs/odl/basic/6o6
55   post_curl "update-mapping" ${ODL_CONFIG_FILE3}
56   ODL_CONFIG_DIR=`pwd`/../configs/odl/basic/4o4
57   post_curl "update-mapping" ${ODL_CONFIG_FILE3}
58
59   ip netns exec vppns1 "${1}" -w 15 -c 1 "${2}"
60   if [ $? -ne 0 ] ; then
61     echo "No response received!"
62     basic_topo_clean
63     exit $test_result
64   fi
65
66   ip netns exec vppns1 "${3}" -w 15 -c 1 "${4}"
67   rc=$?
68
69   if [ "$3" == "wait" ] ; then
70     read -p  "press any key to continue .." -n1
71   fi
72
73   # test done
74
75   basic_topo_clean
76   if [ $rc -ne 0 ] ; then
77     echo "Test failed: No ICMP response received within specified timeout limit!"
78   else
79     echo "Test passed."
80     test_result=0
81   fi
82
83   exit $test_result
84 }
85