linux/tools/testing/selftests/net
Jiayuan Chen 46c1ef0cfc selftests: net: add test for IPv4 route with loopback IPv6 nexthop
Add a regression test for a kernel panic that occurs when an IPv4 route
references an IPv6 nexthop object created on the loopback device.

The test creates an IPv6 nexthop on lo, binds an IPv4 route to it, then
triggers a route lookup via ping to verify the kernel does not crash.

  ./fib_nexthops.sh
  Tests passed: 249
  Tests failed:   0

Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: Jiayuan Chen <jiayuan.chen@shopee.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Link: https://patch.msgid.link/20260304113817.294966-3-jiayuan.chen@linux.dev
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-03-05 07:53:17 -08:00
..
af_unix Including fixes from netfilter and CAN. 2025-12-19 07:55:35 +12:00
bench selftests: pp-bench: remove page_pool_put_page wrapper 2025-07-01 17:42:11 -07:00
can selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
forwarding selftests: tc_actions: don't dump 2MB of \0 to stdout 2026-02-17 17:13:07 -08:00
hsr selftests: hsr: Add more link fault tests for HSR 2026-02-10 12:02:29 +01:00
lib selftests: net: fix wrong boolean evaluation in __exit__ 2026-01-26 19:32:20 -08:00
mptcp selftests: mptcp: join: check removing signal+subflow endp 2026-03-04 18:21:13 -08:00
netfilter selftests: netfilter: nft_queue.sh: avoid flakes on debug kernels 2026-02-27 18:36:59 -08:00
openvswitch Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-09-18 11:26:06 -07:00
ovpn selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
packetdrill selftests/net: packetdrill: restore tcp_rcv_big_endseq.pkt 2026-03-02 18:47:46 -08:00
rds selftests: net: unify the Makefile formats 2025-10-06 13:14:06 -07:00
tcp_ao selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
.gitignore selftests: net: Add kernel selftest for RFC 4884 2026-01-22 18:29:49 -08:00
altnames.sh
amt.sh selftests: net: amt: wait longer for connection before sending packets 2026-01-21 19:20:30 -08:00
arp_ndisc_evict_nocarrier.sh selftests: net: add a hint about MACAddressPolicy=persistent 2025-12-01 12:02:13 -08:00
arp_ndisc_untracked_subnets.sh selftests/net: use tc rule to filter the na packet 2024-05-21 13:25:11 +02:00
bareudp.sh selftests: net: use BASH for bareudp testing 2025-10-29 17:56:03 -07:00
big_tcp.sh selftests: net: let big_tcp test cope with slow env 2024-02-05 12:36:16 +00:00
bind_bhash.c selftest: net: Fix weird setsockopt() in bind_bhash.c. 2025-09-04 07:30:04 -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 selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
bind_wildcard.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
bpf.mk selftests: net: extract BPF building logic from the Makefile 2024-04-24 20:15:45 -07:00
bpf_offload.py selftests: net: bpf_offload: print loaded programs on mismatch 2025-08-20 19:28:03 -07:00
bridge_vlan_dump.sh selftests: net: Add bridge VLAN range grouping tests 2026-02-26 19:24:29 -08:00
broadcast_ether_dst.sh selftests: net: add test for destination in broadcast packets 2025-09-09 11:29:58 +02:00
broadcast_pmtu.sh selftests: net: add test for variable PMTU in broadcast routes 2025-07-14 17:29:41 -07:00
busy_poll_test.sh selftests: Add napi threaded busy poll test in busy_poller 2025-11-03 18:11:40 -08:00
busy_poller.c selftests: Add napi threaded busy poll test in busy_poller 2025-11-03 18:11:40 -08:00
cmsg_ip.sh selftests/net: expand cmsg_ip with MSG_MORE 2025-03-10 13:13:04 -07:00
cmsg_sender.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
cmsg_so_mark.sh selftests/net: convert cmsg tests to make them run in unique namespace 2023-12-05 13:00:56 +01:00
cmsg_so_priority.sh selftests: net: test SO_PRIORITY ancillary data with cmsg_sender 2024-12-16 18:14:12 -08:00
cmsg_time.sh selftests: net: give up on the cmsg_time accuracy on slow machines 2025-01-17 18:36:14 -08:00
config selftests: net: tests for add double tunneling GRO/GSO 2026-01-23 11:31:14 -08:00
double_udp_encap.sh selftests: net: tests for add double tunneling GRO/GSO 2026-01-23 11:31:14 -08:00
drop_monitor_tests.sh selftests: net: lib: Add kill_process 2024-11-15 16:39:19 -08:00
epoll_busy_poll.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
fcnal-ipv4.sh selftests: net: run groups from fcnal-test in parallel 2025-09-09 15:34:11 -07:00
fcnal-ipv6.sh selftests: net: run groups from fcnal-test in parallel 2025-09-09 15:34:11 -07:00
fcnal-other.sh selftests: net: run groups from fcnal-test in parallel 2025-09-09 15:34:11 -07:00
fcnal-test.sh selftests: net: add ipv6 ping to local address from localhost 2026-01-25 13:16:47 -08:00
fdb_flush.sh selftests: net: Fix few spelling mistakes 2025-02-18 18:10:31 -08:00
fdb_notify.sh selftests: net: lib: Rename ip_link_set_master() to adf_* 2025-09-26 17:48:37 -07:00
fib-onlink-tests.sh Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-01-22 20:14:36 -08:00
fib_nexthop_multiprefix.sh selftests/net: convert fib_nexthop_multiprefix to run it in unique namespace 2023-12-14 18:38:35 -08:00
fib_nexthop_nongw.sh selftests/net: convert fib_nexthop_nongw.sh to run it in unique namespace 2023-12-14 18:38:35 -08:00
fib_nexthops.sh selftests: net: add test for IPv4 route with loopback IPv6 nexthop 2026-03-05 07:53:17 -08:00
fib_rule_tests.sh selftests: net: remove redundant rp_filter configuration 2025-05-12 18:10:55 -07:00
fib_tests.sh selftests: fib_test: Add test case for ipv4 multi nexthops 2025-12-30 11:07:38 +01:00
fin_ack_lat.c
fin_ack_lat.sh
fq_band_pktlimit.sh selftests/net: calibrate fq_band_pktlimit 2024-01-31 11:11:09 +00:00
gre_gso.sh selftests/net: convert gre_gso.sh to run it in unique namespace 2023-12-23 00:26:32 +00:00
gre_ipv6_lladdr.sh selftests: Add IPv6 multicast route generation tests for GRE devices. 2025-07-10 18:11:04 -07:00
hwtstamp_config.c selftests/net: replace manual array size calc with ARRAYSIZE macro. 2023-07-18 17:43:51 -07:00
icmp.sh sleftests/net: convert icmp.sh to run it in unique namespace 2023-12-05 13:00:56 +01:00
icmp_redirect.sh selftests: net: remove redundant rp_filter configuration 2025-05-12 18:10:55 -07:00
icmp_rfc4884.c selftests: net: Add kernel selftest for RFC 4884 2026-01-22 18:29:49 -08:00
in_netns.sh
io_uring_zerocopy_tx.c selftests/net: io_uring: fix unknown errnum values 2025-10-17 16:57:53 -07:00
io_uring_zerocopy_tx.sh selftests/net: optmem_max became per netns 2023-12-15 11:01:27 +00:00
ioam6.sh ipv6: preserve insertion order for same-scope addresses 2026-01-06 16:41:35 -08:00
ioam6_parser.c selftests: net: add new ioam tests 2024-10-04 15:34:07 -07:00
ip6_gre_headroom.sh
ip_defrag.c
ip_defrag.sh
ip_local_port_range.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
ip_local_port_range.sh selftests/net: ensure mptcp is enabled in netns 2025-02-25 18:13:28 -08:00
ipsec.c selftests/net/ipsec: Fix variable size type not at the end of struct 2026-01-12 19:15:04 -08: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
ipv6_force_forwarding.sh ipv6: add force_forwarding sysctl to enable per-interface forwarding 2025-07-25 13:06:19 -07:00
ipv6_fragmentation.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
ipv6_route_update_soft_lockup.sh selftests: net: move wait_local_port_listen to lib.sh 2025-05-27 17:31:42 -07:00
ipvtap_test.sh selftests: net: simple selftest for ipvtap 2026-01-19 10:03:31 -08: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/net: convert l2tp.sh to run it in unique namespace 2023-12-05 13:00:56 +01:00
lib.sh selftests: net: lib: Fix jq parsing error 2026-02-12 18:41:18 -08:00
link_netns.py selftests: net: Add test cases for link and peer netns 2025-02-21 15:28:03 -08:00
lwt_dst_cache_ref_loop.sh selftests: net: test for lwtunnel dst ref loops 2025-03-20 11:25:52 +01:00
Makefile selftests: net: Add bridge VLAN range grouping tests 2026-02-26 19:24:29 -08:00
msg_zerocopy.c selftest: net: extend msg_zerocopy test with forwarding 2025-07-02 15:07:16 -07:00
msg_zerocopy.sh selftest: net: extend msg_zerocopy test with forwarding 2025-07-02 15:07:16 -07:00
nat6to4.bpf.c selftests: net: name bpf objects consistently and simplify Makefile 2024-04-24 20:15:45 -07:00
nat6to4.sh selftests: net: add test case for NAT46 looping back dst 2025-06-11 17:02:29 -07:00
ndisc_unsolicited_na_test.sh selftests/net: convert ndisc_unsolicited_na_test.sh to run it in unique namespace 2023-12-05 13:00:56 +01:00
netdev-l2addr.sh selftests: net: add netdev-l2addr.sh for testing L2 address functionality 2025-07-11 17:00:18 -07:00
netdevice.sh selftests: net: Use XFAIL for operations not supported by the driver 2024-08-22 16:56:06 -07:00
netlink-dumps.c Significant patch series in this pull request: 2025-12-06 14:01:20 -08:00
netns-name.sh selftests: net: use netdevsim in netns test 2025-04-03 15:32:09 -07:00
netns-sysctl.sh selftests: net: tests net.core.{r,w}mem_{default,max} sysctls in a netns 2024-06-01 16:03:21 -07:00
nettest.c selftests: nettest: Fix typo in log and error messages for clarity 2025-06-17 16:22:59 -07:00
nl_netdev.py net: define an enum for the napi threaded state 2025-07-24 18:34:55 -07:00
pmtu.sh selftests: net: speed up pmtu.sh by avoiding unnecessary cleanup 2025-09-09 16:26:44 -07:00
proc_net_pktgen.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
psock_fanout.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
psock_lib.h selftests: centralise maybe-unused definition in kselftest.h 2025-09-13 16:55:16 -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
psock_tpacket.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
reuseaddr_conflict.c selftests: reuseaddr_conflict: add missing new line at the end of the output 2024-04-01 20:42:45 -07:00
reuseaddr_ports_exhausted.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
reuseaddr_ports_exhausted.sh
reuseport_addr_any.c selftest: net: Remove DCCP bits. 2025-04-11 18:58:10 -07:00
reuseport_addr_any.sh
reuseport_bpf.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
reuseport_bpf_cpu.c
reuseport_bpf_numa.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
reuseport_dualstack.c
route_hint.sh selftests: net: add test for dst hint mechanism with directed broadcast addresses 2025-08-25 16:07:16 -07:00
route_localnet.sh selftests: net: change ifconfig with ip command 2023-10-24 13:53:39 -07:00
rps_default_mask.sh selftests: net: fix spelling and grammar mistakes 2025-09-01 13:08:07 -07:00
rtnetlink.py netlink: specs: rt_addr: pull the ifa- prefix out of the names 2025-04-04 07:36:06 -07:00
rtnetlink.sh ipv6: clean up routes when manually removing address with a lifetime 2025-11-14 17:44:47 -08:00
rtnetlink_notification.sh selftest: add selftest for anycast notifications 2025-06-22 17:32:04 +01:00
run_afpackettests
run_netsocktests
rxtimestamp.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
rxtimestamp.sh
sample_map_ret0.bpf.c selftests: net: declare section names for bpf_offload 2024-04-10 14:03:12 -07:00
sample_ret0.bpf.c selftests: net: declare section names for bpf_offload 2024-04-10 14:03:12 -07:00
sctp_hello.c selftests: net: fix server bind failure in sctp_vrf.sh 2025-10-20 16:41:33 -07:00
sctp_vrf.sh selftests: net: fix server bind failure in sctp_vrf.sh 2025-10-20 16:41:33 -07:00
settings selftests/net: convert fcnal-test.sh to run it in unique namespace 2023-12-14 18:38:35 -08: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
sk_so_peek_off.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
skf_net_off.c selftests/net: test sk_filter support for SKF_NET_OFF on frags 2025-04-09 20:02:51 -07:00
skf_net_off.sh selftests/net: test sk_filter support for SKF_NET_OFF on frags 2025-04-09 20:02:51 -07:00
so_incoming_cpu.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
so_netns_cookie.c
so_rcv_listener.c selftests: net: add support for testing SO_RCVMARK and SO_RCVPRIORITY 2025-02-17 16:45:19 -08:00
so_txtime.c selftests/net: initialize char variable to null 2025-11-26 15:23:27 -08:00
so_txtime.sh selftests: net: cope with slow env in so_txtime.sh test 2024-02-13 10:10:44 -08:00
socket.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
srv6_end_dt4_l3vpn_test.sh selftests: net: use setup_ns for SRv6 tests and remove rp_filter configuration 2025-05-12 18:10:55 -07:00
srv6_end_dt6_l3vpn_test.sh selftests/net: convert srv6_end_dt6_l3vpn_test.sh to run it in unique namespace 2023-12-14 18:38:35 -08:00
srv6_end_dt46_l3vpn_test.sh selftests: net: use setup_ns for SRv6 tests and remove rp_filter configuration 2025-05-12 18:10:55 -07:00
srv6_end_dx4_netfilter_test.sh selftests: add selftest for the SRv6 End.DX4 behavior with netfilter 2024-06-19 18:42:10 +02:00
srv6_end_dx6_netfilter_test.sh selftests: add selftest for the SRv6 End.DX6 behavior with netfilter 2024-06-19 18:42:10 +02:00
srv6_end_flavors_test.sh selftests: net: Fix spellings 2025-05-20 18:14:08 -07:00
srv6_end_next_csid_l3vpn_test.sh selftests: seg6: fix instaces typo in comments 2025-07-01 19:32:45 -07:00
srv6_end_x_next_csid_l3vpn_test.sh selftests: seg6: fix instaces typo in comments 2025-07-01 19:32:45 -07:00
srv6_hencap_red_l3vpn_test.sh selftests: seg6: fix instaces typo in comments 2025-07-01 19:32:45 -07:00
srv6_hl2encap_red_l2vpn_test.sh selftests: seg6: fix instaces typo in comments 2025-07-01 19:32:45 -07:00
stress_reuseport_listen.c net: selftests: Stress reuseport listen 2022-05-12 16:52:18 -07:00
stress_reuseport_listen.sh selftests/net: convert stress_reuseport_listen.sh to run it in unique namespace 2023-12-23 00:26:32 +00:00
tap.c selftests: net: fix "buffer overflow detected" for tap.c 2025-12-23 12:30:23 +01:00
tcp_fastopen_backup_key.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
tcp_fastopen_backup_key.sh
tcp_inq.c
tcp_mmap.c selftests/net: report rcv_mss in tcp_mmap 2023-08-02 11:40:49 +01:00
tcp_port_share.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
test_bpf.sh
test_bridge_backup_port.sh selftests: net: Test bridge backup port when port is administratively down 2025-08-14 17:45:36 -07:00
test_bridge_neigh_suppress.sh selftests: test_bridge_neigh_suppress: Test unicast ARP/NS with suppression 2025-04-09 19:13:43 -07: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_neigh.sh selftests: net: Fix flaky neighbor garbage collection test 2025-08-01 13:51:41 -07:00
test_so_rcv.sh selftests: net: add support for testing SO_RCVMARK and SO_RCVPRIORITY 2025-02-17 16:45:19 -08:00
test_vxlan_fdb_changelink.sh selftests: net: lib: Rename ip_link_set_up() to adf_* 2025-09-26 17:48:37 -07:00
test_vxlan_mdb.sh selftests: vxlan_mdb: Fix failures with old libnet 2024-03-26 12:29:25 +01:00
test_vxlan_nh.sh selftests: net: Add a selftest for VXLAN with FDB nexthop groups 2025-09-02 16:57:00 -07:00
test_vxlan_nolocalbypass.sh selftests/net: convert test_vxlan_nolocalbypass.sh to run it in unique namespace 2023-12-08 12:12:16 +00:00
test_vxlan_under_vrf.sh selftests/net: convert test_vxlan_under_vrf.sh to run it in unique namespace 2023-12-08 12:12:16 +00:00
test_vxlan_vnifiltering.sh selftests: net: use slowwait to make sure IPv6 setup finished 2025-06-19 15:24:09 +02:00
tfo.c selftests: net: improve error handling in passive TFO test 2026-01-17 18:01:26 -08:00
tfo_passive.sh selftests: net: fix passive TFO test to fail if child processes failed 2026-01-17 18:01:26 -08:00
timestamping.c
tls.c selftests: tls: avoid flakiness in data_steal 2026-01-09 17:33:28 -08:00
traceroute.sh selftests: traceroute: Add ICMP extensions tests 2025-10-29 18:28:30 -07:00
tun.c selftests: net: tun: don't abort XFAIL cases 2026-03-05 07:34:55 -08:00
tuntap_helpers.h selftest: tun: Introduce tuntap_helpers.h header for TUN/TAP testing 2026-01-23 11:43:28 -08:00
txring_overwrite.c
txtimestamp.c selftests: net: reduce txtimestamp deschedule flakes 2026-01-13 11:46:39 -08:00
txtimestamp.sh selftests: txtimestamp: add SCM_TS_OPT_ID test 2024-10-04 11:52:20 -07:00
udpgro.sh selftests: net: increase inter-packet timeout in udpgro.sh 2025-07-15 15:26:47 +02:00
udpgro_bench.sh selftests: net: move wait_local_port_listen to lib.sh 2025-05-27 17:31:42 -07:00
udpgro_frglist.sh selftests: net: move wait_local_port_listen to lib.sh 2025-05-27 17:31:42 -07:00
udpgro_fwd.sh selftest: net: add a test-case for encap segmentation after GRO 2026-02-03 19:23:41 -08:00
udpgso.c udp: gso: do not drop small packets when PMTU reduces 2025-02-03 10:13:27 +00:00
udpgso.sh selftests/net: Add test coverage for UDP GSO software fallback 2024-06-28 18:13:00 -07:00
udpgso_bench.sh selftests/net: call sendmmsg via udpgso_bench.sh 2024-12-04 19:22:20 -08:00
udpgso_bench_rx.c selftests: net: cut more slack for gro fwd tests. 2024-02-02 21:10:36 -08:00
udpgso_bench_tx.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
unicast_extensions.sh selftests: net: add helper for checking if nettest is available 2024-08-22 12:55:47 +02:00
veth.sh selftests: net: use the dummy bpf from net/lib 2025-03-31 16:44:25 -07:00
vlan_bridge_binding.sh selftests: net: check jq command is supported 2025-10-14 15:12:18 +02:00
vlan_hw_filter.sh selftests: avoid using ifconfig 2025-08-01 14:40:19 -07:00
vrf-xfrm-tests.sh selftests/net: convert vrf-xfrm-tests.sh to run it in unique namespace 2023-12-08 12:12:16 +00:00
vrf_route_leaking.sh selftests: net: use slowwait to stabilize vrf_route_leaking test 2025-06-19 15:24:08 +02:00
vrf_strict_mode_test.sh selftests/net: convert vrf_strict_mode_test.sh to run it in unique namespace 2023-12-08 12:12:16 +00:00
xfrm_policy.sh selftests/net: reduce xfrm_policy test time 2024-05-16 19:30:12 -07:00
xfrm_policy_add_speed.sh selftests: add xfrm policy insertion speed test script 2024-08-24 09:55:01 +02:00
ynl.mk selftests: net: move netlink-dumps back to progs 2025-09-08 12:57:05 -07:00