1# SPDX-License-Identifier: GPL-2.0+ OR MIT 2 3# Check if io_uring supports zero-copy receive 4HAS_IOURING_ZCRX := $(shell \ 5 echo -e '#include <liburing.h>\n' \ 6 'void *func = (void *)io_uring_register_ifq;\n' \ 7 'int main() {return 0;}' | \ 8 $(CC) -luring -x c - -o /dev/null 2>&1 && echo y) 9 10ifeq ($(HAS_IOURING_ZCRX),y) 11COND_GEN_FILES += iou-zcrx 12else 13$(warning excluding iouring tests, liburing not installed or too old) 14endif 15 16TEST_GEN_FILES := \ 17 $(COND_GEN_FILES) \ 18# end of TEST_GEN_FILES 19 20TEST_PROGS = \ 21 csum.py \ 22 devlink_port_split.py \ 23 devlink_rate_cross_esw.py \ 24 devlink_rate_tc_bw.py \ 25 devmem.py \ 26 ethtool.sh \ 27 ethtool_extended_state.sh \ 28 ethtool_mm.sh \ 29 ethtool_rmon.sh \ 30 ethtool_std_stats.sh \ 31 gro_hw.py \ 32 hw_stats_l3.sh \ 33 hw_stats_l3_gre.sh \ 34 iou-zcrx.py \ 35 ipsec_vxlan.py \ 36 irq.py \ 37 loopback.sh \ 38 nic_timestamp.py \ 39 nk_devmem.py \ 40 nk_netns.py \ 41 nk_qlease.py \ 42 ntuple.py \ 43 pp_alloc_fail.py \ 44 rss_api.py \ 45 rss_ctx.py \ 46 rss_drv.py \ 47 rss_flow_label.py \ 48 rss_input_xfrm.py \ 49 toeplitz.py \ 50 tso.py \ 51 userns_devmem.py \ 52 uso.py \ 53 xdp_metadata.py \ 54 xsk_reconfig.py \ 55 # 56 57TEST_FILES := \ 58 devmem_lib.py \ 59 ethtool_lib.sh \ 60 # 61 62TEST_INCLUDES := \ 63 $(wildcard lib/py/*.py ../lib/py/*.py) \ 64 ../../../net/lib.sh \ 65 ../../../net/forwarding/ipip_lib.sh \ 66 ../../../net/forwarding/lib.sh \ 67 ../../../net/forwarding/tc_common.sh \ 68 # 69 70# YNL files, must be before "include ..lib.mk" 71YNL_GEN_FILES := \ 72 ncdevmem \ 73 toeplitz \ 74# end of YNL_GEN_FILES 75TEST_GEN_FILES += $(YNL_GEN_FILES) 76TEST_GEN_FILES += $(patsubst %.c,%.o,$(wildcard *.bpf.c)) 77 78include ../../../lib.mk 79 80# YNL build 81YNL_GENS := \ 82 ethtool \ 83 netdev \ 84# end of YNL_GENS 85 86include ../../../net/ynl.mk 87 88include ../../../net/bpf.mk 89 90ifeq ($(HAS_IOURING_ZCRX),y) 91$(OUTPUT)/iou-zcrx: LDLIBS += -luring 92endif 93