diff options
author | Petr Machata <petrm@mellanox.com> | 2018-04-27 01:17:56 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-04-27 14:57:49 -0400 |
commit | 7d4cbae04f835525295c501770155c755228eb55 (patch) | |
tree | e06b1fc456e60f8ca3b1ef356a70801b1535bd19 /tools/testing/selftests/net/forwarding/mirror_gre_lib.sh | |
parent | 6a26ef9bf4821633c02ee4cb8d1957072eb22c9b (diff) |
selftests: forwarding: Add libs for gretap mirror testing
To simplify implementation of mirror-to-gretap tests, extend lib.sh with
several new functions that might potentially be useful more
broadly (although right now the mirroring tests will be the only
client).
Also add mirror_lib.sh with code useful for mirroring tests,
mirror_gre_lib.sh with code specifically useful for mirror-to-gretap
tests, and mirror_gre_topo.sh that primes a given test with a good
baseline topology that the test can then tweak to its liking.
Signed-off-by: Petr Machata <petrm@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'tools/testing/selftests/net/forwarding/mirror_gre_lib.sh')
-rw-r--r-- | tools/testing/selftests/net/forwarding/mirror_gre_lib.sh | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/tools/testing/selftests/net/forwarding/mirror_gre_lib.sh b/tools/testing/selftests/net/forwarding/mirror_gre_lib.sh new file mode 100644 index 000000000000..207ffd167dba --- /dev/null +++ b/tools/testing/selftests/net/forwarding/mirror_gre_lib.sh @@ -0,0 +1,85 @@ +# SPDX-License-Identifier: GPL-2.0 + +do_test_span_gre_dir_ips() +{ + local expect=$1; shift + local tundev=$1; shift + local direction=$1; shift + local ip1=$1; shift + local ip2=$1; shift + + icmp_capture_install h3-$tundev + mirror_test v$h1 $ip1 $ip2 h3-$tundev 100 $expect + mirror_test v$h2 $ip2 $ip1 h3-$tundev 100 $expect + icmp_capture_uninstall h3-$tundev +} + +quick_test_span_gre_dir_ips() +{ + do_test_span_gre_dir_ips 10 "$@" +} + +fail_test_span_gre_dir_ips() +{ + do_test_span_gre_dir_ips 0 "$@" +} + +test_span_gre_dir_ips() +{ + local tundev=$1; shift + local direction=$1; shift + local forward_type=$1; shift + local backward_type=$1; shift + local ip1=$1; shift + local ip2=$1; shift + + quick_test_span_gre_dir_ips "$tundev" "$direction" "$ip1" "$ip2" + + icmp_capture_install h3-$tundev "type $forward_type" + mirror_test v$h1 $ip1 $ip2 h3-$tundev 100 10 + icmp_capture_uninstall h3-$tundev + + icmp_capture_install h3-$tundev "type $backward_type" + mirror_test v$h2 $ip2 $ip1 h3-$tundev 100 10 + icmp_capture_uninstall h3-$tundev +} + +full_test_span_gre_dir_ips() +{ + local tundev=$1; shift + local direction=$1; shift + local forward_type=$1; shift + local backward_type=$1; shift + local what=$1; shift + local ip1=$1; shift + local ip2=$1; shift + + RET=0 + + mirror_install $swp1 $direction $tundev "matchall $tcflags" + test_span_gre_dir_ips "$tundev" "$direction" "$forward_type" \ + "$backward_type" "$ip1" "$ip2" + mirror_uninstall $swp1 $direction + + log_test "$direction $what ($tcflags)" +} + +quick_test_span_gre_dir() +{ + quick_test_span_gre_dir_ips "$@" 192.0.2.1 192.0.2.2 +} + +fail_test_span_gre_dir() +{ + fail_test_span_gre_dir_ips "$@" 192.0.2.1 192.0.2.2 +} + +test_span_gre_dir() +{ + test_span_gre_dir_ips "$@" 192.0.2.1 192.0.2.2 +} + +full_test_span_gre_dir() +{ + full_test_span_gre_dir_ips "$@" 192.0.2.1 192.0.2.2 +} |