selftest: net: add some traceroute tests
authorFrancesco Ruggeri <fruggeri@arista.com>
Tue, 5 Nov 2019 22:48:35 +0000 (14:48 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 7 Nov 2019 01:35:49 +0000 (17:35 -0800)
commit3c28d99fc62d64a2a9a2d99971bbe9ba17d187cb
treebe996b7151e20988e9434c0f2d2ec607287c82cc
parent3edcc5680148d74b370c95272b40a1f215f13e4f
selftest: net: add some traceroute tests

Added the following traceroute tests.

IPV6:
Verify that in this scenario

       ------------------------ N2
        |                    |
      ------              ------  N3  ----
      | R1 |              | R2 |------|H2|
      ------              ------      ----
        |                    |
       ------------------------ N1
                 |
                ----
                |H1|
                ----

where H1's default route goes through R1 and R1's default route goes
through R2 over N2, traceroute6 from H1 to H2 reports R2's address
on N2 and not N1.

IPV4:
Verify that traceroute from H1 to H2 shows 1.0.1.1 in this scenario

                   1.0.3.1/24
---- 1.0.1.3/24    1.0.1.1/24 ---- 1.0.2.1/24    1.0.2.4/24 ----
|H1|--------------------------|R1|--------------------------|H2|
----            N1            ----            N2            ----

where net.ipv4.icmp_errors_use_inbound_ifaddr is set on R1 and
1.0.3.1/24 and 1.0.1.1/24 are respectively R1's primary and secondary
address on N1.

v2: fixed some typos, and have bridge in R1 instead of R2 in IPV6 test.

Signed-off-by: Francesco Ruggeri <fruggeri@arista.com>
Reviewed-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/net/Makefile
tools/testing/selftests/net/traceroute.sh [new file with mode: 0755]