1# SPDX-License-Identifier: GPL-2.0 2# Makefile for net selftests 3 4CFLAGS += -Wall -Wl,--no-as-needed -O2 -g 5CFLAGS += -I../../../../usr/include/ $(KHDR_INCLUDES) 6# Additional include paths needed by kselftest.h 7CFLAGS += -I../ 8 9TEST_PROGS := \ 10 altnames.sh \ 11 amt.sh \ 12 arp_ndisc_evict_nocarrier.sh \ 13 arp_ndisc_untracked_subnets.sh \ 14 bareudp.sh \ 15 big_tcp.sh \ 16 big_tcp_tunnels.sh \ 17 bind_bhash.sh \ 18 bpf_offload.py \ 19 bridge_stp_mode.sh \ 20 bridge_vlan_dump.sh \ 21 broadcast_ether_dst.sh \ 22 broadcast_pmtu.sh \ 23 busy_poll_test.sh \ 24 cmsg_ip.sh \ 25 cmsg_so_mark.sh \ 26 cmsg_so_priority.sh \ 27 cmsg_time.sh \ 28 cork_fragsize.py \ 29 double_udp_encap.sh \ 30 drop_monitor_tests.sh \ 31 ecmp_rehash.sh \ 32 exception_cache.sh \ 33 fcnal-ipv4.sh \ 34 fcnal-ipv6.sh \ 35 fcnal-other.sh \ 36 fdb_flush.sh \ 37 fdb_notify.sh \ 38 fib-onlink-tests.sh \ 39 fib_nexthop_multiprefix.sh \ 40 fib_nexthop_nongw.sh \ 41 fib_nexthops.sh \ 42 fib_rule_tests.sh \ 43 fib_tests.sh \ 44 fin_ack_lat.sh \ 45 fou_gre_gro.sh \ 46 fou_mcast_encap.sh \ 47 fq_band_pktlimit.sh \ 48 gre_gso.sh \ 49 gre_ipv6_lladdr.sh \ 50 gtp.py \ 51 icmp.sh \ 52 icmp_redirect.sh \ 53 io_uring_zerocopy_tx.sh \ 54 ioam6.sh \ 55 ip6_gre_headroom.sh \ 56 ip6_tunnel.sh \ 57 ip_defrag.sh \ 58 ip_local_port_range.sh \ 59 ipv6_flowlabel.sh \ 60 ipv6_force_forwarding.sh \ 61 ipv6_route_update_soft_lockup.sh \ 62 ipvtap_test.sh \ 63 l2_tos_ttl_inherit.sh \ 64 l2tp.sh \ 65 link_netns.py \ 66 lwt_dst_cache_ref_loop.sh \ 67 macvlan_mcast_shared_mac.sh \ 68 msg_zerocopy.sh \ 69 nat6to4.sh \ 70 ndisc_unsolicited_na_test.sh \ 71 netdev-l2addr.sh \ 72 netdev_lock.py \ 73 netdevice.sh \ 74 netns-name.sh \ 75 netns-sysctl.sh \ 76 nk_qlease.py \ 77 nl_netdev.py \ 78 nl_nlctrl.py \ 79 pmtu.sh \ 80 protodown.sh \ 81 psock_snd.sh \ 82 reuseaddr_ports_exhausted.sh \ 83 reuseport_addr_any.sh \ 84 route_hint.sh \ 85 route_localnet.sh \ 86 rps_default_mask.sh \ 87 rtnetlink.py \ 88 rtnetlink.sh \ 89 rtnetlink_notification.sh \ 90 run_afpackettests \ 91 run_netsocktests \ 92 rxtimestamp.sh \ 93 sctp_vrf.sh \ 94 skf_net_off.sh \ 95 srv6_encap_lookup_l3vpn_test.sh \ 96 srv6_end_dt46_l3vpn_test.sh \ 97 srv6_end_dt4_l3vpn_test.sh \ 98 srv6_end_dt6_l3vpn_test.sh \ 99 srv6_end_dx4_netfilter_test.sh \ 100 srv6_end_dx6_netfilter_test.sh \ 101 srv6_end_flavors_test.sh \ 102 srv6_end_next_csid_l3vpn_test.sh \ 103 srv6_end_x_next_csid_l3vpn_test.sh \ 104 srv6_hencap_red_l3vpn_test.sh \ 105 srv6_hl2encap_red_l2vpn_test.sh \ 106 srv6_iptunnel_cache.sh \ 107 stress_reuseport_listen.sh \ 108 tcp_ecmp_failover.sh \ 109 tcp_fastopen_backup_key.sh \ 110 test_bridge_backup_port.sh \ 111 test_bridge_neigh_suppress.sh \ 112 test_ingress_egress_chaining.sh \ 113 test_neigh.sh \ 114 test_so_rcv.sh \ 115 test_vxlan_fdb_changelink.sh \ 116 test_vxlan_mdb.sh \ 117 test_vxlan_nh.sh \ 118 test_vxlan_nolocalbypass.sh \ 119 test_vxlan_under_vrf.sh \ 120 test_vxlan_vnifilter_notify.sh \ 121 test_vxlan_vnifiltering.sh \ 122 tfo_passive.sh \ 123 traceroute.sh \ 124 txtimestamp.sh \ 125 udpgro.sh \ 126 udpgro_bench.sh \ 127 udpgro_frglist.sh \ 128 udpgro_fwd.sh \ 129 udpgso.sh \ 130 udpgso_bench.sh \ 131 unicast_extensions.sh \ 132 veth.sh \ 133 vlan_bridge_binding.sh \ 134 vlan_hw_filter.sh \ 135 vrf-xfrm-tests.sh \ 136 vrf_route_leaking.sh \ 137 vrf_strict_mode_test.sh \ 138 xfrm_policy.sh \ 139 xfrm_state.sh \ 140# end of TEST_PROGS 141 142TEST_PROGS_EXTENDED := \ 143 xfrm_policy_add_speed.sh \ 144# end of TEST_PROGS_EXTENDED 145 146TEST_GEN_FILES := \ 147 bind_bhash \ 148 cmsg_sender \ 149 fin_ack_lat \ 150 hwtstamp_config \ 151 io_uring_zerocopy_tx \ 152 ioam6_parser \ 153 ip_defrag \ 154 ip_local_port_range \ 155 ipsec \ 156 ipv6_flowlabel \ 157 msg_zerocopy \ 158 nettest \ 159 psock_fanout \ 160 psock_snd \ 161 psock_tpacket \ 162 reuseaddr_ports_exhausted \ 163 reuseport_addr_any \ 164 rxtimestamp \ 165 sctp_hello \ 166 skf_net_off \ 167 so_netns_cookie \ 168 so_rcv_listener \ 169 socket \ 170 stress_reuseport_listen \ 171 tcp_fastopen_backup_key \ 172 tcp_inq \ 173 tcp_mmap \ 174 tfo \ 175 timestamping \ 176 txring_overwrite \ 177 txtimestamp \ 178 udpgso \ 179 udpgso_bench_rx \ 180 udpgso_bench_tx \ 181# end of TEST_GEN_FILES 182 183TEST_GEN_PROGS := \ 184 bind_timewait \ 185 bind_wildcard \ 186 epoll_busy_poll \ 187 getsockopt_iter \ 188 icmp_rfc4884 \ 189 ipv6_flowlabel_mgr \ 190 ipv6_fragmentation \ 191 proc_net_pktgen \ 192 reuseaddr_conflict \ 193 reuseport_bpf \ 194 reuseport_bpf_cpu \ 195 reuseport_bpf_numa \ 196 reuseport_dualstack \ 197 sk_bind_sendto_listen \ 198 sk_connect_zero_addr \ 199 sk_so_peek_off \ 200 so_incoming_cpu \ 201 so_reserve_mem \ 202 tap \ 203 tcp_port_share \ 204 tls \ 205 udp_splice_checksum \ 206# end of TEST_GEN_PROGS 207 208TEST_FILES := \ 209 fcnal-test.sh \ 210 in_netns.sh \ 211 lib.sh \ 212 settings \ 213# end of TEST_FILES 214 215# YNL files, must be before "include ..lib.mk" 216YNL_GEN_FILES := busy_poller 217YNL_GEN_PROGS := \ 218 netlink-dumps \ 219 tun \ 220# end of YNL_GEN_PROGS 221 222TEST_GEN_FILES += $(YNL_GEN_FILES) 223TEST_GEN_PROGS += $(YNL_GEN_PROGS) 224 225TEST_GEN_FILES += $(patsubst %.c,%.o,$(wildcard *.bpf.c)) 226 227TEST_INCLUDES := forwarding/lib.sh 228 229include ../lib.mk 230 231# YNL build 232YNL_GENS := \ 233 netdev \ 234 rt-addr \ 235 rt-link \ 236 rt-neigh \ 237 rt-route \ 238# end of YNL_GENS 239 240include ynl.mk 241 242$(OUTPUT)/epoll_busy_poll: LDLIBS += -lcap 243$(OUTPUT)/reuseport_bpf_numa: LDLIBS += -lnuma 244$(OUTPUT)/tcp_mmap: LDLIBS += -lpthread -lcrypto 245$(OUTPUT)/tcp_inq: LDLIBS += -lpthread 246$(OUTPUT)/bind_bhash: LDLIBS += -lpthread 247$(OUTPUT)/io_uring_zerocopy_tx: CFLAGS += -I../../../include/ 248 249include bpf.mk 250