summaryrefslogtreecommitdiffstats
path: root/tests/data_plane/vpp_lite_topo/test_driver/src_dst.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/data_plane/vpp_lite_topo/test_driver/src_dst.sh')
-rw-r--r--tests/data_plane/vpp_lite_topo/test_driver/src_dst.sh45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/data_plane/vpp_lite_topo/test_driver/src_dst.sh b/tests/data_plane/vpp_lite_topo/test_driver/src_dst.sh
index 14654ad..99c74bf 100644
--- a/tests/data_plane/vpp_lite_topo/test_driver/src_dst.sh
+++ b/tests/data_plane/vpp_lite_topo/test_driver/src_dst.sh
@@ -21,6 +21,11 @@ function send_ping_from_ns
assert_rc_ok $? 3_node_star_topo_clean "No ICMP Response!"
}
+function send_ping_from_ns_no_verify
+{
+ ip netns exec "${1}" "${2}" -c 1 "${3}"
+}
+
function test_src_dst
{
3_node_star_topo_setup
@@ -94,3 +99,43 @@ function test_src_dst_l2
print_status $rc "No ICM response!"
exit $test_result
}
+
+function mapping_exists
+{
+ python scripts/vat/mapping_exists.py ${VPP_API_TEST} "$1" "$2" ${VAT_TEMPLATES}
+}
+
+function test_mapping_timers
+{
+ 3_node_star_topo_setup
+ post_curl "add-mapping" "map3.json"
+ post_curl "add-mapping" "map4.json"
+
+ maybe_pause
+
+ test_result=1
+
+ send_ping_from_ns vpp-ns1 ${1} ${2}
+ send_ping_from_ns vpp-ns3 ${1} ${2}
+
+ # wait for map-requests to resolve
+ sleep 2
+
+ mapping_exists "vpp1" "6.0.1.0/24|6.0.2.0/24"
+ assert_rc_ok $? 3_node_star_topo_clean "mapping not in map-cache!"
+ mapping_exists "vpp2" "6.0.1.0/24"
+ assert_rc_ok $? 3_node_star_topo_clean "mapping not in map-cache!"
+
+ # sleep enough so the mapping expires
+ sleep 65
+
+ mapping_exists "vpp1" "6.0.1.0/24|6.0.2.0/24"
+ assert_rc_not_ok $? 3_node_star_topo_clean "mapping still present in map-cache!"
+ mapping_exists "vpp2" "6.0.1.0/24"
+ assert_rc_not_ok $? 3_node_star_topo_clean "mapping still present in map-cache!"
+
+ maybe_pause
+ 3_node_star_topo_clean
+ echo "Test passed."
+ exit 0
+}