diff options
Diffstat (limited to 'tests/data_plane/vpp_lite_topo/test_driver')
3 files changed, 185 insertions, 0 deletions
diff --git a/tests/data_plane/vpp_lite_topo/test_driver/basic.sh b/tests/data_plane/vpp_lite_topo/test_driver/basic.sh new file mode 100644 index 0000000..897c773 --- /dev/null +++ b/tests/data_plane/vpp_lite_topo/test_driver/basic.sh @@ -0,0 +1,56 @@ +source config.sh +source odl_utils.sh +source topologies/basic_topo.sh + +ODL_CONFIG_FILE1="vpp1.json" +ODL_CONFIG_FILE2="vpp2.json" +ODL_CONFIG_FILE3="update_vpp2.json" + +if [ "$1" == "clean" ] ; then + basic_topo_clean + exit 0 +fi + +if [[ $(id -u) != 0 ]]; then + echo "Error: run this as a root." + exit 1 +fi + +function test_basic +{ + if [ "$3" != "no_setup" ] ; then + basic_topo_setup + fi + + test_result=1 + + ip netns exec vppns1 "${1}" -w 15 -c 1 "${2}" + rc=$? + if [ $rc -ne 0 ] ; then + echo "No response received!" + basic_topo_clean + exit $test_result + fi + + # change IP addresses of destination RLOC + echo "set int ip address del host-intervpp2 6.0.3.2/24" | nc 0 5003 + echo "set int ip address host-intervpp2 6.0.3.20/24" | nc 0 5003 + echo "set int ip address del host-intervpp2 6:0:3::2/24" | nc 0 5003 + echo "set int ip address host-intervpp2 6:0:3::20/24" | nc 0 5003 + post_curl "update-mapping" ${ODL_CONFIG_FILE3} + + ip netns exec vppns1 "${1}" -w 15 -c 1 "${2}" + rc=$? + + # test done + + basic_topo_clean + if [ $rc -ne 0 ] ; then + echo "Test failed: No ICMP response received within specified timeout limit!" + else + echo "Test passed." + test_result=0 + fi + + exit $test_result +} diff --git a/tests/data_plane/vpp_lite_topo/test_driver/basic_multi_traffic.sh b/tests/data_plane/vpp_lite_topo/test_driver/basic_multi_traffic.sh new file mode 100644 index 0000000..2d3deaf --- /dev/null +++ b/tests/data_plane/vpp_lite_topo/test_driver/basic_multi_traffic.sh @@ -0,0 +1,77 @@ +source config.sh +source odl_utils.sh +source topologies/basic_topo.sh + +ODL_CONFIG_FILE1="vpp1.json" +ODL_CONFIG_FILE2="vpp2.json" +ODL_CONFIG_FILE3="update_vpp2.json" + +if [ "$1" == "clean" ] ; then + basic_topo_clean + exit 0 +fi + +if [[ $(id -u) != 0 ]]; then + echo "Error: run this as a root." + exit 1 +fi + +function test_basic_multi_traffic +{ + basic_topo_setup + + # additional setup + ODL_CONFIG_DIR=`pwd`/../configs/odl/basic/4o4 + post_curl "add-mapping" ${ODL_CONFIG_FILE1} + post_curl "add-mapping" ${ODL_CONFIG_FILE2} + + test_result=1 + + ip netns exec vppns1 "${1}" -w 15 -c 1 "${2}" + if [ $? -ne 0 ] ; then + echo "No response received!" + basic_topo_clean + exit $test_result + fi + + ip netns exec vppns1 "${3}" -w 15 -c 1 "${4}" + if [ $? -ne 0 ] ; then + echo "No response received!" + basic_topo_clean + exit $test_result + fi + + # change IP addresses of destination RLOC + echo "set int ip address del host-intervpp2 6.0.3.2/24" | nc 0 5003 + echo "set int ip address host-intervpp2 6.0.3.20/24" | nc 0 5003 + echo "set int ip address del host-intervpp2 6:0:3::2/24" | nc 0 5003 + echo "set int ip address host-intervpp2 6:0:3::20/24" | nc 0 5003 + + ODL_CONFIG_DIR=`pwd`/../configs/odl/basic/6o6 + post_curl "update-mapping" ${ODL_CONFIG_FILE3} + ODL_CONFIG_DIR=`pwd`/../configs/odl/basic/4o4 + post_curl "update-mapping" ${ODL_CONFIG_FILE3} + + ip netns exec vppns1 "${1}" -w 15 -c 1 "${2}" + if [ $? -ne 0 ] ; then + echo "No response received!" + basic_topo_clean + exit $test_result + fi + + ip netns exec vppns1 "${3}" -w 15 -c 1 "${4}" + rc=$? + + # test done + + basic_topo_clean + if [ $rc -ne 0 ] ; then + echo "Test failed: No ICMP response received within specified timeout limit!" + else + echo "Test passed." + test_result=0 + fi + + exit $test_result +} + diff --git a/tests/data_plane/vpp_lite_topo/test_driver/basic_no_odl.sh b/tests/data_plane/vpp_lite_topo/test_driver/basic_no_odl.sh new file mode 100644 index 0000000..f19fce6 --- /dev/null +++ b/tests/data_plane/vpp_lite_topo/test_driver/basic_no_odl.sh @@ -0,0 +1,52 @@ +source config.sh +source odl_utils.sh +source topologies/basic_topo.sh + +if [ "$1" == "clean" ] ; then + basic_topo_clean + exit 0 +fi + +if [[ $(id -u) != 0 ]]; then + echo "Error: run this as a root." + exit 1 +fi + +function test_basic_no_odl +{ + basic_topo_setup no_odl + + test_result=1 + + ip netns exec vppns1 "${1}" -w 15 -c 1 "${2}" + if [ $? -ne 0 ] ; then + echo "No response received!" + basic_topo_clean no_odl + exit $test_result + fi + + # change IP addresses of destination RLOC + echo "set int ip address del host-intervpp2 6.0.3.2/24" | nc 0 5003 + echo "set int ip address host-intervpp2 6.0.3.20/24" | nc 0 5003 + echo "set int ip address del host-intervpp2 6:0:3::2/24" | nc 0 5003 + echo "set int ip address host-intervpp2 6:0:3::20/24" | nc 0 5003 + + echo "lisp remote-mapping del vni 0 deid 6.0.2.0/24 seid 6.0.1.0/24 rloc 6.0.3.2" | nc 0 5002 + echo "lisp remote-mapping add vni 0 deid 6.0.2.0/24 seid 6.0.1.0/24 rloc 6.0.3.20" | nc 0 5002 + + ip netns exec vppns1 "${1}" -w 15 -c 1 "${2}" + rc=$? + + # test done + + basic_topo_clean no_odl + if [ $rc -ne 0 ] ; then + echo "Test failed: No ICMP response received within specified timeout limit!" + else + echo "Test passed." + test_result=0 + fi + + exit $test_result +} + |