140d269c0SPetr Machata# SPDX-License-Identifier: GPL-2.0+ OR MIT 240d269c0SPetr Machata 3f81171feSJakub Kicinski# Check if io_uring supports zero-copy receive 4f81171feSJakub KicinskiHAS_IOURING_ZCRX := $(shell \ 5f81171feSJakub Kicinski echo -e '#include <liburing.h>\n' \ 6f81171feSJakub Kicinski 'void *func = (void *)io_uring_register_ifq;\n' \ 7f81171feSJakub Kicinski 'int main() {return 0;}' | \ 8f81171feSJakub Kicinski $(CC) -luring -x c - -o /dev/null 2>&1 && echo y) 9f81171feSJakub Kicinski 10f81171feSJakub Kicinskiifeq ($(HAS_IOURING_ZCRX),y) 11f81171feSJakub KicinskiCOND_GEN_FILES += iou-zcrx 12f81171feSJakub Kicinskielse 13f81171feSJakub Kicinski$(warning excluding iouring tests, liburing not installed or too old) 14f81171feSJakub Kicinskiendif 15f81171feSJakub Kicinski 1689268f7dSJakub KicinskiTEST_GEN_FILES := \ 17f81171feSJakub Kicinski $(COND_GEN_FILES) \ 1889268f7dSJakub Kicinski# end of TEST_GEN_FILES 1971082faaSDavid Wei 2040d269c0SPetr MachataTEST_PROGS = \ 211d0dc857SWillem de Bruijn csum.py \ 22b2aa7390SCosmin Ratiu devlink_rate_cross_esw.py \ 23a8658f7bSCarolina Jubran devlink_rate_tc_bw.py \ 2480230864SStanislav Fomichev devmem.py \ 2540d269c0SPetr Machata ethtool.sh \ 2640d269c0SPetr Machata ethtool_extended_state.sh \ 2740d269c0SPetr Machata ethtool_mm.sh \ 2840d269c0SPetr Machata ethtool_rmon.sh \ 293016574eSIoana Ciornei ethtool_std_stats.sh \ 30ba5d4128SJakub Kicinski gro_hw.py \ 3140d269c0SPetr Machata hw_stats_l3.sh \ 3240d269c0SPetr Machata hw_stats_l3_gre.sh \ 3371082faaSDavid Wei iou-zcrx.py \ 340e1368a2SJakub Kicinski ipsec_vxlan.py \ 35185646a8SJakub Kicinski irq.py \ 3640d269c0SPetr Machata loopback.sh \ 37b9c8a2c5SVadim Fedorenko nic_timestamp.py \ 3828c1cc99SBobby Eshleman nk_devmem.py \ 3937d24994SDavid Wei nk_netns.py \ 4065d657d8SDavid Wei nk_qlease.py \ 4118589df9SDimitri Daskalakis ntuple.py \ 429da271f8SJakub Kicinski pp_alloc_fail.py \ 435ae3bcc2SJakub Kicinski rss_api.py \ 44f898c16aSJakub Kicinski rss_ctx.py \ 459e3d4daeSJakub Kicinski rss_drv.py \ 4626dbe030SJakub Kicinski rss_flow_label.py \ 47da87cabaSGal Pressman rss_input_xfrm.py \ 489cf9aa77SJakub Kicinski toeplitz.py \ 490d0f4174SJakub Kicinski tso.py \ 5078c19301SBobby Eshleman userns_devmem.py \ 515d3b12d1SJoe Damato uso.py \ 52e3cdf6cfSChris J Arges xdp_metadata.py \ 53c347fb0fSBui Quang Minh xsk_reconfig.py \ 5440d269c0SPetr Machata # 5540d269c0SPetr Machata 56*878b56deSJakub KicinskiTEST_PROGS_EXTENDED := \ 57*878b56deSJakub Kicinski devlink_port_split.py \ 58*878b56deSJakub Kicinski# end of TEST_PROGS_EXTENDED 59*878b56deSJakub Kicinski 6040d269c0SPetr MachataTEST_FILES := \ 616cac32fcSBobby Eshleman devmem_lib.py \ 6240d269c0SPetr Machata ethtool_lib.sh \ 6340d269c0SPetr Machata # 6440d269c0SPetr Machata 6540d269c0SPetr MachataTEST_INCLUDES := \ 66ff4b2bfaSJakub Kicinski $(wildcard lib/py/*.py ../lib/py/*.py) \ 6740d269c0SPetr Machata ../../../net/lib.sh \ 6840d269c0SPetr Machata ../../../net/forwarding/ipip_lib.sh \ 69f07f91a3SJakub Kicinski ../../../net/forwarding/lib.sh \ 7040d269c0SPetr Machata ../../../net/forwarding/tc_common.sh \ 7140d269c0SPetr Machata # 7240d269c0SPetr Machata 73be43a6b2SStanislav Fomichev# YNL files, must be before "include ..lib.mk" 74aa91dbf3SJakub KicinskiYNL_GEN_FILES := \ 75aa91dbf3SJakub Kicinski ncdevmem \ 76aa91dbf3SJakub Kicinski toeplitz \ 77aa91dbf3SJakub Kicinski# end of YNL_GEN_FILES 78be43a6b2SStanislav FomichevTEST_GEN_FILES += $(YNL_GEN_FILES) 79185646a8SJakub KicinskiTEST_GEN_FILES += $(patsubst %.c,%.o,$(wildcard *.bpf.c)) 80be43a6b2SStanislav Fomichev 8140d269c0SPetr Machatainclude ../../../lib.mk 82be43a6b2SStanislav Fomichev 83be43a6b2SStanislav Fomichev# YNL build 84f07f91a3SJakub KicinskiYNL_GENS := \ 85f07f91a3SJakub Kicinski ethtool \ 86f07f91a3SJakub Kicinski netdev \ 87f07f91a3SJakub Kicinski# end of YNL_GENS 88f07f91a3SJakub Kicinski 89be43a6b2SStanislav Fomichevinclude ../../../net/ynl.mk 90185646a8SJakub Kicinski 91185646a8SJakub Kicinskiinclude ../../../net/bpf.mk 92ca0b04baSLinus Torvalds 93f81171feSJakub Kicinskiifeq ($(HAS_IOURING_ZCRX),y) 9471082faaSDavid Wei$(OUTPUT)/iou-zcrx: LDLIBS += -luring 95f81171feSJakub Kicinskiendif 96