selftests: fcnal: Test SO_DONTROUTE on UDP sockets.

Use nettest --client-dontroute to test the kernel behaviour with UDP
sockets having the SO_DONTROUTE option. 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>
This commit is contained in:
Guillaume Nault 2023-05-11 16:39:39 +02:00 committed by David S. Miller
parent dd017c72dd
commit a431327c4f

View file

@ -1641,6 +1641,23 @@ ipv4_udp_novrf()
log_start
run_cmd nettest -D -d ${NSA_DEV} -r ${a}
log_test_addr ${a} $? 2 "No server, device client, local conn"
#
# Link local connection tests (SO_DONTROUTE).
# Connections should succeed only when the remote IP address is
# on link (doesn't need to be routed through a gateway).
#
a=${NSB_IP}
log_start
do_run_cmd nettest -B -D -N "${NSA}" -O "${NSB}" -r ${a} --client-dontroute
log_test_addr ${a} $? 0 "SO_DONTROUTE client"
a=${NSB_LO_IP}
log_start
show_hint "Should fail 'Network is unreachable' since server is not on link"
do_run_cmd nettest -B -D -N "${NSA}" -O "${NSB}" -r ${a} --client-dontroute
log_test_addr ${a} $? 1 "SO_DONTROUTE client"
}
ipv4_udp_vrf()