xref: /linux/tools/testing/selftests/net/Makefile (revision 18a7e218cfcdca6666e1f7356533e4c988780b57)
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
9*f07f91a3SJakub KicinskiTEST_PROGS := \
10*f07f91a3SJakub Kicinski	altnames.sh \
11*f07f91a3SJakub Kicinski	amt.sh \
12*f07f91a3SJakub Kicinski	arp_ndisc_evict_nocarrier.sh \
13*f07f91a3SJakub Kicinski	arp_ndisc_untracked_subnets.sh \
14*f07f91a3SJakub Kicinski	bareudp.sh \
15*f07f91a3SJakub Kicinski	big_tcp.sh \
16*f07f91a3SJakub Kicinski	bind_bhash.sh \
17*f07f91a3SJakub Kicinski	bpf_offload.py \
18*f07f91a3SJakub Kicinski	broadcast_ether_dst.sh \
19*f07f91a3SJakub Kicinski	broadcast_pmtu.sh \
20*f07f91a3SJakub Kicinski	busy_poll_test.sh \
21*f07f91a3SJakub Kicinski	cmsg_ip.sh \
22*f07f91a3SJakub Kicinski	cmsg_so_mark.sh \
23*f07f91a3SJakub Kicinski	cmsg_so_priority.sh \
24*f07f91a3SJakub Kicinski	cmsg_time.sh \
25*f07f91a3SJakub Kicinski	drop_monitor_tests.sh \
26*f07f91a3SJakub Kicinski	fcnal-ipv4.sh \
27*f07f91a3SJakub Kicinski	fcnal-ipv6.sh \
28*f07f91a3SJakub Kicinski	fcnal-other.sh \
29*f07f91a3SJakub Kicinski	fdb_flush.sh \
30*f07f91a3SJakub Kicinski	fdb_notify.sh \
31*f07f91a3SJakub Kicinski	fib-onlink-tests.sh \
32*f07f91a3SJakub Kicinski	fib_nexthop_multiprefix.sh \
33*f07f91a3SJakub Kicinski	fib_nexthop_nongw.sh \
34*f07f91a3SJakub Kicinski	fib_nexthops.sh \
35*f07f91a3SJakub Kicinski	fib_rule_tests.sh \
36*f07f91a3SJakub Kicinski	fib_tests.sh \
37*f07f91a3SJakub Kicinski	fin_ack_lat.sh \
38*f07f91a3SJakub Kicinski	fq_band_pktlimit.sh \
39*f07f91a3SJakub Kicinski	gre_gso.sh \
40*f07f91a3SJakub Kicinski	gre_ipv6_lladdr.sh \
41*f07f91a3SJakub Kicinski	gro.sh \
42*f07f91a3SJakub Kicinski	icmp.sh \
43*f07f91a3SJakub Kicinski	icmp_redirect.sh \
44*f07f91a3SJakub Kicinski	io_uring_zerocopy_tx.sh \
45*f07f91a3SJakub Kicinski	ioam6.sh \
46*f07f91a3SJakub Kicinski	ip6_gre_headroom.sh \
47*f07f91a3SJakub Kicinski	ip_defrag.sh \
48*f07f91a3SJakub Kicinski	ip_local_port_range.sh \
49*f07f91a3SJakub Kicinski	ipv6_flowlabel.sh \
50*f07f91a3SJakub Kicinski	ipv6_force_forwarding.sh \
51*f07f91a3SJakub Kicinski	ipv6_route_update_soft_lockup.sh \
52*f07f91a3SJakub Kicinski	l2_tos_ttl_inherit.sh \
53*f07f91a3SJakub Kicinski	l2tp.sh \
54*f07f91a3SJakub Kicinski	link_netns.py \
55*f07f91a3SJakub Kicinski	lwt_dst_cache_ref_loop.sh \
56*f07f91a3SJakub Kicinski	msg_zerocopy.sh \
57*f07f91a3SJakub Kicinski	nat6to4.sh \
58*f07f91a3SJakub Kicinski	ndisc_unsolicited_na_test.sh \
59*f07f91a3SJakub Kicinski	netdev-l2addr.sh \
60*f07f91a3SJakub Kicinski	netdevice.sh \
61*f07f91a3SJakub Kicinski	netns-name.sh \
62*f07f91a3SJakub Kicinski	netns-sysctl.sh \
63*f07f91a3SJakub Kicinski	nl_netdev.py \
64*f07f91a3SJakub Kicinski	pmtu.sh \
65*f07f91a3SJakub Kicinski	psock_snd.sh \
66*f07f91a3SJakub Kicinski	reuseaddr_ports_exhausted.sh \
67*f07f91a3SJakub Kicinski	reuseport_addr_any.sh \
68*f07f91a3SJakub Kicinski	route_hint.sh \
69*f07f91a3SJakub Kicinski	route_localnet.sh \
70*f07f91a3SJakub Kicinski	rps_default_mask.sh \
71*f07f91a3SJakub Kicinski	rtnetlink.py \
72*f07f91a3SJakub Kicinski	rtnetlink.sh \
73*f07f91a3SJakub Kicinski	rtnetlink_notification.sh \
74*f07f91a3SJakub Kicinski	run_afpackettests \
75*f07f91a3SJakub Kicinski	run_netsocktests \
76*f07f91a3SJakub Kicinski	rxtimestamp.sh \
77*f07f91a3SJakub Kicinski	sctp_vrf.sh \
78*f07f91a3SJakub Kicinski	skf_net_off.sh \
79*f07f91a3SJakub Kicinski	so_txtime.sh \
80*f07f91a3SJakub Kicinski	srv6_end_dt46_l3vpn_test.sh \
81*f07f91a3SJakub Kicinski	srv6_end_dt4_l3vpn_test.sh \
82*f07f91a3SJakub Kicinski	srv6_end_dt6_l3vpn_test.sh \
83*f07f91a3SJakub Kicinski	srv6_end_dx4_netfilter_test.sh \
84*f07f91a3SJakub Kicinski	srv6_end_dx6_netfilter_test.sh \
85*f07f91a3SJakub Kicinski	srv6_end_flavors_test.sh \
86*f07f91a3SJakub Kicinski	srv6_end_next_csid_l3vpn_test.sh \
87*f07f91a3SJakub Kicinski	srv6_end_x_next_csid_l3vpn_test.sh \
88*f07f91a3SJakub Kicinski	srv6_hencap_red_l3vpn_test.sh \
89*f07f91a3SJakub Kicinski	srv6_hl2encap_red_l2vpn_test.sh \
90*f07f91a3SJakub Kicinski	stress_reuseport_listen.sh \
91*f07f91a3SJakub Kicinski	tcp_fastopen_backup_key.sh \
92*f07f91a3SJakub Kicinski	test_bpf.sh \
93*f07f91a3SJakub Kicinski	test_bridge_backup_port.sh \
94*f07f91a3SJakub Kicinski	test_bridge_neigh_suppress.sh \
95*f07f91a3SJakub Kicinski	test_ingress_egress_chaining.sh \
96*f07f91a3SJakub Kicinski	test_neigh.sh \
97*f07f91a3SJakub Kicinski	test_so_rcv.sh \
98*f07f91a3SJakub Kicinski	test_vxlan_fdb_changelink.sh \
99*f07f91a3SJakub Kicinski	test_vxlan_mdb.sh \
100*f07f91a3SJakub Kicinski	test_vxlan_nh.sh \
101*f07f91a3SJakub Kicinski	test_vxlan_nolocalbypass.sh \
102*f07f91a3SJakub Kicinski	test_vxlan_under_vrf.sh \
103*f07f91a3SJakub Kicinski	test_vxlan_vnifiltering.sh \
104*f07f91a3SJakub Kicinski	tfo_passive.sh \
105*f07f91a3SJakub Kicinski	traceroute.sh \
106*f07f91a3SJakub Kicinski	txtimestamp.sh \
107*f07f91a3SJakub Kicinski	udpgro.sh \
108*f07f91a3SJakub Kicinski	udpgro_bench.sh \
109*f07f91a3SJakub Kicinski	udpgro_frglist.sh \
110*f07f91a3SJakub Kicinski	udpgro_fwd.sh \
111*f07f91a3SJakub Kicinski	udpgso.sh \
112*f07f91a3SJakub Kicinski	udpgso_bench.sh \
113*f07f91a3SJakub Kicinski	unicast_extensions.sh \
114*f07f91a3SJakub Kicinski	veth.sh \
115*f07f91a3SJakub Kicinski	vlan_bridge_binding.sh \
116*f07f91a3SJakub Kicinski	vlan_hw_filter.sh \
117*f07f91a3SJakub Kicinski	vrf-xfrm-tests.sh \
118*f07f91a3SJakub Kicinski	vrf_route_leaking.sh \
119*f07f91a3SJakub Kicinski	vrf_strict_mode_test.sh \
120*f07f91a3SJakub Kicinski	xfrm_policy.sh \
121*f07f91a3SJakub Kicinski# end of TEST_PROGS
122*f07f91a3SJakub Kicinski
123*f07f91a3SJakub KicinskiTEST_PROGS_EXTENDED := \
124*f07f91a3SJakub Kicinski	toeplitz.sh \
125*f07f91a3SJakub Kicinski	toeplitz_client.sh \
126*f07f91a3SJakub Kicinski	xfrm_policy_add_speed.sh \
127*f07f91a3SJakub Kicinski# end of TEST_PROGS_EXTENDED
128*f07f91a3SJakub Kicinski
129*f07f91a3SJakub KicinskiTEST_GEN_FILES := \
130*f07f91a3SJakub Kicinski	bind_bhash \
131*f07f91a3SJakub Kicinski	cmsg_sender \
132*f07f91a3SJakub Kicinski	fin_ack_lat \
133*f07f91a3SJakub Kicinski	gro \
134*f07f91a3SJakub Kicinski	hwtstamp_config \
135*f07f91a3SJakub Kicinski	io_uring_zerocopy_tx \
136*f07f91a3SJakub Kicinski	ioam6_parser \
137*f07f91a3SJakub Kicinski	ip_defrag \
138*f07f91a3SJakub Kicinski	ip_local_port_range \
139*f07f91a3SJakub Kicinski	ipsec \
140*f07f91a3SJakub Kicinski	ipv6_flowlabel \
141*f07f91a3SJakub Kicinski	ipv6_flowlabel_mgr \
142*f07f91a3SJakub Kicinski	msg_zerocopy \
143*f07f91a3SJakub Kicinski	nettest \
144*f07f91a3SJakub Kicinski	psock_fanout \
145*f07f91a3SJakub Kicinski	psock_snd \
146*f07f91a3SJakub Kicinski	psock_tpacket \
147*f07f91a3SJakub Kicinski	reuseaddr_ports_exhausted \
148*f07f91a3SJakub Kicinski	reuseport_addr_any \
149*f07f91a3SJakub Kicinski	rxtimestamp \
150*f07f91a3SJakub Kicinski	sctp_hello \
151*f07f91a3SJakub Kicinski	skf_net_off \
152*f07f91a3SJakub Kicinski	so_netns_cookie \
153*f07f91a3SJakub Kicinski	so_rcv_listener \
154*f07f91a3SJakub Kicinski	so_txtime \
155*f07f91a3SJakub Kicinski	socket \
156*f07f91a3SJakub Kicinski	stress_reuseport_listen \
157*f07f91a3SJakub Kicinski	tcp_fastopen_backup_key \
158*f07f91a3SJakub Kicinski	tcp_inq \
159*f07f91a3SJakub Kicinski	tcp_mmap \
160*f07f91a3SJakub Kicinski	tfo \
161*f07f91a3SJakub Kicinski	timestamping \
162*f07f91a3SJakub Kicinski	toeplitz \
163*f07f91a3SJakub Kicinski	txring_overwrite \
164*f07f91a3SJakub Kicinski	txtimestamp \
165*f07f91a3SJakub Kicinski	udpgso \
166*f07f91a3SJakub Kicinski	udpgso_bench_rx \
167*f07f91a3SJakub Kicinski	udpgso_bench_tx \
168*f07f91a3SJakub Kicinski# end of TEST_GEN_FILES
169*f07f91a3SJakub Kicinski
170*f07f91a3SJakub KicinskiTEST_GEN_PROGS := \
171*f07f91a3SJakub Kicinski	bind_timewait \
172*f07f91a3SJakub Kicinski	bind_wildcard \
173*f07f91a3SJakub Kicinski	epoll_busy_poll \
174*f07f91a3SJakub Kicinski	ipv6_fragmentation \
175*f07f91a3SJakub Kicinski	proc_net_pktgen \
176*f07f91a3SJakub Kicinski	reuseaddr_conflict \
177*f07f91a3SJakub Kicinski	reuseport_bpf \
178*f07f91a3SJakub Kicinski	reuseport_bpf_cpu \
179*f07f91a3SJakub Kicinski	reuseport_bpf_numa \
180*f07f91a3SJakub Kicinski	reuseport_dualstack \
181*f07f91a3SJakub Kicinski	sk_bind_sendto_listen \
182*f07f91a3SJakub Kicinski	sk_connect_zero_addr \
183*f07f91a3SJakub Kicinski	sk_so_peek_off \
184*f07f91a3SJakub Kicinski	so_incoming_cpu \
185*f07f91a3SJakub Kicinski	tap \
186*f07f91a3SJakub Kicinski	tcp_port_share \
187*f07f91a3SJakub Kicinski	tls \
188*f07f91a3SJakub Kicinski	tun \
189*f07f91a3SJakub Kicinski# end of TEST_GEN_PROGS
190*f07f91a3SJakub Kicinski
191*f07f91a3SJakub KicinskiTEST_FILES := \
192*f07f91a3SJakub Kicinski	fcnal-test.sh \
193*f07f91a3SJakub Kicinski	in_netns.sh \
194*f07f91a3SJakub Kicinski	lib.sh \
195*f07f91a3SJakub Kicinski	settings \
196*f07f91a3SJakub Kicinski	setup_loopback.sh \
197*f07f91a3SJakub Kicinski	setup_veth.sh \
198*f07f91a3SJakub Kicinski# end of TEST_FILES
199347fcdc4SJoe Damato
200347fcdc4SJoe Damato# YNL files, must be before "include ..lib.mk"
201f3883b1eSJakub KicinskiYNL_GEN_FILES := busy_poller
202f3883b1eSJakub KicinskiYNL_GEN_PROGS := netlink-dumps
203347fcdc4SJoe DamatoTEST_GEN_FILES += $(YNL_GEN_FILES)
204f3883b1eSJakub KicinskiTEST_GEN_PROGS += $(YNL_GEN_PROGS)
2055e29a910SMichael Ellerman
2066b88ce90SJakub KicinskiTEST_GEN_FILES += $(patsubst %.c,%.o,$(wildcard *.bpf.c))
2076b88ce90SJakub Kicinski
208876e3247SPaolo AbeniTEST_INCLUDES := forwarding/lib.sh
209876e3247SPaolo Abeni
2105e29a910SMichael Ellermaninclude ../lib.mk
2115e29a910SMichael Ellerman
212347fcdc4SJoe Damato# YNL build
213347fcdc4SJoe DamatoYNL_GENS := netdev
214347fcdc4SJoe Damatoinclude ynl.mk
215347fcdc4SJoe Damato
21660e0f986SJoe Damato$(OUTPUT)/epoll_busy_poll: LDLIBS += -lcap
217870f193dSFathi Boudra$(OUTPUT)/reuseport_bpf_numa: LDLIBS += -lnuma
2185c5945dcSXiaoyan Li$(OUTPUT)/tcp_mmap: LDLIBS += -lpthread -lcrypto
2193e839363SDmitry Safonov$(OUTPUT)/tcp_inq: LDLIBS += -lpthread
220c35ecb95SJoanne Koong$(OUTPUT)/bind_bhash: LDLIBS += -lpthread
221ba6e0e5cSBreno Leitao$(OUTPUT)/io_uring_zerocopy_tx: CFLAGS += -I../../../include/
2223c107f36SHangbin Liu
2233f584c21SJakub Kicinskiinclude bpf.mk
224