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