linux/tools/testing/selftests/net
Paolo Abeni 50f3931746 selftests: net: more strict check in net_helper
commit a71d0908e3 upstream.

The helper waiting for a listener port can match any socket whose
hexadecimal representation of source or destination addresses
matches that of the given port.

Additionally, any socket state is accepted.

All the above can let the helper return successfully before the
relevant listener is actually ready, with unexpected results.

So far I could not find any related failure in the netdev CI, but
the next patch is going to make the critical event more easily
reproducible.

Address the issue matching the port hex only vs the relevant socket
field and additionally checking the socket state for TCP sockets.

Fixes: 3bdd9fd29c ("selftests/net: synchronize udpgro tests' tx and rx connection")
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Link: https://lore.kernel.org/r/192b3dbc443d953be32991d1b0ca432bd4c65008.1707731086.git.pabeni@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2024-06-16 13:47:48 +02:00
..
af_unix selftests/net: unix: fix unused variable compiler warning 2023-12-08 08:52:22 +01:00
forwarding selftests: net: bridge: increase IGMP/MLD exclude timeout membership interval 2024-06-12 11:12:12 +02:00
hsr selftests: hsr: Extend the testsuite to also cover HSRv1. 2023-09-18 08:26:19 +01:00
mptcp selftests: mptcp: join: mark 'fail' tests as flaky 2024-06-12 11:12:57 +02:00
openvswitch selftests: openvswitch: Add validation for the recursion test 2024-03-26 18:19:10 -04:00
.gitignore selftests/net: Add log.txt and tools to .gitignore 2023-08-20 15:15:41 +01:00
altnames.sh selftest: net: fix typo in altname test 2021-09-12 10:48:26 +01:00
amt.sh selftests: net: kill smcrouted in the cleanup logic in amt.sh 2024-06-12 11:12:47 +02:00
arp_ndisc_evict_nocarrier.sh selftests: net: return non-zero for failures reported in arp_ndisc_evict_nocarrier 2023-01-01 11:59:53 +00:00
arp_ndisc_untracked_subnets.sh selftests/net: specify the interface when do arping 2024-01-25 15:35:22 -08:00
bareudp.sh selftests: set conf.all.rp_filter=0 in bareudp.sh 2020-11-12 16:14:38 -08:00
big_tcp.sh selftests: net: let big_tcp test cope with slow env 2024-02-16 19:10:50 +01:00
bind_bhash.c selftests/net: Add test for timing a bind request to a port with a populated bhash entry 2022-08-24 19:30:09 -07:00
bind_bhash.sh selftests/net: Improve bind_bhash.sh to accommodate predictable network interface names 2023-09-10 18:49:29 +01:00
bind_timewait.c tcp: Add selftest for bind() and TIME_WAIT. 2022-12-30 07:25:53 +00:00
bind_wildcard.c selftest: tcp: Add v4-mapped-v6 cases in bind_wildcard.c. 2023-09-13 07:18:04 +01:00
cmsg_ipv6.sh selftests: cmsg_ipv6: repeat the exact packet 2024-02-16 19:10:50 +01:00
cmsg_sender.c selftests/net: fix a char signedness issue 2023-12-08 08:52:22 +01:00
cmsg_so_mark.sh selftests: net: cmsg_so_mark: test with SO_MARK set by setsockopt 2022-02-10 15:04:51 +00:00
cmsg_time.sh selftests: net: test standard socket cmsgs across UDP and ICMP sockets 2022-02-10 15:04:52 +00:00
config selftests: net: add missing config for amt.sh 2024-06-12 11:11:51 +02:00
csum.c selftests/net: replace manual array size calc with ARRAYSIZE macro. 2023-07-18 17:43:51 -07:00
devlink_port_split.py selftests: net: devlink_port_split.py: skip test if no suitable device available 2023-03-16 17:38:05 -07:00
drop_monitor_tests.sh selftests: net: Add drop monitor test 2020-09-30 18:01:26 -07:00
fcnal-test.sh Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-06-22 18:40:38 -07:00
fib-onlink-tests.sh selftests: fib-onlink: Make quiet by default 2019-05-22 17:50:24 -07:00
fib_nexthop_multiprefix.sh selftests/net: fix grep checking for fib_nexthop_multiprefix 2024-01-25 15:35:26 -08:00
fib_nexthop_nongw.sh selftests/net: test nexthop without gw 2022-07-14 14:41:19 +02:00
fib_nexthops.sh Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-10 14:10:53 -07:00
fib_rule_tests.sh selftests: fib_rule_tests: Test UDP and TCP connections with DSCP rules. 2023-02-09 22:49:04 -08:00
fib_tests.sh selftests: fib_tests: Count all trace point invocations 2023-10-13 14:28:22 -07:00
fin_ack_lat.c selftests: net: Add FIN_ACK processing order related latency spike test 2020-02-02 13:33:21 -08:00
fin_ack_lat.sh selftests: net: Add FIN_ACK processing order related latency spike test 2020-02-02 13:33:21 -08:00
gre_gso.sh selftests: net: switch to socat in the GSO GRE test 2021-11-12 19:59:01 -08:00
gro.c Networking changes for 5.17. 2022-01-10 19:06:09 -08:00
gro.sh selftests/net: allow GRO coalesce test on veth 2021-08-26 12:03:49 +01:00
hwtstamp_config.c selftests/net: replace manual array size calc with ARRAYSIZE macro. 2023-07-18 17:43:51 -07:00
icmp.sh selftests/net: Add icmp.sh for testing ICMP dummy address responses 2021-06-18 12:13:24 -07:00
icmp_redirect.sh selftests: icmp_redirect: pass xfail=0 to log_test() 2021-12-12 12:56:41 +00:00
in_netns.sh selftests/net: fix in_netns.sh script 2018-03-07 12:26:05 -05:00
io_uring_zerocopy_tx.c selftest/net: adjust io_uring sendzc notif handling 2022-09-23 14:57:27 -06:00
io_uring_zerocopy_tx.sh selftests/net: don't tests batched TCP io_uring zc 2022-11-02 08:27:24 -06:00
ioam6.sh selftests: net: fix IOAM test skip return code 2022-08-02 09:51:31 +02:00
ioam6_parser.c selftests: net: ioam: expect support for Queue depth data 2022-01-21 19:26:39 -08:00
ip6_gre_headroom.sh selftests: net: Test headroom handling of ip6_gre devices 2018-06-26 23:03:01 +09:00
ip_defrag.c selftests: net: ip_defrag: ignore EPERM 2020-06-02 15:54:20 -07:00
ip_defrag.sh selftests: net: ip_defrag: modprobe missing nf_defrag_ipv6 support 2020-07-17 12:49:18 -07:00
ip_local_port_range.c selftests/net: Cover the IP_LOCAL_PORT_RANGE socket option 2023-01-25 22:45:00 -08:00
ip_local_port_range.sh selftests/net: Cover the IP_LOCAL_PORT_RANGE socket option 2023-01-25 22:45:00 -08:00
ipsec.c selftests/net: ipsec: fix constant out of range 2023-12-08 08:52:22 +01:00
ipv6_flowlabel.c ping: support ipv6 ping socket flow labels 2022-07-22 12:40:27 +01:00
ipv6_flowlabel.sh ping: support ipv6 ping socket flow labels 2022-07-22 12:40:27 +01:00
ipv6_flowlabel_mgr.c selftests/net: ipv6 flowlabel 2019-05-28 17:18:53 -07:00
l2_tos_ttl_inherit.sh selftests/net: l2_tos_ttl_inherit.sh: Ensure environment cleanup on failure. 2023-01-10 10:13:52 +01:00
l2tp.sh selftests: Make l2tp.sh executable 2019-10-22 14:01:35 -07:00
Makefile selftests: net: List helper scripts in TEST_FILES Makefile variable 2024-06-16 13:47:32 +02:00
msg_zerocopy.c selftests/net: relax cpu affinity requirement in msg_zerocopy test 2020-08-05 12:25:35 -07:00
msg_zerocopy.sh selftests: extend zerocopy tests to udp 2018-12-03 15:58:32 -08:00
nat6to4.c selftests/net: mv bpf/nat6to4.c to net folder 2023-01-19 13:25:53 +01:00
ndisc_unsolicited_na_test.sh net/ipv6: Expand and rename accept_unsolicited_na to accept_untracked_na 2022-05-31 11:36:57 +02:00
net_helper.sh selftests: net: more strict check in net_helper 2024-06-16 13:47:48 +02:00
netdevice.sh selftests: net: return Kselftest Skip code for skipped tests 2018-05-30 15:29:06 -06:00
netns-name.sh selftests: net: add very basic test for netdev names and namespaces 2023-10-19 15:51:16 +02:00
nettest.c selftests: Add SO_DONTROUTE option to nettest. 2023-05-12 09:43:56 +01:00
pmtu.sh selftests: net: avoid just another constant wait 2024-02-16 19:10:48 +01:00
psock_fanout.c selftests: net: fix array_size.cocci warning 2022-03-17 15:21:16 +01:00
psock_lib.h selftests/net: replace manual array size calc with ARRAYSIZE macro. 2023-07-18 17:43:51 -07:00
psock_snd.c selftests/net: enable lo.accept_local in psock_snd test 2022-05-25 21:58:35 -07:00
psock_snd.sh selftests/net: remove min gso test in packet_snd 2021-08-02 10:34:04 +01:00
psock_tpacket.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 222 2019-05-30 11:29:55 -07:00
reuseaddr_conflict.c selftests: reuseaddr_conflict: add missing new line at the end of the output 2024-04-10 16:35:53 +02:00
reuseaddr_ports_exhausted.c selftests/net: fix warnings on reuseaddr_ports_exhausted 2021-03-16 15:01:21 -07:00
reuseaddr_ports_exhausted.sh selftests: net: Add SO_REUSEADDR test to check if 4-tuples are fully utilized. 2020-03-12 12:08:09 -07:00
reuseport_addr_any.c selftests/net: add definition for SOL_DCCP to fix compilation errors for old libc 2020-03-21 20:23:10 -07:00
reuseport_addr_any.sh selftests: net: test that listening sockets match on address properly 2018-12-14 15:55:20 -08:00
reuseport_bpf.c selftests: Fix the if conditions of in test_extra_filter() 2022-09-27 11:00:02 +02:00
reuseport_bpf_cpu.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
reuseport_bpf_numa.c selftests: net: fix array_size.cocci warning 2022-03-07 12:23:27 +00:00
reuseport_dualstack.c selftests: net: reuseport_dualstack: fix uninitalized parameter 2019-11-01 15:11:02 -07:00
route_localnet.sh selftests: add route_localnet test script 2019-06-24 09:02:47 -07:00
rps_default_mask.sh selftests: net: fix rps_default_mask with >32 CPUs 2024-01-31 16:19:04 -08:00
rtnetlink.sh selftests: rtnetlink: add MACsec offload tests 2023-07-14 09:16:53 +01:00
run_afpackettests selftests/net: Use kselftest skip code for skipped tests 2021-08-24 16:49:09 -07:00
run_netsocktests selftests/net: correct the return value for run_netsocktests 2019-04-19 14:39:51 -07:00
rxtimestamp.c selftests/net: remove ARRAY_SIZE define from individual tests 2021-12-10 17:50:57 -07:00
rxtimestamp.sh selftests/net: plug rxtimestamp test into kselftest framework 2020-06-23 20:36:46 -07:00
sctp_hello.c selftests: add a selftest for sctp vrf 2022-11-18 11:42:54 +00:00
sctp_vrf.sh selftests: add a selftest for sctp vrf 2022-11-18 11:42:54 +00:00
settings kselftests/net: adapt the timeout to the largest runtime 2022-01-13 12:53:22 +00:00
setup_loopback.sh selftests/net: allow GRO coalesce test on veth 2021-08-26 12:03:49 +01:00
setup_veth.sh selftests: net: give more time for GRO aggregation 2024-02-05 20:14:35 +00:00
sk_bind_sendto_listen.c selftests/net: Add sk_bind_sendto_listen and sk_connect_zero_addr 2022-08-24 19:30:09 -07:00
sk_connect_zero_addr.c selftests/net: Add sk_bind_sendto_listen and sk_connect_zero_addr 2022-08-24 19:30:09 -07:00
so_incoming_cpu.c selftest: Don't reuse port for SO_INCOMING_CPU test. 2024-01-31 16:19:02 -08:00
so_netns_cookie.c tools/testing: add a selftest for SO_NETNS_COOKIE 2021-06-24 11:13:05 -07:00
so_txtime.c selftests/net: so_txtime: usage(): fix documentation of default clock 2022-05-03 13:18:26 +02:00
so_txtime.sh selftests/net: so_txtime multi-host support 2021-03-31 17:48:21 -07:00
socket.c selftests/net: remove ARRAY_SIZE define from individual tests 2021-12-10 17:50:57 -07:00
srv6_end_dt4_l3vpn_test.sh selftets: seg6: disable rp_filter by default in srv6_end_dt4_l3vpn_test 2023-05-11 18:01:38 -07:00
srv6_end_dt6_l3vpn_test.sh selftests/net: Use kselftest skip code for skipped tests 2021-08-24 16:49:09 -07:00
srv6_end_dt46_l3vpn_test.sh selftests: srv6: make srv6_end_dt46_l3vpn_test more robust 2023-04-28 09:51:40 +01:00
srv6_end_flavors_test.sh selftests: seg6: add selftest for PSP flavor in SRv6 End behavior 2023-02-16 13:18:06 +01:00
srv6_end_next_csid_l3vpn_test.sh selftests: seg6: add selftest for NEXT-C-SID flavor in SRv6 End behavior 2022-09-20 12:33:22 +02:00
srv6_end_x_next_csid_l3vpn_test.sh selftests: seg6: add selftest for NEXT-C-SID flavor in SRv6 End.X behavior 2023-08-15 18:51:47 -07:00
srv6_hencap_red_l3vpn_test.sh selftests: seg6: add selftest for SRv6 H.Encaps.Red behavior 2022-07-29 12:14:03 +01:00
srv6_hl2encap_red_l2vpn_test.sh selftests: seg6: add selftest for SRv6 H.L2Encaps.Red behavior 2022-07-29 12:14:03 +01:00
stress_reuseport_listen.c net: selftests: Stress reuseport listen 2022-05-12 16:52:18 -07:00
stress_reuseport_listen.sh net: selftests: Stress reuseport listen 2022-05-12 16:52:18 -07:00
tap.c selftests: add few test cases for tap driver 2022-08-05 08:59:15 +01:00
tcp_fastopen_backup_key.c selftests/net: remove ARRAY_SIZE define from individual tests 2021-12-10 17:50:57 -07:00
tcp_fastopen_backup_key.sh selftests: net: tcp_fastopen_backup_key.sh: fix shellcheck issue 2019-08-15 11:34:32 -07:00
tcp_inq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 253 2019-06-05 17:30:27 +02:00
tcp_mmap.c selftests/net: report rcv_mss in tcp_mmap 2023-08-02 11:40:49 +01:00
test_blackhole_dev.sh blackhole_dev: add a selftest 2019-07-01 19:34:46 -07:00
test_bpf.sh License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
test_bridge_backup_port.sh selftests: net: Fix bridge backup port test flakiness 2024-02-23 09:24:51 +01:00
test_bridge_neigh_suppress.sh selftests: test_bridge_neigh_suppress.sh: Fix failures due to duplicate MAC 2024-05-17 12:02:23 +02:00
test_ingress_egress_chaining.sh selftests: add selftest for chaining of tc ingress handling to egress 2022-10-19 14:04:36 +01:00
test_vxlan_fdb_changelink.sh selftests: net: Add test_vxlan_fdb_changelink.sh 2018-12-18 21:18:26 -08:00
test_vxlan_mdb.sh selftests: vxlan_mdb: Fix failures with old libnet 2024-04-10 16:35:42 +02:00
test_vxlan_nolocalbypass.sh selftests: net: vxlan: Fix selftest regression after changes in iproute2. 2023-06-11 21:05:53 +01:00
test_vxlan_under_vrf.sh selftests: test_vxlan_under_vrf: Fix broken test case 2022-03-25 17:00:11 -07:00
test_vxlan_vnifiltering.sh selftests: Fix failing VXLAN VNI filtering test 2023-02-08 16:54:03 -08:00
timestamping.c selftests/net: timestamping: Fix bind_phc check 2022-01-31 11:44:04 +00:00
tls.c selftests: tls: use exact comparison in recv_partial 2024-03-26 18:19:10 -04:00
toeplitz.c selftests/net: toeplitz: fix race on tpacket_v3 block close 2023-01-19 09:27:15 -08:00
toeplitz.sh selftests: net: Use "grep -E" instead of "egrep" 2022-12-02 20:56:41 -08:00
toeplitz_client.sh selftests/net: toeplitz test 2021-08-05 13:14:09 +01:00
traceroute.sh selftest: net: add some traceroute tests 2019-11-06 17:35:49 -08:00
tun.c selftest: tun: add test for NAPI dismantle 2022-06-30 11:34:10 -07:00
txring_overwrite.c selftests: txring_overwrite: fix incorrect test of mmap() return value 2019-07-08 15:39:38 -07:00
txtimestamp.c selftests: net: change fprintf format specifiers 2022-03-21 16:37:54 -07:00
txtimestamp.sh selftest: txtimestamp: fix net ns entry logic 2020-07-21 16:11:07 -07:00
udpgro.sh selftests/net: synchronize udpgro tests' tx and rx connection 2024-06-16 13:47:31 +02:00
udpgro_bench.sh selftests/net: synchronize udpgro tests' tx and rx connection 2024-06-16 13:47:31 +02:00
udpgro_frglist.sh selftests/net: synchronize udpgro tests' tx and rx connection 2024-06-16 13:47:31 +02:00
udpgro_fwd.sh selftests: net: gro fwd: update vxlan GRO test expectations 2024-04-10 16:35:52 +02:00
udpgso.c net: change maximum number of UDP segments to 128 2024-04-27 17:11:32 +02:00
udpgso.sh selftests: udp gso with corking 2018-04-26 15:09:52 -04:00
udpgso_bench.sh selftests: net: udpgso_bench: Fix racing bug between the rx/tx programs 2023-02-02 13:29:51 +01:00
udpgso_bench_rx.c selftests: net: cut more slack for gro fwd tests. 2024-02-16 19:10:48 +01:00
udpgso_bench_tx.c selftests: net: udpgso_bench_tx: Cater for pending datagrams zerocopy benchmarking 2023-02-02 13:29:51 +01:00
unicast_extensions.sh selftests/net: change shebang to bash to support "source" 2024-02-16 19:10:48 +01:00
veth.sh selftests: net: remove dependency on ebpf tests 2024-02-05 20:14:34 +00:00
vrf-xfrm-tests.sh selftests: net: vrf-xfrm-tests: change authentication and encryption algos 2023-06-15 22:24:01 -07:00
vrf_route_leaking.sh selftests: vrf_route_leaking: remove ipv6_ping_frag from default testing 2023-08-20 15:25:10 +01:00
vrf_strict_mode_test.sh selftests: net: vrf_strict_mode_test: add support to select a test to run 2022-05-02 10:48:29 +02:00
xdp_dummy.c selftests: net: remove dependency on ebpf tests 2024-02-05 20:14:34 +00:00
xfrm_policy.sh xfrm: Fix wraparound in xfrm_policy_addr_delta() 2021-01-04 10:35:09 +01:00