xref: /linux/tools/testing/selftests/net/Makefile (revision 18a7e218cfcdca6666e1f7356533e4c988780b57)
1# SPDX-License-Identifier: GPL-2.0
2# Makefile for net selftests
3
4CFLAGS += -Wall -Wl,--no-as-needed -O2 -g
5CFLAGS += -I../../../../usr/include/ $(KHDR_INCLUDES)
6# Additional include paths needed by kselftest.h
7CFLAGS += -I../
8
9TEST_PROGS := \
10	altnames.sh \
11	amt.sh \
12	arp_ndisc_evict_nocarrier.sh \
13	arp_ndisc_untracked_subnets.sh \
14	bareudp.sh \
15	big_tcp.sh \
16	bind_bhash.sh \
17	bpf_offload.py \
18	broadcast_ether_dst.sh \
19	broadcast_pmtu.sh \
20	busy_poll_test.sh \
21	cmsg_ip.sh \
22	cmsg_so_mark.sh \
23	cmsg_so_priority.sh \
24	cmsg_time.sh \
25	drop_monitor_tests.sh \
26	fcnal-ipv4.sh \
27	fcnal-ipv6.sh \
28	fcnal-other.sh \
29	fdb_flush.sh \
30	fdb_notify.sh \
31	fib-onlink-tests.sh \
32	fib_nexthop_multiprefix.sh \
33	fib_nexthop_nongw.sh \
34	fib_nexthops.sh \
35	fib_rule_tests.sh \
36	fib_tests.sh \
37	fin_ack_lat.sh \
38	fq_band_pktlimit.sh \
39	gre_gso.sh \
40	gre_ipv6_lladdr.sh \
41	gro.sh \
42	icmp.sh \
43	icmp_redirect.sh \
44	io_uring_zerocopy_tx.sh \
45	ioam6.sh \
46	ip6_gre_headroom.sh \
47	ip_defrag.sh \
48	ip_local_port_range.sh \
49	ipv6_flowlabel.sh \
50	ipv6_force_forwarding.sh \
51	ipv6_route_update_soft_lockup.sh \
52	l2_tos_ttl_inherit.sh \
53	l2tp.sh \
54	link_netns.py \
55	lwt_dst_cache_ref_loop.sh \
56	msg_zerocopy.sh \
57	nat6to4.sh \
58	ndisc_unsolicited_na_test.sh \
59	netdev-l2addr.sh \
60	netdevice.sh \
61	netns-name.sh \
62	netns-sysctl.sh \
63	nl_netdev.py \
64	pmtu.sh \
65	psock_snd.sh \
66	reuseaddr_ports_exhausted.sh \
67	reuseport_addr_any.sh \
68	route_hint.sh \
69	route_localnet.sh \
70	rps_default_mask.sh \
71	rtnetlink.py \
72	rtnetlink.sh \
73	rtnetlink_notification.sh \
74	run_afpackettests \
75	run_netsocktests \
76	rxtimestamp.sh \
77	sctp_vrf.sh \
78	skf_net_off.sh \
79	so_txtime.sh \
80	srv6_end_dt46_l3vpn_test.sh \
81	srv6_end_dt4_l3vpn_test.sh \
82	srv6_end_dt6_l3vpn_test.sh \
83	srv6_end_dx4_netfilter_test.sh \
84	srv6_end_dx6_netfilter_test.sh \
85	srv6_end_flavors_test.sh \
86	srv6_end_next_csid_l3vpn_test.sh \
87	srv6_end_x_next_csid_l3vpn_test.sh \
88	srv6_hencap_red_l3vpn_test.sh \
89	srv6_hl2encap_red_l2vpn_test.sh \
90	stress_reuseport_listen.sh \
91	tcp_fastopen_backup_key.sh \
92	test_bpf.sh \
93	test_bridge_backup_port.sh \
94	test_bridge_neigh_suppress.sh \
95	test_ingress_egress_chaining.sh \
96	test_neigh.sh \
97	test_so_rcv.sh \
98	test_vxlan_fdb_changelink.sh \
99	test_vxlan_mdb.sh \
100	test_vxlan_nh.sh \
101	test_vxlan_nolocalbypass.sh \
102	test_vxlan_under_vrf.sh \
103	test_vxlan_vnifiltering.sh \
104	tfo_passive.sh \
105	traceroute.sh \
106	txtimestamp.sh \
107	udpgro.sh \
108	udpgro_bench.sh \
109	udpgro_frglist.sh \
110	udpgro_fwd.sh \
111	udpgso.sh \
112	udpgso_bench.sh \
113	unicast_extensions.sh \
114	veth.sh \
115	vlan_bridge_binding.sh \
116	vlan_hw_filter.sh \
117	vrf-xfrm-tests.sh \
118	vrf_route_leaking.sh \
119	vrf_strict_mode_test.sh \
120	xfrm_policy.sh \
121# end of TEST_PROGS
122
123TEST_PROGS_EXTENDED := \
124	toeplitz.sh \
125	toeplitz_client.sh \
126	xfrm_policy_add_speed.sh \
127# end of TEST_PROGS_EXTENDED
128
129TEST_GEN_FILES := \
130	bind_bhash \
131	cmsg_sender \
132	fin_ack_lat \
133	gro \
134	hwtstamp_config \
135	io_uring_zerocopy_tx \
136	ioam6_parser \
137	ip_defrag \
138	ip_local_port_range \
139	ipsec \
140	ipv6_flowlabel \
141	ipv6_flowlabel_mgr \
142	msg_zerocopy \
143	nettest \
144	psock_fanout \
145	psock_snd \
146	psock_tpacket \
147	reuseaddr_ports_exhausted \
148	reuseport_addr_any \
149	rxtimestamp \
150	sctp_hello \
151	skf_net_off \
152	so_netns_cookie \
153	so_rcv_listener \
154	so_txtime \
155	socket \
156	stress_reuseport_listen \
157	tcp_fastopen_backup_key \
158	tcp_inq \
159	tcp_mmap \
160	tfo \
161	timestamping \
162	toeplitz \
163	txring_overwrite \
164	txtimestamp \
165	udpgso \
166	udpgso_bench_rx \
167	udpgso_bench_tx \
168# end of TEST_GEN_FILES
169
170TEST_GEN_PROGS := \
171	bind_timewait \
172	bind_wildcard \
173	epoll_busy_poll \
174	ipv6_fragmentation \
175	proc_net_pktgen \
176	reuseaddr_conflict \
177	reuseport_bpf \
178	reuseport_bpf_cpu \
179	reuseport_bpf_numa \
180	reuseport_dualstack \
181	sk_bind_sendto_listen \
182	sk_connect_zero_addr \
183	sk_so_peek_off \
184	so_incoming_cpu \
185	tap \
186	tcp_port_share \
187	tls \
188	tun \
189# end of TEST_GEN_PROGS
190
191TEST_FILES := \
192	fcnal-test.sh \
193	in_netns.sh \
194	lib.sh \
195	settings \
196	setup_loopback.sh \
197	setup_veth.sh \
198# end of TEST_FILES
199
200# YNL files, must be before "include ..lib.mk"
201YNL_GEN_FILES := busy_poller
202YNL_GEN_PROGS := netlink-dumps
203TEST_GEN_FILES += $(YNL_GEN_FILES)
204TEST_GEN_PROGS += $(YNL_GEN_PROGS)
205
206TEST_GEN_FILES += $(patsubst %.c,%.o,$(wildcard *.bpf.c))
207
208TEST_INCLUDES := forwarding/lib.sh
209
210include ../lib.mk
211
212# YNL build
213YNL_GENS := netdev
214include ynl.mk
215
216$(OUTPUT)/epoll_busy_poll: LDLIBS += -lcap
217$(OUTPUT)/reuseport_bpf_numa: LDLIBS += -lnuma
218$(OUTPUT)/tcp_mmap: LDLIBS += -lpthread -lcrypto
219$(OUTPUT)/tcp_inq: LDLIBS += -lpthread
220$(OUTPUT)/bind_bhash: LDLIBS += -lpthread
221$(OUTPUT)/io_uring_zerocopy_tx: CFLAGS += -I../../../include/
222
223include bpf.mk
224