# SPDX-License-Identifier: GPL-2.0
# Makefile for net selftests

CFLAGS += -Wall -Wl,--no-as-needed -O2 -g
CFLAGS += -I../../../../usr/include/ $(KHDR_INCLUDES)
# Additional include paths needed by kselftest.h
CFLAGS += -I../

TEST_PROGS := \
	altnames.sh \
	amt.sh \
	arp_ndisc_evict_nocarrier.sh \
	arp_ndisc_untracked_subnets.sh \
	bareudp.sh \
	big_tcp.sh \
	big_tcp_tunnels.sh \
	bind_bhash.sh \
	bpf_offload.py \
	bridge_stp_mode.sh \
	bridge_vlan_dump.sh \
	broadcast_ether_dst.sh \
	broadcast_pmtu.sh \
	busy_poll_test.sh \
	cmsg_ip.sh \
	cmsg_so_mark.sh \
	cmsg_so_priority.sh \
	cmsg_time.sh \
	cork_fragsize.py \
	double_udp_encap.sh \
	drop_monitor_tests.sh \
	ecmp_rehash.sh \
	exception_cache.sh \
	fcnal-ipv4.sh \
	fcnal-ipv6.sh \
	fcnal-other.sh \
	fdb_flush.sh \
	fdb_notify.sh \
	fib-onlink-tests.sh \
	fib_nexthop_multiprefix.sh \
	fib_nexthop_nongw.sh \
	fib_nexthops.sh \
	fib_rule_tests.sh \
	fib_tests.sh \
	fin_ack_lat.sh \
	fou_mcast_encap.sh \
	fq_band_pktlimit.sh \
	gre_gso.sh \
	gre_ipv6_lladdr.sh \
	icmp.sh \
	icmp_redirect.sh \
	io_uring_zerocopy_tx.sh \
	ioam6.sh \
	ip6_gre_headroom.sh \
	ip6_tunnel.sh \
	ip_defrag.sh \
	ip_local_port_range.sh \
	ipv6_flowlabel.sh \
	ipv6_force_forwarding.sh \
	ipv6_route_update_soft_lockup.sh \
	ipvtap_test.sh \
	l2_tos_ttl_inherit.sh \
	l2tp.sh \
	link_netns.py \
	lwt_dst_cache_ref_loop.sh \
	macvlan_mcast_shared_mac.sh \
	msg_zerocopy.sh \
	nat6to4.sh \
	ndisc_unsolicited_na_test.sh \
	netdev-l2addr.sh \
	netdevice.sh \
	netns-name.sh \
	netns-sysctl.sh \
	nk_qlease.py \
	nl_netdev.py \
	nl_nlctrl.py \
	pmtu.sh \
	protodown.sh \
	psock_snd.sh \
	reuseaddr_ports_exhausted.sh \
	reuseport_addr_any.sh \
	route_hint.sh \
	route_localnet.sh \
	rps_default_mask.sh \
	rtnetlink.py \
	rtnetlink.sh \
	rtnetlink_notification.sh \
	run_afpackettests \
	run_netsocktests \
	rxtimestamp.sh \
	sctp_vrf.sh \
	skf_net_off.sh \
	srv6_encap_lookup_l3vpn_test.sh \
	srv6_end_dt46_l3vpn_test.sh \
	srv6_end_dt4_l3vpn_test.sh \
	srv6_end_dt6_l3vpn_test.sh \
	srv6_end_dx4_netfilter_test.sh \
	srv6_end_dx6_netfilter_test.sh \
	srv6_end_flavors_test.sh \
	srv6_end_next_csid_l3vpn_test.sh \
	srv6_end_x_next_csid_l3vpn_test.sh \
	srv6_hencap_red_l3vpn_test.sh \
	srv6_hl2encap_red_l2vpn_test.sh \
	srv6_iptunnel_cache.sh \
	stress_reuseport_listen.sh \
	tcp_ecmp_failover.sh \
	tcp_fastopen_backup_key.sh \
	test_bpf.sh \
	test_bridge_backup_port.sh \
	test_bridge_neigh_suppress.sh \
	test_ingress_egress_chaining.sh \
	test_neigh.sh \
	test_so_rcv.sh \
	test_vxlan_fdb_changelink.sh \
	test_vxlan_mdb.sh \
	test_vxlan_nh.sh \
	test_vxlan_nolocalbypass.sh \
	test_vxlan_under_vrf.sh \
	test_vxlan_vnifilter_notify.sh \
	test_vxlan_vnifiltering.sh \
	tfo_passive.sh \
	traceroute.sh \
	txtimestamp.sh \
	udpgro.sh \
	udpgro_bench.sh \
	udpgro_frglist.sh \
	udpgro_fwd.sh \
	udpgso.sh \
	udpgso_bench.sh \
	unicast_extensions.sh \
	veth.sh \
	vlan_bridge_binding.sh \
	vlan_hw_filter.sh \
	vrf-xfrm-tests.sh \
	vrf_route_leaking.sh \
	vrf_strict_mode_test.sh \
	xfrm_policy.sh \
	xfrm_state.sh \
# end of TEST_PROGS

TEST_PROGS_EXTENDED := \
	xfrm_policy_add_speed.sh \
# end of TEST_PROGS_EXTENDED

TEST_GEN_FILES := \
	bind_bhash \
	cmsg_sender \
	fin_ack_lat \
	hwtstamp_config \
	io_uring_zerocopy_tx \
	ioam6_parser \
	ip_defrag \
	ip_local_port_range \
	ipsec \
	ipv6_flowlabel \
	msg_zerocopy \
	nettest \
	psock_fanout \
	psock_snd \
	psock_tpacket \
	reuseaddr_ports_exhausted \
	reuseport_addr_any \
	rxtimestamp \
	sctp_hello \
	skf_net_off \
	so_netns_cookie \
	so_rcv_listener \
	socket \
	stress_reuseport_listen \
	tcp_fastopen_backup_key \
	tcp_inq \
	tcp_mmap \
	tfo \
	timestamping \
	txring_overwrite \
	txtimestamp \
	udpgso \
	udpgso_bench_rx \
	udpgso_bench_tx \
# end of TEST_GEN_FILES

TEST_GEN_PROGS := \
	bind_timewait \
	bind_wildcard \
	epoll_busy_poll \
	getsockopt_iter \
	icmp_rfc4884 \
	ipv6_flowlabel_mgr \
	ipv6_fragmentation \
	proc_net_pktgen \
	reuseaddr_conflict \
	reuseport_bpf \
	reuseport_bpf_cpu \
	reuseport_bpf_numa \
	reuseport_dualstack \
	sk_bind_sendto_listen \
	sk_connect_zero_addr \
	sk_so_peek_off \
	so_incoming_cpu \
	tap \
	tcp_port_share \
	tls \
# end of TEST_GEN_PROGS

TEST_FILES := \
	fcnal-test.sh \
	in_netns.sh \
	lib.sh \
	settings \
# end of TEST_FILES

# YNL files, must be before "include ..lib.mk"
YNL_GEN_FILES := busy_poller
YNL_GEN_PROGS := \
	netlink-dumps \
	tun \
# end of YNL_GEN_PROGS

TEST_GEN_FILES += $(YNL_GEN_FILES)
TEST_GEN_PROGS += $(YNL_GEN_PROGS)

TEST_GEN_FILES += $(patsubst %.c,%.o,$(wildcard *.bpf.c))

TEST_INCLUDES := forwarding/lib.sh

include ../lib.mk

# YNL build
YNL_GENS := \
	netdev \
	rt-addr \
	rt-link \
	rt-neigh \
	rt-route \
# end of YNL_GENS

include ynl.mk

$(OUTPUT)/epoll_busy_poll: LDLIBS += -lcap
$(OUTPUT)/reuseport_bpf_numa: LDLIBS += -lnuma
$(OUTPUT)/tcp_mmap: LDLIBS += -lpthread -lcrypto
$(OUTPUT)/tcp_inq: LDLIBS += -lpthread
$(OUTPUT)/bind_bhash: LDLIBS += -lpthread
$(OUTPUT)/io_uring_zerocopy_tx: CFLAGS += -I../../../include/

include bpf.mk
