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 9f07f91a3SJakub KicinskiTEST_PROGS := \ 10f07f91a3SJakub Kicinski altnames.sh \ 11f07f91a3SJakub Kicinski amt.sh \ 12f07f91a3SJakub Kicinski arp_ndisc_evict_nocarrier.sh \ 13f07f91a3SJakub Kicinski arp_ndisc_untracked_subnets.sh \ 14f07f91a3SJakub Kicinski bareudp.sh \ 15f07f91a3SJakub Kicinski big_tcp.sh \ 16f07f91a3SJakub Kicinski bind_bhash.sh \ 17f07f91a3SJakub Kicinski bpf_offload.py \ 1820ae6d76SAndy Roulin bridge_stp_mode.sh \ 1913540021SDanielle Ratson bridge_vlan_dump.sh \ 20f07f91a3SJakub Kicinski broadcast_ether_dst.sh \ 21f07f91a3SJakub Kicinski broadcast_pmtu.sh \ 22f07f91a3SJakub Kicinski busy_poll_test.sh \ 23f07f91a3SJakub Kicinski cmsg_ip.sh \ 24f07f91a3SJakub Kicinski cmsg_so_mark.sh \ 25f07f91a3SJakub Kicinski cmsg_so_priority.sh \ 26f07f91a3SJakub Kicinski cmsg_time.sh \ 2740146bf7SPaolo Abeni double_udp_encap.sh \ 28f07f91a3SJakub Kicinski drop_monitor_tests.sh \ 29f07f91a3SJakub Kicinski fcnal-ipv4.sh \ 30f07f91a3SJakub Kicinski fcnal-ipv6.sh \ 31f07f91a3SJakub Kicinski fcnal-other.sh \ 32f07f91a3SJakub Kicinski fdb_flush.sh \ 33f07f91a3SJakub Kicinski fdb_notify.sh \ 34f07f91a3SJakub Kicinski fib-onlink-tests.sh \ 35f07f91a3SJakub Kicinski fib_nexthop_multiprefix.sh \ 36f07f91a3SJakub Kicinski fib_nexthop_nongw.sh \ 37f07f91a3SJakub Kicinski fib_nexthops.sh \ 38f07f91a3SJakub Kicinski fib_rule_tests.sh \ 39f07f91a3SJakub Kicinski fib_tests.sh \ 40f07f91a3SJakub Kicinski fin_ack_lat.sh \ 41f07f91a3SJakub Kicinski fq_band_pktlimit.sh \ 42f07f91a3SJakub Kicinski gre_gso.sh \ 43f07f91a3SJakub Kicinski gre_ipv6_lladdr.sh \ 44f07f91a3SJakub Kicinski icmp.sh \ 45f07f91a3SJakub Kicinski icmp_redirect.sh \ 46f07f91a3SJakub Kicinski io_uring_zerocopy_tx.sh \ 47f07f91a3SJakub Kicinski ioam6.sh \ 48f07f91a3SJakub Kicinski ip6_gre_headroom.sh \ 49f77c7b96SLinus Heckemann ip6_tunnel.sh \ 50f07f91a3SJakub Kicinski ip_defrag.sh \ 51f07f91a3SJakub Kicinski ip_local_port_range.sh \ 52f07f91a3SJakub Kicinski ipv6_flowlabel.sh \ 53f07f91a3SJakub Kicinski ipv6_force_forwarding.sh \ 54f07f91a3SJakub Kicinski ipv6_route_update_soft_lockup.sh \ 558becfe16SDmitry Skorodumov ipvtap_test.sh \ 56f07f91a3SJakub Kicinski l2_tos_ttl_inherit.sh \ 57f07f91a3SJakub Kicinski l2tp.sh \ 58f07f91a3SJakub Kicinski link_netns.py \ 59f07f91a3SJakub Kicinski lwt_dst_cache_ref_loop.sh \ 604ad96a7cSKibaek Yoo macvlan_mcast_shared_mac.sh \ 61f07f91a3SJakub Kicinski msg_zerocopy.sh \ 62f07f91a3SJakub Kicinski nat6to4.sh \ 63f07f91a3SJakub Kicinski ndisc_unsolicited_na_test.sh \ 64f07f91a3SJakub Kicinski netdev-l2addr.sh \ 65f07f91a3SJakub Kicinski netdevice.sh \ 66f07f91a3SJakub Kicinski netns-name.sh \ 67f07f91a3SJakub Kicinski netns-sysctl.sh \ 68e254ffb9SDaniel Borkmann nk_qlease.py \ 69f07f91a3SJakub Kicinski nl_netdev.py \ 70c1f9a89bSJakub Kicinski nl_nlctrl.py \ 71f07f91a3SJakub Kicinski pmtu.sh \ 72f07f91a3SJakub Kicinski psock_snd.sh \ 73f07f91a3SJakub Kicinski reuseaddr_ports_exhausted.sh \ 74f07f91a3SJakub Kicinski reuseport_addr_any.sh \ 75f07f91a3SJakub Kicinski route_hint.sh \ 76f07f91a3SJakub Kicinski route_localnet.sh \ 77f07f91a3SJakub Kicinski rps_default_mask.sh \ 78f07f91a3SJakub Kicinski rtnetlink.py \ 79f07f91a3SJakub Kicinski rtnetlink.sh \ 80f07f91a3SJakub Kicinski rtnetlink_notification.sh \ 81f07f91a3SJakub Kicinski run_afpackettests \ 82f07f91a3SJakub Kicinski run_netsocktests \ 83f07f91a3SJakub Kicinski rxtimestamp.sh \ 84f07f91a3SJakub Kicinski sctp_vrf.sh \ 85f07f91a3SJakub Kicinski skf_net_off.sh \ 86f07f91a3SJakub Kicinski so_txtime.sh \ 87f07f91a3SJakub Kicinski srv6_end_dt46_l3vpn_test.sh \ 88f07f91a3SJakub Kicinski srv6_end_dt4_l3vpn_test.sh \ 89f07f91a3SJakub Kicinski srv6_end_dt6_l3vpn_test.sh \ 90f07f91a3SJakub Kicinski srv6_end_dx4_netfilter_test.sh \ 91f07f91a3SJakub Kicinski srv6_end_dx6_netfilter_test.sh \ 92f07f91a3SJakub Kicinski srv6_end_flavors_test.sh \ 93f07f91a3SJakub Kicinski srv6_end_next_csid_l3vpn_test.sh \ 94f07f91a3SJakub Kicinski srv6_end_x_next_csid_l3vpn_test.sh \ 95f07f91a3SJakub Kicinski srv6_hencap_red_l3vpn_test.sh \ 96f07f91a3SJakub Kicinski srv6_hl2encap_red_l2vpn_test.sh \ 9732dfd742SAndrea Mayer srv6_iptunnel_cache.sh \ 98f07f91a3SJakub Kicinski stress_reuseport_listen.sh \ 99*d1ae37dcSKuniyuki Iwashima tcp_ecmp_failover.sh \ 100f07f91a3SJakub Kicinski tcp_fastopen_backup_key.sh \ 101f07f91a3SJakub Kicinski test_bpf.sh \ 102f07f91a3SJakub Kicinski test_bridge_backup_port.sh \ 103f07f91a3SJakub Kicinski test_bridge_neigh_suppress.sh \ 104f07f91a3SJakub Kicinski test_ingress_egress_chaining.sh \ 105f07f91a3SJakub Kicinski test_neigh.sh \ 106f07f91a3SJakub Kicinski test_so_rcv.sh \ 107f07f91a3SJakub Kicinski test_vxlan_fdb_changelink.sh \ 108f07f91a3SJakub Kicinski test_vxlan_mdb.sh \ 109f07f91a3SJakub Kicinski test_vxlan_nh.sh \ 110f07f91a3SJakub Kicinski test_vxlan_nolocalbypass.sh \ 111f07f91a3SJakub Kicinski test_vxlan_under_vrf.sh \ 112f07f91a3SJakub Kicinski test_vxlan_vnifiltering.sh \ 113f07f91a3SJakub Kicinski tfo_passive.sh \ 114f07f91a3SJakub Kicinski traceroute.sh \ 115f07f91a3SJakub Kicinski txtimestamp.sh \ 116f07f91a3SJakub Kicinski udpgro.sh \ 117f07f91a3SJakub Kicinski udpgro_bench.sh \ 118f07f91a3SJakub Kicinski udpgro_frglist.sh \ 119f07f91a3SJakub Kicinski udpgro_fwd.sh \ 120f07f91a3SJakub Kicinski udpgso.sh \ 121f07f91a3SJakub Kicinski udpgso_bench.sh \ 122f07f91a3SJakub Kicinski unicast_extensions.sh \ 123f07f91a3SJakub Kicinski veth.sh \ 124f07f91a3SJakub Kicinski vlan_bridge_binding.sh \ 125f07f91a3SJakub Kicinski vlan_hw_filter.sh \ 126f07f91a3SJakub Kicinski vrf-xfrm-tests.sh \ 127f07f91a3SJakub Kicinski vrf_route_leaking.sh \ 128f07f91a3SJakub Kicinski vrf_strict_mode_test.sh \ 129f07f91a3SJakub Kicinski xfrm_policy.sh \ 1305b43d35eSAntony Antony xfrm_state.sh \ 131f07f91a3SJakub Kicinski# end of TEST_PROGS 132f07f91a3SJakub Kicinski 133f07f91a3SJakub KicinskiTEST_PROGS_EXTENDED := \ 134f07f91a3SJakub Kicinski xfrm_policy_add_speed.sh \ 135f07f91a3SJakub Kicinski# end of TEST_PROGS_EXTENDED 136f07f91a3SJakub Kicinski 137f07f91a3SJakub KicinskiTEST_GEN_FILES := \ 138f07f91a3SJakub Kicinski bind_bhash \ 139f07f91a3SJakub Kicinski cmsg_sender \ 140f07f91a3SJakub Kicinski fin_ack_lat \ 141f07f91a3SJakub Kicinski hwtstamp_config \ 142f07f91a3SJakub Kicinski io_uring_zerocopy_tx \ 143f07f91a3SJakub Kicinski ioam6_parser \ 144f07f91a3SJakub Kicinski ip_defrag \ 145f07f91a3SJakub Kicinski ip_local_port_range \ 146f07f91a3SJakub Kicinski ipsec \ 147f07f91a3SJakub Kicinski ipv6_flowlabel \ 148f07f91a3SJakub Kicinski ipv6_flowlabel_mgr \ 149f07f91a3SJakub Kicinski msg_zerocopy \ 150f07f91a3SJakub Kicinski nettest \ 151f07f91a3SJakub Kicinski psock_fanout \ 152f07f91a3SJakub Kicinski psock_snd \ 153f07f91a3SJakub Kicinski psock_tpacket \ 154f07f91a3SJakub Kicinski reuseaddr_ports_exhausted \ 155f07f91a3SJakub Kicinski reuseport_addr_any \ 156f07f91a3SJakub Kicinski rxtimestamp \ 157f07f91a3SJakub Kicinski sctp_hello \ 158f07f91a3SJakub Kicinski skf_net_off \ 159f07f91a3SJakub Kicinski so_netns_cookie \ 160f07f91a3SJakub Kicinski so_rcv_listener \ 161f07f91a3SJakub Kicinski so_txtime \ 162f07f91a3SJakub Kicinski socket \ 163f07f91a3SJakub Kicinski stress_reuseport_listen \ 164f07f91a3SJakub Kicinski tcp_fastopen_backup_key \ 165f07f91a3SJakub Kicinski tcp_inq \ 166f07f91a3SJakub Kicinski tcp_mmap \ 167f07f91a3SJakub Kicinski tfo \ 168f07f91a3SJakub Kicinski timestamping \ 169f07f91a3SJakub Kicinski txring_overwrite \ 170f07f91a3SJakub Kicinski txtimestamp \ 171f07f91a3SJakub Kicinski udpgso \ 172f07f91a3SJakub Kicinski udpgso_bench_rx \ 173f07f91a3SJakub Kicinski udpgso_bench_tx \ 174f07f91a3SJakub Kicinski# end of TEST_GEN_FILES 175f07f91a3SJakub Kicinski 176f07f91a3SJakub KicinskiTEST_GEN_PROGS := \ 177f07f91a3SJakub Kicinski bind_timewait \ 178f07f91a3SJakub Kicinski bind_wildcard \ 179f07f91a3SJakub Kicinski epoll_busy_poll \ 180d07d7c3dSDanielle Ratson icmp_rfc4884 \ 181f07f91a3SJakub Kicinski ipv6_fragmentation \ 182f07f91a3SJakub Kicinski proc_net_pktgen \ 183f07f91a3SJakub Kicinski reuseaddr_conflict \ 184f07f91a3SJakub Kicinski reuseport_bpf \ 185f07f91a3SJakub Kicinski reuseport_bpf_cpu \ 186f07f91a3SJakub Kicinski reuseport_bpf_numa \ 187f07f91a3SJakub Kicinski reuseport_dualstack \ 188f07f91a3SJakub Kicinski sk_bind_sendto_listen \ 189f07f91a3SJakub Kicinski sk_connect_zero_addr \ 190f07f91a3SJakub Kicinski sk_so_peek_off \ 191f07f91a3SJakub Kicinski so_incoming_cpu \ 192f07f91a3SJakub Kicinski tap \ 193f07f91a3SJakub Kicinski tcp_port_share \ 194f07f91a3SJakub Kicinski tls \ 195f07f91a3SJakub Kicinski# end of TEST_GEN_PROGS 196f07f91a3SJakub Kicinski 197f07f91a3SJakub KicinskiTEST_FILES := \ 198f07f91a3SJakub Kicinski fcnal-test.sh \ 199f07f91a3SJakub Kicinski in_netns.sh \ 200f07f91a3SJakub Kicinski lib.sh \ 201f07f91a3SJakub Kicinski settings \ 202f07f91a3SJakub Kicinski# end of TEST_FILES 203347fcdc4SJoe Damato 204347fcdc4SJoe Damato# YNL files, must be before "include ..lib.mk" 205f3883b1eSJakub KicinskiYNL_GEN_FILES := busy_poller 20682cfdcfaSXu DuYNL_GEN_PROGS := \ 20782cfdcfaSXu Du netlink-dumps \ 20882cfdcfaSXu Du tun \ 20982cfdcfaSXu Du# end of YNL_GEN_PROGS 21082cfdcfaSXu Du 211347fcdc4SJoe DamatoTEST_GEN_FILES += $(YNL_GEN_FILES) 212f3883b1eSJakub KicinskiTEST_GEN_PROGS += $(YNL_GEN_PROGS) 2135e29a910SMichael Ellerman 2146b88ce90SJakub KicinskiTEST_GEN_FILES += $(patsubst %.c,%.o,$(wildcard *.bpf.c)) 2156b88ce90SJakub Kicinski 216876e3247SPaolo AbeniTEST_INCLUDES := forwarding/lib.sh 217876e3247SPaolo Abeni 2185e29a910SMichael Ellermaninclude ../lib.mk 2195e29a910SMichael Ellerman 220347fcdc4SJoe Damato# YNL build 22182cfdcfaSXu DuYNL_GENS := \ 22282cfdcfaSXu Du netdev \ 22382cfdcfaSXu Du rt-addr \ 22482cfdcfaSXu Du rt-link \ 22582cfdcfaSXu Du rt-neigh \ 22682cfdcfaSXu Du rt-route \ 22782cfdcfaSXu Du# end of YNL_GENS 22882cfdcfaSXu Du 229347fcdc4SJoe Damatoinclude ynl.mk 230347fcdc4SJoe Damato 23160e0f986SJoe Damato$(OUTPUT)/epoll_busy_poll: LDLIBS += -lcap 232870f193dSFathi Boudra$(OUTPUT)/reuseport_bpf_numa: LDLIBS += -lnuma 2335c5945dcSXiaoyan Li$(OUTPUT)/tcp_mmap: LDLIBS += -lpthread -lcrypto 2343e839363SDmitry Safonov$(OUTPUT)/tcp_inq: LDLIBS += -lpthread 235c35ecb95SJoanne Koong$(OUTPUT)/bind_bhash: LDLIBS += -lpthread 236ba6e0e5cSBreno Leitao$(OUTPUT)/io_uring_zerocopy_tx: CFLAGS += -I../../../include/ 2373c107f36SHangbin Liu 2383f584c21SJakub Kicinskiinclude bpf.mk 239