diff options
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.sh | 45 |
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 +} |