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 \ 165cb53743SAlice Mikityanska big_tcp_tunnels.sh \ 17f07f91a3SJakub Kicinski bind_bhash.sh \ 18f07f91a3SJakub Kicinski bpf_offload.py \ 1920ae6d76SAndy Roulin bridge_stp_mode.sh \ 2013540021SDanielle Ratson bridge_vlan_dump.sh \ 21f07f91a3SJakub Kicinski broadcast_ether_dst.sh \ 22f07f91a3SJakub Kicinski broadcast_pmtu.sh \ 23f07f91a3SJakub Kicinski busy_poll_test.sh \ 24f07f91a3SJakub Kicinski cmsg_ip.sh \ 25f07f91a3SJakub Kicinski cmsg_so_mark.sh \ 26f07f91a3SJakub Kicinski cmsg_so_priority.sh \ 27f07f91a3SJakub Kicinski cmsg_time.sh \ 2840146bf7SPaolo Abeni double_udp_encap.sh \ 29f07f91a3SJakub Kicinski drop_monitor_tests.sh \ 30ae57a553SNeil Spring ecmp_rehash.sh \ 31*c923c149SIdo Schimmel exception_cache.sh \ 32f07f91a3SJakub Kicinski fcnal-ipv4.sh \ 33f07f91a3SJakub Kicinski fcnal-ipv6.sh \ 34f07f91a3SJakub Kicinski fcnal-other.sh \ 35f07f91a3SJakub Kicinski fdb_flush.sh \ 36f07f91a3SJakub Kicinski fdb_notify.sh \ 37f07f91a3SJakub Kicinski fib-onlink-tests.sh \ 38f07f91a3SJakub Kicinski fib_nexthop_multiprefix.sh \ 39f07f91a3SJakub Kicinski fib_nexthop_nongw.sh \ 40f07f91a3SJakub Kicinski fib_nexthops.sh \ 41f07f91a3SJakub Kicinski fib_rule_tests.sh \ 42f07f91a3SJakub Kicinski fib_tests.sh \ 43f07f91a3SJakub Kicinski fin_ack_lat.sh \ 44e5382133SAnton Danilov fou_mcast_encap.sh \ 45f07f91a3SJakub Kicinski fq_band_pktlimit.sh \ 46f07f91a3SJakub Kicinski gre_gso.sh \ 47f07f91a3SJakub Kicinski gre_ipv6_lladdr.sh \ 48f07f91a3SJakub Kicinski icmp.sh \ 49f07f91a3SJakub Kicinski icmp_redirect.sh \ 50f07f91a3SJakub Kicinski io_uring_zerocopy_tx.sh \ 51f07f91a3SJakub Kicinski ioam6.sh \ 52f07f91a3SJakub Kicinski ip6_gre_headroom.sh \ 53f77c7b96SLinus Heckemann ip6_tunnel.sh \ 54f07f91a3SJakub Kicinski ip_defrag.sh \ 55f07f91a3SJakub Kicinski ip_local_port_range.sh \ 56f07f91a3SJakub Kicinski ipv6_flowlabel.sh \ 57f07f91a3SJakub Kicinski ipv6_force_forwarding.sh \ 58f07f91a3SJakub Kicinski ipv6_route_update_soft_lockup.sh \ 598becfe16SDmitry Skorodumov ipvtap_test.sh \ 60f07f91a3SJakub Kicinski l2_tos_ttl_inherit.sh \ 61f07f91a3SJakub Kicinski l2tp.sh \ 62f07f91a3SJakub Kicinski link_netns.py \ 63f07f91a3SJakub Kicinski lwt_dst_cache_ref_loop.sh \ 644ad96a7cSKibaek Yoo macvlan_mcast_shared_mac.sh \ 65f07f91a3SJakub Kicinski msg_zerocopy.sh \ 66f07f91a3SJakub Kicinski nat6to4.sh \ 67f07f91a3SJakub Kicinski ndisc_unsolicited_na_test.sh \ 68f07f91a3SJakub Kicinski netdev-l2addr.sh \ 69f07f91a3SJakub Kicinski netdevice.sh \ 70f07f91a3SJakub Kicinski netns-name.sh \ 71f07f91a3SJakub Kicinski netns-sysctl.sh \ 72e254ffb9SDaniel Borkmann nk_qlease.py \ 73f07f91a3SJakub Kicinski nl_netdev.py \ 74c1f9a89bSJakub Kicinski nl_nlctrl.py \ 75f07f91a3SJakub Kicinski pmtu.sh \ 76c0375944SIdo Schimmel protodown.sh \ 77f07f91a3SJakub Kicinski psock_snd.sh \ 78f07f91a3SJakub Kicinski reuseaddr_ports_exhausted.sh \ 79f07f91a3SJakub Kicinski reuseport_addr_any.sh \ 80f07f91a3SJakub Kicinski route_hint.sh \ 81f07f91a3SJakub Kicinski route_localnet.sh \ 82f07f91a3SJakub Kicinski rps_default_mask.sh \ 83f07f91a3SJakub Kicinski rtnetlink.py \ 84f07f91a3SJakub Kicinski rtnetlink.sh \ 85f07f91a3SJakub Kicinski rtnetlink_notification.sh \ 86f07f91a3SJakub Kicinski run_afpackettests \ 87f07f91a3SJakub Kicinski run_netsocktests \ 88f07f91a3SJakub Kicinski rxtimestamp.sh \ 89f07f91a3SJakub Kicinski sctp_vrf.sh \ 90f07f91a3SJakub Kicinski skf_net_off.sh \ 911016a547SAndrea Mayer srv6_encap_lookup_l3vpn_test.sh \ 92f07f91a3SJakub Kicinski srv6_end_dt46_l3vpn_test.sh \ 93f07f91a3SJakub Kicinski srv6_end_dt4_l3vpn_test.sh \ 94f07f91a3SJakub Kicinski srv6_end_dt6_l3vpn_test.sh \ 95f07f91a3SJakub Kicinski srv6_end_dx4_netfilter_test.sh \ 96f07f91a3SJakub Kicinski srv6_end_dx6_netfilter_test.sh \ 97f07f91a3SJakub Kicinski srv6_end_flavors_test.sh \ 98f07f91a3SJakub Kicinski srv6_end_next_csid_l3vpn_test.sh \ 99f07f91a3SJakub Kicinski srv6_end_x_next_csid_l3vpn_test.sh \ 100f07f91a3SJakub Kicinski srv6_hencap_red_l3vpn_test.sh \ 101f07f91a3SJakub Kicinski srv6_hl2encap_red_l2vpn_test.sh \ 10232dfd742SAndrea Mayer srv6_iptunnel_cache.sh \ 103f07f91a3SJakub Kicinski stress_reuseport_listen.sh \ 104d1ae37dcSKuniyuki Iwashima tcp_ecmp_failover.sh \ 105f07f91a3SJakub Kicinski tcp_fastopen_backup_key.sh \ 106f07f91a3SJakub Kicinski test_bpf.sh \ 107f07f91a3SJakub Kicinski test_bridge_backup_port.sh \ 108f07f91a3SJakub Kicinski test_bridge_neigh_suppress.sh \ 109f07f91a3SJakub Kicinski test_ingress_egress_chaining.sh \ 110f07f91a3SJakub Kicinski test_neigh.sh \ 111f07f91a3SJakub Kicinski test_so_rcv.sh \ 112f07f91a3SJakub Kicinski test_vxlan_fdb_changelink.sh \ 113f07f91a3SJakub Kicinski test_vxlan_mdb.sh \ 114f07f91a3SJakub Kicinski test_vxlan_nh.sh \ 115f07f91a3SJakub Kicinski test_vxlan_nolocalbypass.sh \ 116f07f91a3SJakub Kicinski test_vxlan_under_vrf.sh \ 1178df1c84eSAndy Roulin test_vxlan_vnifilter_notify.sh \ 118f07f91a3SJakub Kicinski test_vxlan_vnifiltering.sh \ 119f07f91a3SJakub Kicinski tfo_passive.sh \ 120f07f91a3SJakub Kicinski traceroute.sh \ 121f07f91a3SJakub Kicinski txtimestamp.sh \ 122f07f91a3SJakub Kicinski udpgro.sh \ 123f07f91a3SJakub Kicinski udpgro_bench.sh \ 124f07f91a3SJakub Kicinski udpgro_frglist.sh \ 125f07f91a3SJakub Kicinski udpgro_fwd.sh \ 126f07f91a3SJakub Kicinski udpgso.sh \ 127f07f91a3SJakub Kicinski udpgso_bench.sh \ 128f07f91a3SJakub Kicinski unicast_extensions.sh \ 129f07f91a3SJakub Kicinski veth.sh \ 130f07f91a3SJakub Kicinski vlan_bridge_binding.sh \ 131f07f91a3SJakub Kicinski vlan_hw_filter.sh \ 132f07f91a3SJakub Kicinski vrf-xfrm-tests.sh \ 133f07f91a3SJakub Kicinski vrf_route_leaking.sh \ 134f07f91a3SJakub Kicinski vrf_strict_mode_test.sh \ 135f07f91a3SJakub Kicinski xfrm_policy.sh \ 1365b43d35eSAntony Antony xfrm_state.sh \ 137f07f91a3SJakub Kicinski# end of TEST_PROGS 138f07f91a3SJakub Kicinski 139f07f91a3SJakub KicinskiTEST_PROGS_EXTENDED := \ 140f07f91a3SJakub Kicinski xfrm_policy_add_speed.sh \ 141f07f91a3SJakub Kicinski# end of TEST_PROGS_EXTENDED 142f07f91a3SJakub Kicinski 143f07f91a3SJakub KicinskiTEST_GEN_FILES := \ 144f07f91a3SJakub Kicinski bind_bhash \ 145f07f91a3SJakub Kicinski cmsg_sender \ 146f07f91a3SJakub Kicinski fin_ack_lat \ 147f07f91a3SJakub Kicinski hwtstamp_config \ 148f07f91a3SJakub Kicinski io_uring_zerocopy_tx \ 149f07f91a3SJakub Kicinski ioam6_parser \ 150f07f91a3SJakub Kicinski ip_defrag \ 151f07f91a3SJakub Kicinski ip_local_port_range \ 152f07f91a3SJakub Kicinski ipsec \ 153f07f91a3SJakub Kicinski ipv6_flowlabel \ 154f07f91a3SJakub Kicinski msg_zerocopy \ 155f07f91a3SJakub Kicinski nettest \ 156f07f91a3SJakub Kicinski psock_fanout \ 157f07f91a3SJakub Kicinski psock_snd \ 158f07f91a3SJakub Kicinski psock_tpacket \ 159f07f91a3SJakub Kicinski reuseaddr_ports_exhausted \ 160f07f91a3SJakub Kicinski reuseport_addr_any \ 161f07f91a3SJakub Kicinski rxtimestamp \ 162f07f91a3SJakub Kicinski sctp_hello \ 163f07f91a3SJakub Kicinski skf_net_off \ 164f07f91a3SJakub Kicinski so_netns_cookie \ 165f07f91a3SJakub Kicinski so_rcv_listener \ 166f07f91a3SJakub Kicinski socket \ 167f07f91a3SJakub Kicinski stress_reuseport_listen \ 168f07f91a3SJakub Kicinski tcp_fastopen_backup_key \ 169f07f91a3SJakub Kicinski tcp_inq \ 170f07f91a3SJakub Kicinski tcp_mmap \ 171f07f91a3SJakub Kicinski tfo \ 172f07f91a3SJakub Kicinski timestamping \ 173f07f91a3SJakub Kicinski txring_overwrite \ 174f07f91a3SJakub Kicinski txtimestamp \ 175f07f91a3SJakub Kicinski udpgso \ 176f07f91a3SJakub Kicinski udpgso_bench_rx \ 177f07f91a3SJakub Kicinski udpgso_bench_tx \ 178f07f91a3SJakub Kicinski# end of TEST_GEN_FILES 179f07f91a3SJakub Kicinski 180f07f91a3SJakub KicinskiTEST_GEN_PROGS := \ 181f07f91a3SJakub Kicinski bind_timewait \ 182f07f91a3SJakub Kicinski bind_wildcard \ 183f07f91a3SJakub Kicinski epoll_busy_poll \ 184d39887f5SBreno Leitao getsockopt_iter \ 185d07d7c3dSDanielle Ratson icmp_rfc4884 \ 18696bf660dSMarcelo Mendes Spessoto Junior ipv6_flowlabel_mgr \ 187f07f91a3SJakub Kicinski ipv6_fragmentation \ 188f07f91a3SJakub Kicinski proc_net_pktgen \ 189f07f91a3SJakub Kicinski reuseaddr_conflict \ 190f07f91a3SJakub Kicinski reuseport_bpf \ 191f07f91a3SJakub Kicinski reuseport_bpf_cpu \ 192f07f91a3SJakub Kicinski reuseport_bpf_numa \ 193f07f91a3SJakub Kicinski reuseport_dualstack \ 194f07f91a3SJakub Kicinski sk_bind_sendto_listen \ 195f07f91a3SJakub Kicinski sk_connect_zero_addr \ 196f07f91a3SJakub Kicinski sk_so_peek_off \ 197f07f91a3SJakub Kicinski so_incoming_cpu \ 198f07f91a3SJakub Kicinski tap \ 199f07f91a3SJakub Kicinski tcp_port_share \ 200f07f91a3SJakub Kicinski tls \ 201f07f91a3SJakub Kicinski# end of TEST_GEN_PROGS 202f07f91a3SJakub Kicinski 203f07f91a3SJakub KicinskiTEST_FILES := \ 204f07f91a3SJakub Kicinski fcnal-test.sh \ 205f07f91a3SJakub Kicinski in_netns.sh \ 206f07f91a3SJakub Kicinski lib.sh \ 207f07f91a3SJakub Kicinski settings \ 208f07f91a3SJakub Kicinski# end of TEST_FILES 209347fcdc4SJoe Damato 210347fcdc4SJoe Damato# YNL files, must be before "include ..lib.mk" 211f3883b1eSJakub KicinskiYNL_GEN_FILES := busy_poller 21282cfdcfaSXu DuYNL_GEN_PROGS := \ 21382cfdcfaSXu Du netlink-dumps \ 21482cfdcfaSXu Du tun \ 21582cfdcfaSXu Du# end of YNL_GEN_PROGS 21682cfdcfaSXu Du 217347fcdc4SJoe DamatoTEST_GEN_FILES += $(YNL_GEN_FILES) 218f3883b1eSJakub KicinskiTEST_GEN_PROGS += $(YNL_GEN_PROGS) 2195e29a910SMichael Ellerman 2206b88ce90SJakub KicinskiTEST_GEN_FILES += $(patsubst %.c,%.o,$(wildcard *.bpf.c)) 2216b88ce90SJakub Kicinski 222876e3247SPaolo AbeniTEST_INCLUDES := forwarding/lib.sh 223876e3247SPaolo Abeni 2245e29a910SMichael Ellermaninclude ../lib.mk 2255e29a910SMichael Ellerman 226347fcdc4SJoe Damato# YNL build 22782cfdcfaSXu DuYNL_GENS := \ 22882cfdcfaSXu Du netdev \ 22982cfdcfaSXu Du rt-addr \ 23082cfdcfaSXu Du rt-link \ 23182cfdcfaSXu Du rt-neigh \ 23282cfdcfaSXu Du rt-route \ 23382cfdcfaSXu Du# end of YNL_GENS 23482cfdcfaSXu Du 235347fcdc4SJoe Damatoinclude ynl.mk 236347fcdc4SJoe Damato 23760e0f986SJoe Damato$(OUTPUT)/epoll_busy_poll: LDLIBS += -lcap 238870f193dSFathi Boudra$(OUTPUT)/reuseport_bpf_numa: LDLIBS += -lnuma 2395c5945dcSXiaoyan Li$(OUTPUT)/tcp_mmap: LDLIBS += -lpthread -lcrypto 2403e839363SDmitry Safonov$(OUTPUT)/tcp_inq: LDLIBS += -lpthread 241c35ecb95SJoanne Koong$(OUTPUT)/bind_bhash: LDLIBS += -lpthread 242ba6e0e5cSBreno Leitao$(OUTPUT)/io_uring_zerocopy_tx: CFLAGS += -I../../../include/ 2433c107f36SHangbin Liu 2443f584c21SJakub Kicinskiinclude bpf.mk 245