summaryrefslogtreecommitdiffstats
path: root/tests/data_plane/csit_topo
diff options
context:
space:
mode:
authorAndrej Kozemcak <akozemca@cisco.com>2016-05-16 15:46:18 +0200
committerAndrej Kozemcak <akozemca@cisco.com>2016-05-16 16:02:33 +0200
commit46e4b31a8a57e9af1be2cdbc0c67c153ec9cd9b3 (patch)
treeae02fa95391cce269f16a97730fe5989a90cbab2 /tests/data_plane/csit_topo
parent676362e1714afe4e7bb1557828580e710670b602 (diff)
Add new test for IP4 over IP6 and IP6 over IP4
Change-Id: Icc411c22f041c447d595cb158102675f4055a7de Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
Diffstat (limited to 'tests/data_plane/csit_topo')
-rw-r--r--tests/data_plane/csit_topo/README8
-rw-r--r--tests/data_plane/csit_topo/lisp_ip4.sh16
-rw-r--r--tests/data_plane/csit_topo/lisp_ip4o6.sh39
-rw-r--r--tests/data_plane/csit_topo/lisp_ip6.sh12
-rw-r--r--tests/data_plane/csit_topo/lisp_ip6o4.sh39
-rwxr-xr-xtests/data_plane/csit_topo/lisp_test.sh41
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