Commit ceec9f27 authored by Guillaume Nault's avatar Guillaume Nault Committed by David S. Miller

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: default avatarGuillaume Nault <gnault@redhat.com>
Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a431327c
......@@ -584,6 +584,20 @@ ipv4_ping_novrf()
log_test_addr ${a} $? 0 "ping out, address bind"
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
#
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment