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