diff options
Diffstat (limited to 'tests/data_plane/csit_topo')
-rw-r--r-- | tests/data_plane/csit_topo/README | 8 | ||||
-rw-r--r-- | tests/data_plane/csit_topo/lisp_ip4.sh | 16 | ||||
-rw-r--r-- | tests/data_plane/csit_topo/lisp_ip4o6.sh | 39 | ||||
-rw-r--r-- | tests/data_plane/csit_topo/lisp_ip6.sh | 12 | ||||
-rw-r--r-- | tests/data_plane/csit_topo/lisp_ip6o4.sh | 39 | ||||
-rwxr-xr-x | tests/data_plane/csit_topo/lisp_test.sh | 41 |
6 files changed, 132 insertions, 23 deletions
diff --git a/tests/data_plane/csit_topo/README b/tests/data_plane/csit_topo/README index 6d2f10d..a6fde3f 100644 --- a/tests/data_plane/csit_topo/README +++ b/tests/data_plane/csit_topo/README @@ -6,4 +6,10 @@ ./lisp_test ip6 # Test ip4 and ip6 topology -./lisp_test all +./lisp_test ip4_ip6 + +# Test ip4 over ip6 +./lisp_test 4o6 + +# Test ip6 over ip4 +./lisp_test 6o4 diff --git a/tests/data_plane/csit_topo/lisp_ip4.sh b/tests/data_plane/csit_topo/lisp_ip4.sh index 55c8a91..8d96165 100644 --- a/tests/data_plane/csit_topo/lisp_ip4.sh +++ b/tests/data_plane/csit_topo/lisp_ip4.sh @@ -11,15 +11,11 @@ function ping_lisp { fi } -curl -X POST http://${ODL_IP}:${ODL_PORT}/restconf/operations/odl-mappingservice:add-mapping \ - -H "Content-Type: application/json" --data-binary "@${ODL_CONFIG_DIR}${ODL_ADD_CONFIG1}" \ - -u ${ODL_USER}:${ODL_PASSWD} -curl -X POST http://${ODL_IP}:${ODL_PORT}/restconf/operations/odl-mappingservice:add-mapping \ - -H "Content-Type: application/json" --data-binary "@${ODL_CONFIG_DIR}${ODL_ADD_CONFIG2}" \ - -u ${ODL_USER}:${ODL_PASSWD} +post_curl "add-mapping" ${ODL_ADD_CONFIG1} +post_curl "add-mapping" ${ODL_ADD_CONFIG2} -rsync -avz ${VPP_CONFIG_DIR}${VPP_CONFIG1} ${USER}@${VPP1_IP}:${TMP_DIR}/vpp1.conf -rsync -avz ${VPP_CONFIG_DIR}${VPP_CONFIG2} ${USER}@${VPP2_IP}:${TMP_DIR}/vpp2.conf +rsync -avz ${VPP_CONFIG_DIR}${VPP_CONFIG1} ${USER}@${VPP1_IP}:${TMP_DIR}/vpp1.conf +rsync -avz ${VPP_CONFIG_DIR}${VPP_CONFIG2} ${USER}@${VPP2_IP}:${TMP_DIR}/vpp2.conf ssh_vpp1 "sudo vpp_api_test < ${TMP_DIR}/vpp1.conf" ssh_vpp2 "sudo vpp_api_test < ${TMP_DIR}/vpp2.conf" @@ -38,8 +34,6 @@ rsync -avz ${VPP_CONFIG_DIR}${VPP_RECONF2} ${USER}@${VPP2_IP}:${TMP_DIR}/vpp2_r ssh_vpp2 "sudo vpp_api_test < ${TMP_DIR}/vpp2_reconf.conf" -curl -X POST http://${ODL_IP}:${ODL_PORT}/restconf/operations/odl-mappingservice:update-mapping \ - -H "Content-Type: application/json" --data-binary "@${ODL_CONFIG_DIR}${ODL_REPLACE_CONFIG2}" \ - -u ${ODL_USER}:${ODL_PASSWD} +post_curl "update-mapping" ${ODL_REPLACE_CONFIG2} ping_lisp diff --git a/tests/data_plane/csit_topo/lisp_ip4o6.sh b/tests/data_plane/csit_topo/lisp_ip4o6.sh new file mode 100644 index 0000000..3cafb6e --- /dev/null +++ b/tests/data_plane/csit_topo/lisp_ip4o6.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +function ping_lisp { + local RESULTS + RESULTS=$(ssh_tg "ping -c 10 6.0.2.2") + if [ $? -ne 0 ] ; then + echo "Can not ping other machine" + ssh_vpp1 "sudo rm -r ${TMP_DIR}" + ssh_vpp2 "sudo rm -r ${TMP_DIR}" + exit -1 + fi +} + +post_curl "add-mapping" ${ODL_ADD_CONFIG1_4o6} +post_curl "add-mapping" ${ODL_ADD_CONFIG2_4o6} + +rsync -avz ${VPP_CONFIG_DIR}${VPP_CONFIG1_4o6} ${USER}@${VPP1_IP}:${TMP_DIR}/vpp1.conf +rsync -avz ${VPP_CONFIG_DIR}${VPP_CONFIG2_4o6} ${USER}@${VPP2_IP}:${TMP_DIR}/vpp2.conf + +ssh_vpp1 "sudo vpp_api_test < ${TMP_DIR}/vpp1.conf" +ssh_vpp2 "sudo vpp_api_test < ${TMP_DIR}/vpp2.conf" + +ssh_tg "sudo ip addr add 6.0.1.2/24 dev ${TG_INT1}" +ssh_tg "sudo ip link set ${TG_INT1} up" +ssh_tg "sudo ip route add 6.0.2.0/24 via 6.0.1.1" +ssh_tg "sudo ip netns exec net2 ip addr add 6.0.2.2/24 dev ${TG_INT2}" +ssh_tg "sudo ip netns exec net2 ip link set lo up" +ssh_tg "sudo ip netns exec net2 ip link set ${TG_INT2} up" +ssh_tg "sudo ip netns exec net2 ip route add 6.0.1.0/24 via 6.0.2.1" + +ping_lisp + +rsync -avz ${VPP_CONFIG_DIR}${VPP_RECONF2_4o6} ${USER}@${VPP2_IP}:${TMP_DIR}/vpp2_reconf.conf + +ssh_vpp2 "sudo vpp_api_test < ${TMP_DIR}/vpp2_reconf.conf" + +post_curl "update-mapping" ${ODL_REPLACE_CONFIG2_4o6} + +ping_lisp diff --git a/tests/data_plane/csit_topo/lisp_ip6.sh b/tests/data_plane/csit_topo/lisp_ip6.sh index eb0c172..20f0381 100644 --- a/tests/data_plane/csit_topo/lisp_ip6.sh +++ b/tests/data_plane/csit_topo/lisp_ip6.sh @@ -11,12 +11,8 @@ function ping_lisp6 { fi } -curl -X POST http://${ODL_IP}:${ODL_PORT}/restconf/operations/odl-mappingservice:add-mapping \ - -H "Content-Type: application/json" --data-binary "@${ODL_CONFIG_DIR}${ODL_ADD_CONFIG1_6}" \ - -u ${ODL_USER}:${ODL_PASSWD} -curl -X POST http://${ODL_IP}:${ODL_PORT}/restconf/operations/odl-mappingservice:add-mapping \ - -H "Content-Type: application/json" --data-binary "@${ODL_CONFIG_DIR}${ODL_ADD_CONFIG2_6}" \ - -u ${ODL_USER}:${ODL_PASSWD} +post_curl "add-mapping" ${ODL_ADD_CONFIG1_6} +post_curl "add-mapping" ${ODL_ADD_CONFIG2_6} rsync -avz ${VPP_CONFIG_DIR}${VPP_CONFIG1_6} ${USER}@${VPP1_IP}:${TMP_DIR}/vpp1_6.conf rsync -avz ${VPP_CONFIG_DIR}${VPP_CONFIG2_6} ${USER}@${VPP2_IP}:${TMP_DIR}/vpp2_6.conf @@ -38,8 +34,6 @@ rsync -avz ${VPP_CONFIG_DIR}${VPP_RECONF2_6} ${USER}@${VPP2_IP}:${TMP_DIR}/vpp2 ssh_vpp2 "sudo vpp_api_test < ${TMP_DIR}/vpp2_reconf_6.conf" -curl -X POST http://${ODL_IP}:${ODL_PORT}/restconf/operations/odl-mappingservice:update-mapping \ - -H "Content-Type: application/json" --data-binary "@${ODL_CONFIG_DIR}${ODL_REPLACE_CONFIG2_6}" \ - -u ${ODL_USER}:${ODL_PASSWD} +post_curl "update-mapping" ${ODL_REPLACE_CONFIG2_6} ping_lisp6 diff --git a/tests/data_plane/csit_topo/lisp_ip6o4.sh b/tests/data_plane/csit_topo/lisp_ip6o4.sh new file mode 100644 index 0000000..4e620f7 --- /dev/null +++ b/tests/data_plane/csit_topo/lisp_ip6o4.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +function ping_lisp6 { + local RESULTS + RESULTS=$(ssh_tg "ping6 -c 10 6:0:2::2") + if [ $? -ne 0 ] ; then + echo "Can not ping other machine" + ssh_vpp1 "sudo rm -r ${TMP_DIR}" + ssh_vpp2 "sudo rm -r ${TMP_DIR}" + exit -1 + fi +} + +post_curl "add-mapping" ${ODL_ADD_CONFIG1_6o4} +post_curl "add-mapping" ${ODL_ADD_CONFIG2_6o4} + +rsync -avz ${VPP_CONFIG_DIR}${VPP_CONFIG1_6o4} ${USER}@${VPP1_IP}:${TMP_DIR}/vpp1_6.conf +rsync -avz ${VPP_CONFIG_DIR}${VPP_CONFIG2_6o4} ${USER}@${VPP2_IP}:${TMP_DIR}/vpp2_6.conf + +ssh_vpp1 "sudo vpp_api_test < ${TMP_DIR}/vpp1_6.conf" +ssh_vpp2 "sudo vpp_api_test < ${TMP_DIR}/vpp2_6.conf" + +ssh_tg "sudo ip addr add 6:0:1::2/64 dev ${TG_INT1}" +ssh_tg "sudo ip link set ${TG_INT1} up" +ssh_tg "sudo ip route add 6:0:2::0/64 via 6:0:1::1 || exit 0" +ssh_tg "sudo ip netns exec net2 ip addr add 6:0:2::2/64 dev ${TG_INT2}" +ssh_tg "sudo ip netns exec net2 ip link set lo up" +ssh_tg "sudo ip netns exec net2 ip link set ${TG_INT2} up" +ssh_tg "sudo ip netns exec net2 ip route add 6:0:1::/64 via 6:0:2::1" + +ping_lisp6 + +rsync -avz ${VPP_CONFIG_DIR}${VPP_RECONF2_6o4} ${USER}@${VPP2_IP}:${TMP_DIR}/vpp2_reconf_6.conf + +ssh_vpp2 "sudo vpp_api_test < ${TMP_DIR}/vpp2_reconf_6.conf" + +post_curl "update-mapping" ${ODL_REPLACE_CONFIG2_6o4} + +ping_lisp6 diff --git a/tests/data_plane/csit_topo/lisp_test.sh b/tests/data_plane/csit_topo/lisp_test.sh index 303b6fc..06ea7fb 100755 --- a/tests/data_plane/csit_topo/lisp_test.sh +++ b/tests/data_plane/csit_topo/lisp_test.sh @@ -18,6 +18,16 @@ # | | # +------+ +if [ "$1" == "-h" ] || [ "$1" == "-help" ] ; then + echo "lisp_test.sh [ip4] [ip6] [ip4_ip6] [4o6] [6o4]" + echo " ip4 - test ip4 topology" + echo " ip6 - test ip6 topology" + echo " ip4_ip6 - test ip4 and ip6 topology" + echo " 4o6 - test ip4 over ip6" + echo " 6o4 - test ip6 over ip4" + exit 0 +fi + set -x USER="csit" @@ -35,18 +45,30 @@ ODL_M_USER="user" ODL_INT="eth2" VPP_CONFIG_DIR="../configs/vpp_csit_config/" VPP_CONFIG1="vpp1.conf" +VPP_CONFIG1_4o6="vpp1_4o6.conf" VPP_CONFIG1_6="vpp1_6.conf" +VPP_CONFIG1_6o4="vpp1_6o4.conf" VPP_CONFIG2="vpp2.conf" +VPP_CONFIG2_4o6="vpp2_4o6.conf" VPP_CONFIG2_6="vpp2_6.conf" +VPP_CONFIG2_6o4="vpp2_6o4.conf" VPP_RECONF2="vpp2_reconf.conf" VPP_RECONF2_6="vpp2_reconf_6.conf" +VPP_RECONF2_4o6="vpp2_reconf_4o6.conf" +VPP_RECONF2_6o4="vpp2_reconf_6o4.conf" ODL_CONFIG_DIR="../configs/odl/" ODL_ADD_CONFIG1="add_ipv4_odl1.txt" +ODL_ADD_CONFIG1_4o6="add_ipv4o6_odl1.txt" ODL_ADD_CONFIG1_6="add_ipv6_odl1.txt" +ODL_ADD_CONFIG1_6o4="add_ipv6o4_odl1.txt" ODL_ADD_CONFIG2="add_ipv4_odl2.txt" +ODL_ADD_CONFIG2_4o6="add_ipv4o6_odl2.txt" ODL_ADD_CONFIG2_6="add_ipv6_odl2.txt" +ODL_ADD_CONFIG2_6o4="add_ipv6o4_odl2.txt" ODL_REPLACE_CONFIG2="replace_ipv4_odl2.txt" ODL_REPLACE_CONFIG2_6="replace_ipv6_odl2.txt" +ODL_REPLACE_CONFIG2_4o6="replace_ipv4o6_odl2.txt" +ODL_REPLACE_CONFIG2_6o4="replace_ipv6o4_odl2.txt" function ssh_vpp1 { ssh ${USER}@${VPP1_IP} ${@} || exit @@ -64,7 +86,14 @@ function ssh_odl { ssh ${ODL_M_USER}@${ODL_IP} ${@} || exit } -curl -X DELETE http://${ODL_IP}:${ODL_PORT}/restconf/config/odl-mappingservice:mapping-database/ -u ${ODL_USER}:${ODL_PASSWD} +function post_curl { + curl -X POST http://${ODL_IP}:${ODL_PORT}/restconf/operations/odl-mappingservice:${1} \ + -H "Content-Type: application/json" --data-binary "@${ODL_CONFIG_DIR}${2}" \ + -u ${ODL_USER}:${ODL_PASSWD} +} + +curl -X DELETE http://${ODL_IP}:${ODL_PORT}/restconf/config/odl-mappingservice:mapping-database/ \ + -u ${ODL_USER}:${ODL_PASSWD} ssh_tg "sudo ip netns del net2 &> /dev/null || exit 0" ssh_tg "sudo ip addr flush dev ${TG_INT1} &> /dev/null || exit 0" @@ -97,7 +126,15 @@ if [ "$1" == "ip6" ] ; then source lisp_ip6.sh fi -if [ "$1" == "all" ] ; then +if [ "$1" == "4o6" ] ; then + source lisp_ip4o6.sh +fi + +if [ "$1" == "6o4" ] ; then + source lisp_ip6o4.sh +fi + +if [ "$1" == "ip4_ip6" ] ; then source lisp_ip4.sh source lisp_ip6.sh |