# SPDX-License-Identifier: GPL-2.0# Makefile for net selftests CFLAGS += -Wall -Wl,--no-as-needed -O2 -gCFLAGS += -I../../../../usr/include/ $(KHDR_INCLUDES)# Additional include paths needed by kselftest.hCFLAGS += -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_pollerYNL_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 buildYNL_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
# 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