diff options
author | Guillaume Nault <gnault@redhat.com> | 2023-05-11 17:39:46 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2023-05-12 11:43:56 +0300 |
commit | ceec9f272432b03168376d6487e7e7817d215f07 (patch) | |
tree | 911c977a69ebbd16ebe2c7d253a8cb71cbc3c2cb /tools | |
parent | a431327c4faacf978defa94dd0da1710d0c69801 (diff) | |
download | linux-ceec9f272432b03168376d6487e7e7817d215f07.tar.xz |
selftests: fcnal: Test SO_DONTROUTE on raw and ping sockets.
Use ping -r to test the kernel behaviour with raw and ping sockets
having the SO_DONTROUTE option.
Since ipv4_ping_novrf() is called with different values of
net.ipv4.ping_group_range, then it tests both raw and ping sockets
(ping uses ping sockets if its user ID belongs to ping_group_range
and raw sockets otherwise).
With both socket types, sending packets to a neighbour (on link) host,
should work. When the host is behind a router, sending should fail.
Signed-off-by: Guillaume Nault <gnault@redhat.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/testing/selftests/net/fcnal-test.sh | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tools/testing/selftests/net/fcnal-test.sh b/tools/testing/selftests/net/fcnal-test.sh index 08b4b96cbd63..05b5c4af7a08 100755 --- a/tools/testing/selftests/net/fcnal-test.sh +++ b/tools/testing/selftests/net/fcnal-test.sh @@ -585,6 +585,20 @@ ipv4_ping_novrf() done # + # out, but don't use gateway if peer is not on link + # + a=${NSB_IP} + log_start + run_cmd ping -c 1 -w 1 -r ${a} + log_test_addr ${a} $? 0 "ping out (don't route), peer on link" + + a=${NSB_LO_IP} + log_start + show_hint "Fails since peer is not on link" + run_cmd ping -c 1 -w 1 -r ${a} + log_test_addr ${a} $? 1 "ping out (don't route), peer not on link" + + # # in # for a in ${NSA_IP} ${NSA_LO_IP} |