xref: /linux/tools/testing/selftests/net/Makefile (revision 840e23085b03d30e85b61077903de7a7ea086a07)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
2a6f68034SDavid S. Miller# Makefile for net selftests
3a6f68034SDavid S. Miller
4cc937dadSEdward LiawCFLAGS += -Wall -Wl,--no-as-needed -O2 -g
550f4143dSMuhammad Usama AnjumCFLAGS += -I../../../../usr/include/ $(KHDR_INCLUDES)
63645c71bSMahmoud Maatuq# Additional include paths needed by kselftest.h
73645c71bSMahmoud MaatuqCFLAGS += -I../
8a6f68034SDavid S. Miller
9f07f91a3SJakub KicinskiTEST_PROGS := \
10f07f91a3SJakub Kicinski	altnames.sh \
11f07f91a3SJakub Kicinski	amt.sh \
12f07f91a3SJakub Kicinski	arp_ndisc_evict_nocarrier.sh \
13f07f91a3SJakub Kicinski	arp_ndisc_untracked_subnets.sh \
14f07f91a3SJakub Kicinski	bareudp.sh \
15f07f91a3SJakub Kicinski	big_tcp.sh \
165cb53743SAlice Mikityanska	big_tcp_tunnels.sh \
17f07f91a3SJakub Kicinski	bind_bhash.sh \
18f07f91a3SJakub Kicinski	bpf_offload.py \
1920ae6d76SAndy Roulin	bridge_stp_mode.sh \
2013540021SDanielle Ratson	bridge_vlan_dump.sh \
21f07f91a3SJakub Kicinski	broadcast_ether_dst.sh \
22f07f91a3SJakub Kicinski	broadcast_pmtu.sh \
23f07f91a3SJakub Kicinski	busy_poll_test.sh \
24f07f91a3SJakub Kicinski	cmsg_ip.sh \
25f07f91a3SJakub Kicinski	cmsg_so_mark.sh \
26f07f91a3SJakub Kicinski	cmsg_so_priority.sh \
27f07f91a3SJakub Kicinski	cmsg_time.sh \
28*18a9a434SAlice Mikityanska	cork_fragsize.py \
2940146bf7SPaolo Abeni	double_udp_encap.sh \
30f07f91a3SJakub Kicinski	drop_monitor_tests.sh \
31ae57a553SNeil Spring	ecmp_rehash.sh \
32c923c149SIdo Schimmel	exception_cache.sh \
33f07f91a3SJakub Kicinski	fcnal-ipv4.sh \
34f07f91a3SJakub Kicinski	fcnal-ipv6.sh \
35f07f91a3SJakub Kicinski	fcnal-other.sh \
36f07f91a3SJakub Kicinski	fdb_flush.sh \
37f07f91a3SJakub Kicinski	fdb_notify.sh \
38f07f91a3SJakub Kicinski	fib-onlink-tests.sh \
39f07f91a3SJakub Kicinski	fib_nexthop_multiprefix.sh \
40f07f91a3SJakub Kicinski	fib_nexthop_nongw.sh \
41f07f91a3SJakub Kicinski	fib_nexthops.sh \
42f07f91a3SJakub Kicinski	fib_rule_tests.sh \
43f07f91a3SJakub Kicinski	fib_tests.sh \
44f07f91a3SJakub Kicinski	fin_ack_lat.sh \
45e5382133SAnton Danilov	fou_mcast_encap.sh \
46f07f91a3SJakub Kicinski	fq_band_pktlimit.sh \
47f07f91a3SJakub Kicinski	gre_gso.sh \
48f07f91a3SJakub Kicinski	gre_ipv6_lladdr.sh \
49f07f91a3SJakub Kicinski	icmp.sh \
50f07f91a3SJakub Kicinski	icmp_redirect.sh \
51f07f91a3SJakub Kicinski	io_uring_zerocopy_tx.sh \
52f07f91a3SJakub Kicinski	ioam6.sh \
53f07f91a3SJakub Kicinski	ip6_gre_headroom.sh \
54f77c7b96SLinus Heckemann	ip6_tunnel.sh \
55f07f91a3SJakub Kicinski	ip_defrag.sh \
56f07f91a3SJakub Kicinski	ip_local_port_range.sh \
57f07f91a3SJakub Kicinski	ipv6_flowlabel.sh \
58f07f91a3SJakub Kicinski	ipv6_force_forwarding.sh \
59f07f91a3SJakub Kicinski	ipv6_route_update_soft_lockup.sh \
608becfe16SDmitry Skorodumov	ipvtap_test.sh \
61f07f91a3SJakub Kicinski	l2_tos_ttl_inherit.sh \
62f07f91a3SJakub Kicinski	l2tp.sh \
63f07f91a3SJakub Kicinski	link_netns.py \
64f07f91a3SJakub Kicinski	lwt_dst_cache_ref_loop.sh \
654ad96a7cSKibaek Yoo	macvlan_mcast_shared_mac.sh \
66f07f91a3SJakub Kicinski	msg_zerocopy.sh \
67f07f91a3SJakub Kicinski	nat6to4.sh \
68f07f91a3SJakub Kicinski	ndisc_unsolicited_na_test.sh \
69f07f91a3SJakub Kicinski	netdev-l2addr.sh \
70f07f91a3SJakub Kicinski	netdevice.sh \
71f07f91a3SJakub Kicinski	netns-name.sh \
72f07f91a3SJakub Kicinski	netns-sysctl.sh \
73e254ffb9SDaniel Borkmann	nk_qlease.py \
74f07f91a3SJakub Kicinski	nl_netdev.py \
75c1f9a89bSJakub Kicinski	nl_nlctrl.py \
76f07f91a3SJakub Kicinski	pmtu.sh \
77c0375944SIdo Schimmel	protodown.sh \
78f07f91a3SJakub Kicinski	psock_snd.sh \
79f07f91a3SJakub Kicinski	reuseaddr_ports_exhausted.sh \
80f07f91a3SJakub Kicinski	reuseport_addr_any.sh \
81f07f91a3SJakub Kicinski	route_hint.sh \
82f07f91a3SJakub Kicinski	route_localnet.sh \
83f07f91a3SJakub Kicinski	rps_default_mask.sh \
84f07f91a3SJakub Kicinski	rtnetlink.py \
85f07f91a3SJakub Kicinski	rtnetlink.sh \
86f07f91a3SJakub Kicinski	rtnetlink_notification.sh \
87f07f91a3SJakub Kicinski	run_afpackettests \
88f07f91a3SJakub Kicinski	run_netsocktests \
89f07f91a3SJakub Kicinski	rxtimestamp.sh \
90f07f91a3SJakub Kicinski	sctp_vrf.sh \
91f07f91a3SJakub Kicinski	skf_net_off.sh \
921016a547SAndrea Mayer	srv6_encap_lookup_l3vpn_test.sh \
93f07f91a3SJakub Kicinski	srv6_end_dt46_l3vpn_test.sh \
94f07f91a3SJakub Kicinski	srv6_end_dt4_l3vpn_test.sh \
95f07f91a3SJakub Kicinski	srv6_end_dt6_l3vpn_test.sh \
96f07f91a3SJakub Kicinski	srv6_end_dx4_netfilter_test.sh \
97f07f91a3SJakub Kicinski	srv6_end_dx6_netfilter_test.sh \
98f07f91a3SJakub Kicinski	srv6_end_flavors_test.sh \
99f07f91a3SJakub Kicinski	srv6_end_next_csid_l3vpn_test.sh \
100f07f91a3SJakub Kicinski	srv6_end_x_next_csid_l3vpn_test.sh \
101f07f91a3SJakub Kicinski	srv6_hencap_red_l3vpn_test.sh \
102f07f91a3SJakub Kicinski	srv6_hl2encap_red_l2vpn_test.sh \
10332dfd742SAndrea Mayer	srv6_iptunnel_cache.sh \
104f07f91a3SJakub Kicinski	stress_reuseport_listen.sh \
105d1ae37dcSKuniyuki Iwashima	tcp_ecmp_failover.sh \
106f07f91a3SJakub Kicinski	tcp_fastopen_backup_key.sh \
107f07f91a3SJakub Kicinski	test_bpf.sh \
108f07f91a3SJakub Kicinski	test_bridge_backup_port.sh \
109f07f91a3SJakub Kicinski	test_bridge_neigh_suppress.sh \
110f07f91a3SJakub Kicinski	test_ingress_egress_chaining.sh \
111f07f91a3SJakub Kicinski	test_neigh.sh \
112f07f91a3SJakub Kicinski	test_so_rcv.sh \
113f07f91a3SJakub Kicinski	test_vxlan_fdb_changelink.sh \
114f07f91a3SJakub Kicinski	test_vxlan_mdb.sh \
115f07f91a3SJakub Kicinski	test_vxlan_nh.sh \
116f07f91a3SJakub Kicinski	test_vxlan_nolocalbypass.sh \
117f07f91a3SJakub Kicinski	test_vxlan_under_vrf.sh \
1188df1c84eSAndy Roulin	test_vxlan_vnifilter_notify.sh \
119f07f91a3SJakub Kicinski	test_vxlan_vnifiltering.sh \
120f07f91a3SJakub Kicinski	tfo_passive.sh \
121f07f91a3SJakub Kicinski	traceroute.sh \
122f07f91a3SJakub Kicinski	txtimestamp.sh \
123f07f91a3SJakub Kicinski	udpgro.sh \
124f07f91a3SJakub Kicinski	udpgro_bench.sh \
125f07f91a3SJakub Kicinski	udpgro_frglist.sh \
126f07f91a3SJakub Kicinski	udpgro_fwd.sh \
127f07f91a3SJakub Kicinski	udpgso.sh \
128f07f91a3SJakub Kicinski	udpgso_bench.sh \
129f07f91a3SJakub Kicinski	unicast_extensions.sh \
130f07f91a3SJakub Kicinski	veth.sh \
131f07f91a3SJakub Kicinski	vlan_bridge_binding.sh \
132f07f91a3SJakub Kicinski	vlan_hw_filter.sh \
133f07f91a3SJakub Kicinski	vrf-xfrm-tests.sh \
134f07f91a3SJakub Kicinski	vrf_route_leaking.sh \
135f07f91a3SJakub Kicinski	vrf_strict_mode_test.sh \
136f07f91a3SJakub Kicinski	xfrm_policy.sh \
1375b43d35eSAntony Antony	xfrm_state.sh \
138f07f91a3SJakub Kicinski# end of TEST_PROGS
139f07f91a3SJakub Kicinski
140f07f91a3SJakub KicinskiTEST_PROGS_EXTENDED := \
141f07f91a3SJakub Kicinski	xfrm_policy_add_speed.sh \
142f07f91a3SJakub Kicinski# end of TEST_PROGS_EXTENDED
143f07f91a3SJakub Kicinski
144f07f91a3SJakub KicinskiTEST_GEN_FILES := \
145f07f91a3SJakub Kicinski	bind_bhash \
146f07f91a3SJakub Kicinski	cmsg_sender \
147f07f91a3SJakub Kicinski	fin_ack_lat \
148f07f91a3SJakub Kicinski	hwtstamp_config \
149f07f91a3SJakub Kicinski	io_uring_zerocopy_tx \
150f07f91a3SJakub Kicinski	ioam6_parser \
151f07f91a3SJakub Kicinski	ip_defrag \
152f07f91a3SJakub Kicinski	ip_local_port_range \
153f07f91a3SJakub Kicinski	ipsec \
154f07f91a3SJakub Kicinski	ipv6_flowlabel \
155f07f91a3SJakub Kicinski	msg_zerocopy \
156f07f91a3SJakub Kicinski	nettest \
157f07f91a3SJakub Kicinski	psock_fanout \
158f07f91a3SJakub Kicinski	psock_snd \
159f07f91a3SJakub Kicinski	psock_tpacket \
160f07f91a3SJakub Kicinski	reuseaddr_ports_exhausted \
161f07f91a3SJakub Kicinski	reuseport_addr_any \
162f07f91a3SJakub Kicinski	rxtimestamp \
163f07f91a3SJakub Kicinski	sctp_hello \
164f07f91a3SJakub Kicinski	skf_net_off \
165f07f91a3SJakub Kicinski	so_netns_cookie \
166f07f91a3SJakub Kicinski	so_rcv_listener \
167f07f91a3SJakub Kicinski	socket \
168f07f91a3SJakub Kicinski	stress_reuseport_listen \
169f07f91a3SJakub Kicinski	tcp_fastopen_backup_key \
170f07f91a3SJakub Kicinski	tcp_inq \
171f07f91a3SJakub Kicinski	tcp_mmap \
172f07f91a3SJakub Kicinski	tfo \
173f07f91a3SJakub Kicinski	timestamping \
174f07f91a3SJakub Kicinski	txring_overwrite \
175f07f91a3SJakub Kicinski	txtimestamp \
176f07f91a3SJakub Kicinski	udpgso \
177f07f91a3SJakub Kicinski	udpgso_bench_rx \
178f07f91a3SJakub Kicinski	udpgso_bench_tx \
179f07f91a3SJakub Kicinski# end of TEST_GEN_FILES
180f07f91a3SJakub Kicinski
181f07f91a3SJakub KicinskiTEST_GEN_PROGS := \
182f07f91a3SJakub Kicinski	bind_timewait \
183f07f91a3SJakub Kicinski	bind_wildcard \
184f07f91a3SJakub Kicinski	epoll_busy_poll \
185d39887f5SBreno Leitao	getsockopt_iter \
186d07d7c3dSDanielle Ratson	icmp_rfc4884 \
18796bf660dSMarcelo Mendes Spessoto Junior	ipv6_flowlabel_mgr \
188f07f91a3SJakub Kicinski	ipv6_fragmentation \
189f07f91a3SJakub Kicinski	proc_net_pktgen \
190f07f91a3SJakub Kicinski	reuseaddr_conflict \
191f07f91a3SJakub Kicinski	reuseport_bpf \
192f07f91a3SJakub Kicinski	reuseport_bpf_cpu \
193f07f91a3SJakub Kicinski	reuseport_bpf_numa \
194f07f91a3SJakub Kicinski	reuseport_dualstack \
195f07f91a3SJakub Kicinski	sk_bind_sendto_listen \
196f07f91a3SJakub Kicinski	sk_connect_zero_addr \
197f07f91a3SJakub Kicinski	sk_so_peek_off \
198f07f91a3SJakub Kicinski	so_incoming_cpu \
199f07f91a3SJakub Kicinski	tap \
200f07f91a3SJakub Kicinski	tcp_port_share \
201f07f91a3SJakub Kicinski	tls \
202f07f91a3SJakub Kicinski	udp_splice_checksum \
203f07f91a3SJakub Kicinski# end of TEST_GEN_PROGS
204f07f91a3SJakub Kicinski
205f07f91a3SJakub KicinskiTEST_FILES := \
206f07f91a3SJakub Kicinski	fcnal-test.sh \
207f07f91a3SJakub Kicinski	in_netns.sh \
208f07f91a3SJakub Kicinski	lib.sh \
209f07f91a3SJakub Kicinski	settings \
210347fcdc4SJoe Damato# end of TEST_FILES
211347fcdc4SJoe Damato
212f3883b1eSJakub Kicinski# YNL files, must be before "include ..lib.mk"
21382cfdcfaSXu DuYNL_GEN_FILES := busy_poller
21482cfdcfaSXu DuYNL_GEN_PROGS := \
21582cfdcfaSXu Du	netlink-dumps \
21682cfdcfaSXu Du	tun \
21782cfdcfaSXu Du# end of YNL_GEN_PROGS
218347fcdc4SJoe Damato
219f3883b1eSJakub KicinskiTEST_GEN_FILES += $(YNL_GEN_FILES)
2205e29a910SMichael EllermanTEST_GEN_PROGS += $(YNL_GEN_PROGS)
2216b88ce90SJakub Kicinski
2226b88ce90SJakub KicinskiTEST_GEN_FILES += $(patsubst %.c,%.o,$(wildcard *.bpf.c))
223876e3247SPaolo Abeni
224876e3247SPaolo AbeniTEST_INCLUDES := forwarding/lib.sh
2255e29a910SMichael Ellerman
2265e29a910SMichael Ellermaninclude ../lib.mk
227347fcdc4SJoe Damato
22882cfdcfaSXu Du# YNL build
22982cfdcfaSXu DuYNL_GENS := \
23082cfdcfaSXu Du	netdev \
23182cfdcfaSXu Du	rt-addr \
23282cfdcfaSXu Du	rt-link \
23382cfdcfaSXu Du	rt-neigh \
23482cfdcfaSXu Du	rt-route \
23582cfdcfaSXu Du# end of YNL_GENS
236347fcdc4SJoe Damato
237347fcdc4SJoe Damatoinclude ynl.mk
23860e0f986SJoe Damato
239870f193dSFathi Boudra$(OUTPUT)/epoll_busy_poll: LDLIBS += -lcap
2405c5945dcSXiaoyan Li$(OUTPUT)/reuseport_bpf_numa: LDLIBS += -lnuma
2413e839363SDmitry Safonov$(OUTPUT)/tcp_mmap: LDLIBS += -lpthread -lcrypto
242c35ecb95SJoanne Koong$(OUTPUT)/tcp_inq: LDLIBS += -lpthread
243ba6e0e5cSBreno Leitao$(OUTPUT)/bind_bhash: LDLIBS += -lpthread
2443c107f36SHangbin Liu$(OUTPUT)/io_uring_zerocopy_tx: CFLAGS += -I../../../include/
2453f584c21SJakub Kicinski
246include bpf.mk
247