diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 39b4275816e..ab140f885e2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,7 +12,7 @@ defaults: env: REF_GIT_BRANCH: main REF_GIT_REPO: https://github.com/DPDK/dpdk - REF_GIT_TAG: none + REF_GIT_TAG: v25.11 jobs: checkpatch: @@ -96,7 +96,7 @@ jobs: checks: stdatomic - os: ubuntu-22.04 compiler: gcc - checks: debug+doc+examples+tests + checks: abi+debug+doc+examples+tests - os: ubuntu-22.04 compiler: clang checks: asan+doc+tests diff --git a/ABI_VERSION b/ABI_VERSION index facd73a3322..dfa88c8ebba 100644 --- a/ABI_VERSION +++ b/ABI_VERSION @@ -1 +1 @@ -26.0 +26.1 diff --git a/VERSION b/VERSION index 89e1751fbf4..22103a6c301 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -25.11.0-rc4 +26.03.0-rc0 diff --git a/app/test-bbdev/test_vectors/bbdev_null.data b/app/test-bbdev/test_vectors/bbdev_null.data index c9a9abe9ea5..8bce1960f21 100644 --- a/app/test-bbdev/test_vectors/bbdev_null.data +++ b/app/test-bbdev/test_vectors/bbdev_null.data @@ -2,4 +2,4 @@ # Copyright(c) 2017 Intel Corporation op_type = -RTE_BBDEV_OP_NONE \ No newline at end of file +RTE_BBDEV_OP_NONE diff --git a/app/test-bbdev/test_vectors/turbo_dec_c1_k6144_r0_e10376_crc24b_sbd_negllr_high_snr.data b/app/test-bbdev/test_vectors/turbo_dec_c1_k6144_r0_e10376_crc24b_sbd_negllr_high_snr.data index 635078ab27e..25dedb757cd 100644 --- a/app/test-bbdev/test_vectors/turbo_dec_c1_k6144_r0_e10376_crc24b_sbd_negllr_high_snr.data +++ b/app/test-bbdev/test_vectors/turbo_dec_c1_k6144_r0_e10376_crc24b_sbd_negllr_high_snr.data @@ -637,4 +637,4 @@ RTE_BBDEV_TURBO_SUBBLOCK_DEINTERLEAVE, RTE_BBDEV_TURBO_CRC_TYPE_24B, RTE_BBDEV_TURBO_NEG_LLR_1_BIT_IN expected_status = -OK \ No newline at end of file +OK diff --git a/app/test-bbdev/test_vectors/turbo_dec_c1_k6144_r0_e10376_crc24b_sbd_negllr_low_snr.data b/app/test-bbdev/test_vectors/turbo_dec_c1_k6144_r0_e10376_crc24b_sbd_negllr_low_snr.data index de6136bd1be..474d34224dc 100644 --- a/app/test-bbdev/test_vectors/turbo_dec_c1_k6144_r0_e10376_crc24b_sbd_negllr_low_snr.data +++ b/app/test-bbdev/test_vectors/turbo_dec_c1_k6144_r0_e10376_crc24b_sbd_negllr_low_snr.data @@ -637,4 +637,4 @@ RTE_BBDEV_TURBO_SUBBLOCK_DEINTERLEAVE, RTE_BBDEV_TURBO_CRC_TYPE_24B, RTE_BBDEV_TURBO_NEG_LLR_1_BIT_IN expected_status = -OK \ No newline at end of file +OK diff --git a/app/test-bbdev/test_vectors/turbo_dec_c1_k6144_r0_e34560_sbd_posllr.data b/app/test-bbdev/test_vectors/turbo_dec_c1_k6144_r0_e34560_sbd_posllr.data index b6a73c6c07e..81c27a34ecf 100644 --- a/app/test-bbdev/test_vectors/turbo_dec_c1_k6144_r0_e34560_sbd_posllr.data +++ b/app/test-bbdev/test_vectors/turbo_dec_c1_k6144_r0_e34560_sbd_posllr.data @@ -1219,4 +1219,4 @@ RTE_BBDEV_TURBO_SOFT_OUTPUT, RTE_BBDEV_TURBO_SUBBLOCK_DEINTERLEAVE, RTE_BBDEV_TU RTE_BBDEV_TURBO_NEG_LLR_1_BIT_SOFT_OUT expected_status = -OK \ No newline at end of file +OK diff --git a/app/test-bbdev/test_vectors/turbo_dec_c2_k3136_r0_e4920_sbd_negllr_crc24b.data b/app/test-bbdev/test_vectors/turbo_dec_c2_k3136_r0_e4920_sbd_negllr_crc24b.data index 9d17b86c43b..a81087db768 100644 --- a/app/test-bbdev/test_vectors/turbo_dec_c2_k3136_r0_e4920_sbd_negllr_crc24b.data +++ b/app/test-bbdev/test_vectors/turbo_dec_c2_k3136_r0_e4920_sbd_negllr_crc24b.data @@ -674,4 +674,4 @@ RTE_BBDEV_TURBO_SUBBLOCK_DEINTERLEAVE, RTE_BBDEV_TURBO_NEG_LLR_1_BIT_IN, RTE_BBDEV_TURBO_CRC_TYPE_24B, RTE_BBDEV_TURBO_DEC_TB_CRC_24B_KEEP expected_status = -OK \ No newline at end of file +OK diff --git a/app/test-bbdev/test_vectors/turbo_enc_c1_k6144_r0_e18448_crc24a.data b/app/test-bbdev/test_vectors/turbo_enc_c1_k6144_r0_e18448_crc24a.data index 345d1410f3e..8168c03a8e3 100644 --- a/app/test-bbdev/test_vectors/turbo_enc_c1_k6144_r0_e18448_crc24a.data +++ b/app/test-bbdev/test_vectors/turbo_enc_c1_k6144_r0_e18448_crc24a.data @@ -156,4 +156,4 @@ op_flags = RTE_BBDEV_TURBO_CRC_24A_ATTACH expected_status = -OK \ No newline at end of file +OK diff --git a/app/test-bbdev/test_vectors/turbo_enc_c3_k4800_r2_e14412_crc24b.data b/app/test-bbdev/test_vectors/turbo_enc_c3_k4800_r2_e14412_crc24b.data index 9e17429d3ed..1b97bcac1d9 100644 --- a/app/test-bbdev/test_vectors/turbo_enc_c3_k4800_r2_e14412_crc24b.data +++ b/app/test-bbdev/test_vectors/turbo_enc_c3_k4800_r2_e14412_crc24b.data @@ -150,4 +150,4 @@ op_flags = RTE_BBDEV_TURBO_CRC_24B_ATTACH expected_status = -OK \ No newline at end of file +OK diff --git a/app/test/process.h b/app/test/process.h index f948a897863..0704616c385 100644 --- a/app/test/process.h +++ b/app/test/process.h @@ -18,6 +18,7 @@ #include /* strlcpy */ #include +#include #ifdef RTE_EXEC_ENV_FREEBSD #define self "curproc" @@ -36,6 +37,7 @@ extern uint16_t flag_for_send_pkts; #endif #define PREFIX_ALLOW "--allow=" +#define PREFIX_DRIVER_PATH "--driver-path=" static int add_parameter_allow(char **argv, int max_capacity) @@ -63,6 +65,23 @@ add_parameter_allow(char **argv, int max_capacity) return count; } +static int +add_parameter_driver_path(char **argv, int max_capacity) +{ + const char *driver_path; + int count = 0; + + RTE_EAL_DRIVER_PATH_FOREACH(driver_path, true) { + if (asprintf(&argv[count], PREFIX_DRIVER_PATH"%s", driver_path) < 0) + break; + + if (++count == max_capacity) + break; + } + + return count; +} + /* * launches a second copy of the test process using the given argv parameters, * which should include argv[0] as the process name. To identify in the @@ -75,6 +94,7 @@ process_dup(const char *const argv[], int numargs, const char *env_value) int num = 0; char **argv_cpy; int allow_num; + int driver_path_num; int argv_num; int i, status; char path[32]; @@ -90,7 +110,8 @@ process_dup(const char *const argv[], int numargs, const char *env_value) return -1; else if (pid == 0) { allow_num = rte_devargs_type_count(RTE_DEVTYPE_ALLOWED); - argv_num = numargs + allow_num + 1; + driver_path_num = rte_eal_driver_path_count(true); + argv_num = numargs + allow_num + driver_path_num + 1; argv_cpy = calloc(argv_num, sizeof(char *)); if (!argv_cpy) rte_panic("Memory allocation failed\n"); @@ -105,6 +126,11 @@ process_dup(const char *const argv[], int numargs, const char *env_value) num = add_parameter_allow(&argv_cpy[i], allow_num); num += numargs; + if (driver_path_num > 0) { + int added = add_parameter_driver_path(&argv_cpy[num], driver_path_num); + num += added; + } + #ifdef RTE_EXEC_ENV_LINUX { const char *procdir = "/proc/" self "/fd/"; diff --git a/app/test/suites/meson.build b/app/test/suites/meson.build index 712dd65568e..65995078b79 100644 --- a/app/test/suites/meson.build +++ b/app/test/suites/meson.build @@ -67,9 +67,19 @@ foreach suite:test_suites # special fast-test handling here foreach t: suite_tests params = t.split(':') + # check for valid options for asan and nohuge. Note, the extraction script runs tolower() + if params[1] != 'NOHUGE_OK' and params[1] != 'NOHUGE_SKIP' + error('Invalid parameter "@0@" for test "@1@". Must be NOHUGE_OK or NOHUGE_SKIP.' + .format(params[1], params[0])) + endif + if params[2] != 'ASAN_OK' and params[2] != 'ASAN_SKIP' + error('Invalid parameter "@0@" for test "@1@". Must be ASAN_OK or ASAN_SKIP.' + .format(params[2], params[0])) + endif + test_name = params[0] - nohuge = params[1] == 'true' - asan = params[2] == 'true' + nohuge = params[1] == 'NOHUGE_OK' + asan = params[2] == 'ASAN_OK' test_args = [] if nohuge diff --git a/app/test/test.h b/app/test/test.h index c6d7d233136..30a8e1b8f12 100644 --- a/app/test/test.h +++ b/app/test/test.h @@ -207,9 +207,16 @@ void add_test_command(struct test_command *t); /* Register a test function as a particular type. * These can be used to build up test suites automatically */ -#define REGISTER_FAST_TEST(cmd, no_huge, ASan, func) REGISTER_TEST_COMMAND(cmd, func) #define REGISTER_PERF_TEST REGISTER_TEST_COMMAND #define REGISTER_DRIVER_TEST REGISTER_TEST_COMMAND #define REGISTER_STRESS_TEST REGISTER_TEST_COMMAND +/* fast tests are a bit special. They can be specified as supporting running without + * hugepages and/or under ASan. + * - The "no_huge" options should be passed as either "NOHUGE_OK" or "NOHUGE_SKIP" + * - The "ASan" options should be passed as either "ASAN_OK" or "ASAN_SKIP" + */ +#define REGISTER_FAST_TEST(cmd, no_huge, ASan, func) REGISTER_TEST_COMMAND(cmd, func) + + #endif diff --git a/app/test/test_acl.c b/app/test/test_acl.c index 43d13b5b0fe..b5b3d9475bb 100644 --- a/app/test/test_acl.c +++ b/app/test/test_acl.c @@ -1748,4 +1748,4 @@ test_acl(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_FAST_TEST(acl_autotest, true, true, test_acl); +REGISTER_FAST_TEST(acl_autotest, NOHUGE_OK, ASAN_OK, test_acl); diff --git a/app/test/test_alarm.c b/app/test/test_alarm.c index 6445f713fe6..d0c2919c521 100644 --- a/app/test/test_alarm.c +++ b/app/test/test_alarm.c @@ -76,4 +76,4 @@ test_alarm(void) return 0; } -REGISTER_FAST_TEST(alarm_autotest, true, true, test_alarm); +REGISTER_FAST_TEST(alarm_autotest, NOHUGE_OK, ASAN_OK, test_alarm); diff --git a/app/test/test_argparse.c b/app/test/test_argparse.c index d3b95c4e359..fdc6dd113c3 100644 --- a/app/test/test_argparse.c +++ b/app/test/test_argparse.c @@ -1618,4 +1618,4 @@ test_argparse(void) return unit_test_suite_runner(&argparse_test_suite); } -REGISTER_FAST_TEST(argparse_autotest, true, true, test_argparse); +REGISTER_FAST_TEST(argparse_autotest, NOHUGE_OK, ASAN_OK, test_argparse); diff --git a/app/test/test_atomic.c b/app/test/test_atomic.c index 3f26ce88d91..8160a33e0e5 100644 --- a/app/test/test_atomic.c +++ b/app/test/test_atomic.c @@ -632,5 +632,5 @@ test_atomic(void) return 0; } -REGISTER_FAST_TEST(atomic_autotest, false, true, test_atomic); +REGISTER_FAST_TEST(atomic_autotest, NOHUGE_SKIP, ASAN_OK, test_atomic); #endif /* RTE_TOOLCHAIN_MSVC */ diff --git a/app/test/test_bitcount.c b/app/test/test_bitcount.c index 4f34d7c90fa..8465e516a4b 100644 --- a/app/test/test_bitcount.c +++ b/app/test/test_bitcount.c @@ -171,4 +171,4 @@ test_bitcount(void) return unit_test_suite_runner(&bitcount_test_suite); } -REGISTER_FAST_TEST(bitcount_autotest, true, true, test_bitcount); +REGISTER_FAST_TEST(bitcount_autotest, NOHUGE_OK, ASAN_OK, test_bitcount); diff --git a/app/test/test_bitmap.c b/app/test/test_bitmap.c index bab11812c76..04f11b3a1e2 100644 --- a/app/test/test_bitmap.c +++ b/app/test/test_bitmap.c @@ -269,4 +269,4 @@ test_bitmap(void) return test_bitmap_all_set(); } -REGISTER_FAST_TEST(bitmap_autotest, true, true, test_bitmap); +REGISTER_FAST_TEST(bitmap_autotest, NOHUGE_OK, ASAN_OK, test_bitmap); diff --git a/app/test/test_bitops.c b/app/test/test_bitops.c index 78a7df6bb13..c8ec72fab06 100644 --- a/app/test/test_bitops.c +++ b/app/test/test_bitops.c @@ -438,4 +438,4 @@ test_bitops(void) return unit_test_suite_runner(&test_suite); } -REGISTER_FAST_TEST(bitops_autotest, true, true, test_bitops); +REGISTER_FAST_TEST(bitops_autotest, NOHUGE_OK, ASAN_OK, test_bitops); diff --git a/app/test/test_bitratestats.c b/app/test/test_bitratestats.c index 926133de580..45343aa4c63 100644 --- a/app/test/test_bitratestats.c +++ b/app/test/test_bitratestats.c @@ -249,4 +249,4 @@ test_bitratestats(void) { return unit_test_suite_runner(&bitratestats_testsuite); } -REGISTER_FAST_TEST(bitratestats_autotest, true, true, test_bitratestats); +REGISTER_FAST_TEST(bitratestats_autotest, NOHUGE_OK, ASAN_OK, test_bitratestats); diff --git a/app/test/test_bitset.c b/app/test/test_bitset.c index 88b2d8bab04..5b1a5e5a855 100644 --- a/app/test/test_bitset.c +++ b/app/test/test_bitset.c @@ -909,4 +909,4 @@ test_bitset(void) return unit_test_suite_runner(&bitset_tests); } -REGISTER_FAST_TEST(bitset_autotest, true, true, test_bitset); +REGISTER_FAST_TEST(bitset_autotest, NOHUGE_OK, ASAN_OK, test_bitset); diff --git a/app/test/test_bpf.c b/app/test/test_bpf.c index b7c94ba1c70..a7d56f8d86d 100644 --- a/app/test/test_bpf.c +++ b/app/test/test_bpf.c @@ -3278,7 +3278,7 @@ test_bpf(void) #endif /* !RTE_LIB_BPF */ -REGISTER_FAST_TEST(bpf_autotest, true, true, test_bpf); +REGISTER_FAST_TEST(bpf_autotest, NOHUGE_OK, ASAN_OK, test_bpf); #ifdef TEST_BPF_ELF_LOAD @@ -3751,7 +3751,7 @@ test_bpf_elf(void) #endif /* !TEST_BPF_ELF_LOAD */ -REGISTER_FAST_TEST(bpf_elf_autotest, true, true, test_bpf_elf); +REGISTER_FAST_TEST(bpf_elf_autotest, NOHUGE_OK, ASAN_OK, test_bpf_elf); #ifndef RTE_HAS_LIBPCAP @@ -3969,4 +3969,4 @@ test_bpf_convert(void) #endif /* RTE_HAS_LIBPCAP */ -REGISTER_FAST_TEST(bpf_convert_autotest, true, true, test_bpf_convert); +REGISTER_FAST_TEST(bpf_convert_autotest, NOHUGE_OK, ASAN_OK, test_bpf_convert); diff --git a/app/test/test_byteorder.c b/app/test/test_byteorder.c index 67ca7ebbc83..cc75d90a88f 100644 --- a/app/test/test_byteorder.c +++ b/app/test/test_byteorder.c @@ -63,4 +63,4 @@ test_byteorder(void) return 0; } -REGISTER_FAST_TEST(byteorder_autotest, true, true, test_byteorder); +REGISTER_FAST_TEST(byteorder_autotest, NOHUGE_OK, ASAN_OK, test_byteorder); diff --git a/app/test/test_cfgfile.c b/app/test/test_cfgfile.c index b189d9d7a53..3a5078fc46d 100644 --- a/app/test/test_cfgfile.c +++ b/app/test/test_cfgfile.c @@ -399,4 +399,4 @@ test_cfgfile(void) return unit_test_suite_runner(&test_cfgfile_suite); } -REGISTER_FAST_TEST(cfgfile_autotest, true, true, test_cfgfile); +REGISTER_FAST_TEST(cfgfile_autotest, NOHUGE_OK, ASAN_OK, test_cfgfile); diff --git a/app/test/test_cksum.c b/app/test/test_cksum.c index f2ab5af5a79..ea443382a12 100644 --- a/app/test/test_cksum.c +++ b/app/test/test_cksum.c @@ -267,4 +267,4 @@ test_cksum(void) } #undef GOTO_FAIL -REGISTER_FAST_TEST(cksum_autotest, true, true, test_cksum); +REGISTER_FAST_TEST(cksum_autotest, NOHUGE_OK, ASAN_OK, test_cksum); diff --git a/app/test/test_cmdline.c b/app/test/test_cmdline.c index 1d8020995c6..7253ae4ffe8 100644 --- a/app/test/test_cmdline.c +++ b/app/test/test_cmdline.c @@ -60,4 +60,4 @@ test_cmdline(void) return 0; } -REGISTER_FAST_TEST(cmdline_autotest, true, true, test_cmdline); +REGISTER_FAST_TEST(cmdline_autotest, NOHUGE_OK, ASAN_OK, test_cmdline); diff --git a/app/test/test_common.c b/app/test/test_common.c index 6dbd7fc9a96..3e1c7df0c12 100644 --- a/app/test/test_common.c +++ b/app/test/test_common.c @@ -354,4 +354,4 @@ test_common(void) return ret; } -REGISTER_FAST_TEST(common_autotest, true, true, test_common); +REGISTER_FAST_TEST(common_autotest, NOHUGE_OK, ASAN_OK, test_common); diff --git a/app/test/test_compressdev.c b/app/test/test_compressdev.c index dcea8e2f303..293d1d757f4 100644 --- a/app/test/test_compressdev.c +++ b/app/test/test_compressdev.c @@ -4255,4 +4255,4 @@ test_compressdev(void) return unit_test_suite_runner(&compressdev_testsuite); } -REGISTER_FAST_TEST(compressdev_autotest, false, true, test_compressdev); +REGISTER_FAST_TEST(compressdev_autotest, NOHUGE_SKIP, ASAN_OK, test_compressdev); diff --git a/app/test/test_cpuflags.c b/app/test/test_cpuflags.c index 22ab4dff0a1..a0ad0998153 100644 --- a/app/test/test_cpuflags.c +++ b/app/test/test_cpuflags.c @@ -327,4 +327,4 @@ test_cpuflags(void) return 0; } -REGISTER_FAST_TEST(cpuflags_autotest, true, true, test_cpuflags); +REGISTER_FAST_TEST(cpuflags_autotest, NOHUGE_OK, ASAN_OK, test_cpuflags); diff --git a/app/test/test_crc.c b/app/test/test_crc.c index f18eff72173..4ff03e3f64a 100644 --- a/app/test/test_crc.c +++ b/app/test/test_crc.c @@ -140,4 +140,4 @@ crc_autotest(void) return ret; } -REGISTER_FAST_TEST(crc_autotest, true, true, crc_autotest); +REGISTER_FAST_TEST(crc_autotest, NOHUGE_OK, ASAN_OK, crc_autotest); diff --git a/app/test/test_cryptodev_crosscheck.c b/app/test/test_cryptodev_crosscheck.c index b9a53a430cb..bb21c3bc504 100644 --- a/app/test/test_cryptodev_crosscheck.c +++ b/app/test/test_cryptodev_crosscheck.c @@ -1047,4 +1047,4 @@ test_crosscheck(void) return ret; } -REGISTER_TEST_COMMAND(cryptodev_crosscheck, test_crosscheck); +REGISTER_DRIVER_TEST(cryptodev_crosscheck, test_crosscheck); diff --git a/app/test/test_cycles.c b/app/test/test_cycles.c index a7654de1763..68a31ac450c 100644 --- a/app/test/test_cycles.c +++ b/app/test/test_cycles.c @@ -53,4 +53,4 @@ test_user_delay_us(void) return 0; } -REGISTER_FAST_TEST(user_delay_us, true, true, test_user_delay_us); +REGISTER_FAST_TEST(user_delay_us, NOHUGE_OK, ASAN_OK, test_user_delay_us); diff --git a/app/test/test_debug.c b/app/test/test_debug.c index 5ff9068e2b6..bfda4d1aa3d 100644 --- a/app/test/test_debug.c +++ b/app/test/test_debug.c @@ -183,4 +183,4 @@ test_debug(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_FAST_TEST(debug_autotest, true, true, test_debug); +REGISTER_FAST_TEST(debug_autotest, NOHUGE_OK, ASAN_OK, test_debug); diff --git a/app/test/test_devargs.c b/app/test/test_devargs.c index 4166b2bea2d..0bd14c24ec2 100644 --- a/app/test/test_devargs.c +++ b/app/test/test_devargs.c @@ -320,4 +320,4 @@ test_devargs(void) return 0; } -REGISTER_FAST_TEST(devargs_autotest, true, true, test_devargs); +REGISTER_FAST_TEST(devargs_autotest, NOHUGE_OK, ASAN_OK, test_devargs); diff --git a/app/test/test_dispatcher.c b/app/test/test_dispatcher.c index 6eb3f572cfc..94b91ed4fe9 100644 --- a/app/test/test_dispatcher.c +++ b/app/test/test_dispatcher.c @@ -1053,4 +1053,4 @@ test_dispatcher(void) return unit_test_suite_runner(&test_suite); } -REGISTER_FAST_TEST(dispatcher_autotest, false, true, test_dispatcher); +REGISTER_FAST_TEST(dispatcher_autotest, NOHUGE_SKIP, ASAN_OK, test_dispatcher); diff --git a/app/test/test_distributor.c b/app/test/test_distributor.c index 60fe96ea822..da0a21ea833 100644 --- a/app/test/test_distributor.c +++ b/app/test/test_distributor.c @@ -953,4 +953,4 @@ test_distributor(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_FAST_TEST(distributor_autotest, false, true, test_distributor); +REGISTER_FAST_TEST(distributor_autotest, NOHUGE_SKIP, ASAN_OK, test_distributor); diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c index e32f83d3c8f..4ddcafdecbf 100644 --- a/app/test/test_eal_flags.c +++ b/app/test/test_eal_flags.c @@ -1692,15 +1692,15 @@ test_memory_flags(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_FAST_TEST(eal_flags_c_opt_autotest, false, false, test_missing_c_flag); -REGISTER_FAST_TEST(eal_flags_main_opt_autotest, false, false, test_main_lcore_flag); -REGISTER_FAST_TEST(eal_flags_n_opt_autotest, false, false, test_invalid_n_flag); -REGISTER_FAST_TEST(eal_flags_hpet_autotest, false, false, test_no_hpet_flag); -REGISTER_FAST_TEST(eal_flags_no_huge_autotest, false, false, test_no_huge_flag); -REGISTER_FAST_TEST(eal_flags_a_opt_autotest, false, false, test_allow_flag); -REGISTER_FAST_TEST(eal_flags_b_opt_autotest, false, false, test_invalid_b_flag); -REGISTER_FAST_TEST(eal_flags_vdev_opt_autotest, false, false, test_invalid_vdev_flag); -REGISTER_FAST_TEST(eal_flags_r_opt_autotest, false, false, test_invalid_r_flag); -REGISTER_FAST_TEST(eal_flags_mem_autotest, false, false, test_memory_flags); -REGISTER_FAST_TEST(eal_flags_file_prefix_autotest, false, false, test_file_prefix); -REGISTER_FAST_TEST(eal_flags_misc_autotest, false, false, test_misc_flags); +REGISTER_FAST_TEST(eal_flags_c_opt_autotest, NOHUGE_SKIP, ASAN_SKIP, test_missing_c_flag); +REGISTER_FAST_TEST(eal_flags_main_opt_autotest, NOHUGE_SKIP, ASAN_SKIP, test_main_lcore_flag); +REGISTER_FAST_TEST(eal_flags_n_opt_autotest, NOHUGE_SKIP, ASAN_SKIP, test_invalid_n_flag); +REGISTER_FAST_TEST(eal_flags_hpet_autotest, NOHUGE_SKIP, ASAN_SKIP, test_no_hpet_flag); +REGISTER_FAST_TEST(eal_flags_no_huge_autotest, NOHUGE_SKIP, ASAN_SKIP, test_no_huge_flag); +REGISTER_FAST_TEST(eal_flags_a_opt_autotest, NOHUGE_SKIP, ASAN_SKIP, test_allow_flag); +REGISTER_FAST_TEST(eal_flags_b_opt_autotest, NOHUGE_SKIP, ASAN_SKIP, test_invalid_b_flag); +REGISTER_FAST_TEST(eal_flags_vdev_opt_autotest, NOHUGE_SKIP, ASAN_SKIP, test_invalid_vdev_flag); +REGISTER_FAST_TEST(eal_flags_r_opt_autotest, NOHUGE_SKIP, ASAN_SKIP, test_invalid_r_flag); +REGISTER_FAST_TEST(eal_flags_mem_autotest, NOHUGE_SKIP, ASAN_SKIP, test_memory_flags); +REGISTER_FAST_TEST(eal_flags_file_prefix_autotest, NOHUGE_SKIP, ASAN_SKIP, test_file_prefix); +REGISTER_FAST_TEST(eal_flags_misc_autotest, NOHUGE_SKIP, ASAN_SKIP, test_misc_flags); diff --git a/app/test/test_eal_fs.c b/app/test/test_eal_fs.c index 8cd287fa9d8..62eea98677a 100644 --- a/app/test/test_eal_fs.c +++ b/app/test/test_eal_fs.c @@ -185,4 +185,4 @@ test_eal_fs(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_FAST_TEST(eal_fs_autotest, true, true, test_eal_fs); +REGISTER_FAST_TEST(eal_fs_autotest, NOHUGE_OK, ASAN_OK, test_eal_fs); diff --git a/app/test/test_errno.c b/app/test/test_errno.c index b429962fb92..2be7e783157 100644 --- a/app/test/test_errno.c +++ b/app/test/test_errno.c @@ -94,4 +94,4 @@ test_errno(void) return 0; } -REGISTER_FAST_TEST(errno_autotest, true, true, test_errno); +REGISTER_FAST_TEST(errno_autotest, NOHUGE_OK, ASAN_OK, test_errno); diff --git a/app/test/test_ethdev_api.c b/app/test/test_ethdev_api.c index 00d6a5c6145..76afd0345c5 100644 --- a/app/test/test_ethdev_api.c +++ b/app/test/test_ethdev_api.c @@ -185,4 +185,4 @@ test_ethdev_api(void) /* TODO: Make part of the fast test suite, `REGISTER_FAST_TEST()`, * when all drivers complies to the queue state requirement */ -REGISTER_TEST_COMMAND(ethdev_api, test_ethdev_api); +REGISTER_DRIVER_TEST(ethdev_api, test_ethdev_api); diff --git a/app/test/test_ethdev_link.c b/app/test/test_ethdev_link.c index 06221f0f2fb..22fbae9c967 100644 --- a/app/test/test_ethdev_link.c +++ b/app/test/test_ethdev_link.c @@ -172,4 +172,4 @@ test_link_status(void) return unit_test_suite_runner(&link_status_testsuite); } -REGISTER_FAST_TEST(ethdev_link_status, true, true, test_link_status); +REGISTER_FAST_TEST(ethdev_link_status, NOHUGE_OK, ASAN_OK, test_link_status); diff --git a/app/test/test_event_crypto_adapter.c b/app/test/test_event_crypto_adapter.c index ab24e30a976..cac1584f403 100644 --- a/app/test/test_event_crypto_adapter.c +++ b/app/test/test_event_crypto_adapter.c @@ -1625,5 +1625,5 @@ test_event_crypto_adapter(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(event_crypto_adapter_autotest, +REGISTER_DRIVER_TEST(event_crypto_adapter_autotest, test_event_crypto_adapter); diff --git a/app/test/test_event_eth_rx_adapter.c b/app/test/test_event_eth_rx_adapter.c index 9f8c8c1b265..2b623bfb287 100644 --- a/app/test/test_event_eth_rx_adapter.c +++ b/app/test/test_event_eth_rx_adapter.c @@ -1555,7 +1555,7 @@ test_event_eth_rx_intr_adapter_common(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(event_eth_rx_adapter_autotest, +REGISTER_DRIVER_TEST(event_eth_rx_adapter_autotest, test_event_eth_rx_adapter_common); -REGISTER_TEST_COMMAND(event_eth_rx_intr_adapter_autotest, +REGISTER_DRIVER_TEST(event_eth_rx_intr_adapter_autotest, test_event_eth_rx_intr_adapter_common); diff --git a/app/test/test_event_eth_tx_adapter.c b/app/test/test_event_eth_tx_adapter.c index 482b8e69e3e..08c23006d70 100644 --- a/app/test/test_event_eth_tx_adapter.c +++ b/app/test/test_event_eth_tx_adapter.c @@ -1010,4 +1010,4 @@ test_event_eth_tx_adapter_common(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_FAST_TEST(event_eth_tx_adapter_autotest, false, true, test_event_eth_tx_adapter_common); +REGISTER_FAST_TEST(event_eth_tx_adapter_autotest, NOHUGE_SKIP, ASAN_OK, test_event_eth_tx_adapter_common); diff --git a/app/test/test_event_ring.c b/app/test/test_event_ring.c index 3bfb5109b77..596faa4e30d 100644 --- a/app/test/test_event_ring.c +++ b/app/test/test_event_ring.c @@ -256,4 +256,4 @@ test_event_ring(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_FAST_TEST(event_ring_autotest, true, true, test_event_ring); +REGISTER_FAST_TEST(event_ring_autotest, NOHUGE_OK, ASAN_OK, test_event_ring); diff --git a/app/test/test_event_timer_adapter.c b/app/test/test_event_timer_adapter.c index 2bc2e026a9a..bf5ff56bed6 100644 --- a/app/test/test_event_timer_adapter.c +++ b/app/test/test_event_timer_adapter.c @@ -2036,4 +2036,4 @@ test_event_timer_adapter_func(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(event_timer_adapter_test, test_event_timer_adapter_func); +REGISTER_DRIVER_TEST(event_timer_adapter_test, test_event_timer_adapter_func); diff --git a/app/test/test_event_vector_adapter.c b/app/test/test_event_vector_adapter.c index 739352bdff7..c6d694421bf 100644 --- a/app/test/test_event_vector_adapter.c +++ b/app/test/test_event_vector_adapter.c @@ -709,5 +709,5 @@ test_event_vector_adapter(void) #endif /* disabled because of reported failures, waiting for a fix - * REGISTER_FAST_TEST(event_vector_adapter_autotest, true, true, test_event_vector_adapter); + * REGISTER_FAST_TEST(event_vector_adapter_autotest, NOHUGE_OK, ASAN_OK, test_event_vector_adapter); */ diff --git a/app/test/test_eventdev.c b/app/test/test_eventdev.c index e97754bd478..1241da38cb1 100644 --- a/app/test/test_eventdev.c +++ b/app/test/test_eventdev.c @@ -1529,10 +1529,10 @@ test_eventdev_selftest_cn20k(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_FAST_TEST(eventdev_common_autotest, true, true, test_eventdev_common); +REGISTER_FAST_TEST(eventdev_common_autotest, NOHUGE_OK, ASAN_OK, test_eventdev_common); #ifndef RTE_EXEC_ENV_WINDOWS -REGISTER_FAST_TEST(eventdev_selftest_sw, true, true, test_eventdev_selftest_sw); +REGISTER_FAST_TEST(eventdev_selftest_sw, NOHUGE_OK, ASAN_OK, test_eventdev_selftest_sw); REGISTER_DRIVER_TEST(eventdev_selftest_octeontx, test_eventdev_selftest_octeontx); REGISTER_DRIVER_TEST(eventdev_selftest_dpaa2, test_eventdev_selftest_dpaa2); REGISTER_DRIVER_TEST(eventdev_selftest_dlb2, test_eventdev_selftest_dlb2); diff --git a/app/test/test_external_mem.c b/app/test/test_external_mem.c index 0c64b610a93..1c977b749b6 100644 --- a/app/test/test_external_mem.c +++ b/app/test/test_external_mem.c @@ -587,4 +587,4 @@ test_external_mem(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(external_mem_autotest, test_external_mem); +REGISTER_FAST_TEST(external_mem_autotest, NOHUGE_SKIP, ASAN_OK, test_external_mem); diff --git a/app/test/test_fbarray.c b/app/test/test_fbarray.c index 6ca509b898c..dd7e60d1e0b 100644 --- a/app/test/test_fbarray.c +++ b/app/test/test_fbarray.c @@ -933,4 +933,4 @@ test_fbarray(void) return unit_test_suite_runner(&fbarray_test_suite); } -REGISTER_FAST_TEST(fbarray_autotest, true, true, test_fbarray); +REGISTER_FAST_TEST(fbarray_autotest, NOHUGE_OK, ASAN_OK, test_fbarray); diff --git a/app/test/test_fib.c b/app/test/test_fib.c index ecd3fb4297a..bd73399d565 100644 --- a/app/test/test_fib.c +++ b/app/test/test_fib.c @@ -629,5 +629,5 @@ test_slow_fib(void) return unit_test_suite_runner(&fib_slow_tests); } -REGISTER_FAST_TEST(fib_autotest, true, true, test_fib); +REGISTER_FAST_TEST(fib_autotest, NOHUGE_OK, ASAN_OK, test_fib); REGISTER_PERF_TEST(fib_slow_autotest, test_slow_fib); diff --git a/app/test/test_fib6.c b/app/test/test_fib6.c index 843a4086c1c..fffb590dbfe 100644 --- a/app/test/test_fib6.c +++ b/app/test/test_fib6.c @@ -640,5 +640,5 @@ test_slow_fib6(void) return unit_test_suite_runner(&fib6_slow_tests); } -REGISTER_FAST_TEST(fib6_autotest, true, true, test_fib6); +REGISTER_FAST_TEST(fib6_autotest, NOHUGE_OK, ASAN_OK, test_fib6); REGISTER_PERF_TEST(fib6_slow_autotest, test_slow_fib6); diff --git a/app/test/test_func_reentrancy.c b/app/test/test_func_reentrancy.c index 51e30696111..ce55ab991e7 100644 --- a/app/test/test_func_reentrancy.c +++ b/app/test/test_func_reentrancy.c @@ -511,4 +511,4 @@ test_func_reentrancy(void) return 0; } -REGISTER_FAST_TEST(func_reentrancy_autotest, false, true, test_func_reentrancy); +REGISTER_FAST_TEST(func_reentrancy_autotest, NOHUGE_SKIP, ASAN_OK, test_func_reentrancy); diff --git a/app/test/test_graph.c b/app/test/test_graph.c index 635b8dd527a..042fc9d3a2e 100644 --- a/app/test/test_graph.c +++ b/app/test/test_graph.c @@ -1150,7 +1150,7 @@ graph_autotest_fn(void) return unit_test_suite_runner(&graph_testsuite); } -REGISTER_FAST_TEST(graph_autotest, true, true, graph_autotest_fn); +REGISTER_FAST_TEST(graph_autotest, NOHUGE_OK, ASAN_OK, graph_autotest_fn); static int test_node_list_dump(void) @@ -1162,4 +1162,4 @@ test_node_list_dump(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_FAST_TEST(node_list_dump, true, true, test_node_list_dump); +REGISTER_FAST_TEST(node_list_dump, NOHUGE_OK, ASAN_OK, test_node_list_dump); diff --git a/app/test/test_graph_feature_arc.c b/app/test/test_graph_feature_arc.c index 6d445e68657..1a4bdeee497 100644 --- a/app/test/test_graph_feature_arc.c +++ b/app/test/test_graph_feature_arc.c @@ -1368,6 +1368,6 @@ graph_feature_arc_autotest_fn(void) return unit_test_suite_runner(&graph_feature_arc_testsuite); } -REGISTER_FAST_TEST(graph_feature_arc_autotest, true, true, graph_feature_arc_autotest_fn); +REGISTER_FAST_TEST(graph_feature_arc_autotest, NOHUGE_OK, ASAN_OK, graph_feature_arc_autotest_fn); #endif /* !RTE_EXEC_ENV_WINDOWS */ diff --git a/app/test/test_hash.c b/app/test/test_hash.c index 5791fd7f4c5..a70e2620c0e 100644 --- a/app/test/test_hash.c +++ b/app/test/test_hash.c @@ -2405,4 +2405,4 @@ test_hash(void) return 0; } -REGISTER_FAST_TEST(hash_autotest, true, true, test_hash); +REGISTER_FAST_TEST(hash_autotest, NOHUGE_OK, ASAN_OK, test_hash); diff --git a/app/test/test_hash_readwrite.c b/app/test/test_hash_readwrite.c index 4d140439e4e..25fe072fc99 100644 --- a/app/test/test_hash_readwrite.c +++ b/app/test/test_hash_readwrite.c @@ -775,5 +775,5 @@ test_hash_rw_func_main(void) return 0; } -REGISTER_FAST_TEST(hash_readwrite_func_autotest, false, true, test_hash_rw_func_main); +REGISTER_FAST_TEST(hash_readwrite_func_autotest, NOHUGE_SKIP, ASAN_OK, test_hash_rw_func_main); REGISTER_PERF_TEST(hash_readwrite_perf_autotest, test_hash_rw_perf_main); diff --git a/app/test/test_interrupts.c b/app/test/test_interrupts.c index 3952f9685fd..2eb876e65a7 100644 --- a/app/test/test_interrupts.c +++ b/app/test/test_interrupts.c @@ -594,4 +594,4 @@ test_interrupt(void) return ret; } -REGISTER_FAST_TEST(interrupt_autotest, true, true, test_interrupt); +REGISTER_FAST_TEST(interrupt_autotest, NOHUGE_OK, ASAN_OK, test_interrupt); diff --git a/app/test/test_ipfrag.c b/app/test/test_ipfrag.c index 95d7952b4dc..247575d6c58 100644 --- a/app/test/test_ipfrag.c +++ b/app/test/test_ipfrag.c @@ -505,4 +505,4 @@ test_ipfrag(void) } -REGISTER_FAST_TEST(ipfrag_autotest, false, true, test_ipfrag); +REGISTER_FAST_TEST(ipfrag_autotest, NOHUGE_SKIP, ASAN_OK, test_ipfrag); diff --git a/app/test/test_ipsec.c b/app/test/test_ipsec.c index ac63c3b6d37..139c1e8dec4 100644 --- a/app/test/test_ipsec.c +++ b/app/test/test_ipsec.c @@ -2617,4 +2617,4 @@ test_ipsec(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_FAST_TEST(ipsec_autotest, true, true, test_ipsec); +REGISTER_FAST_TEST(ipsec_autotest, NOHUGE_OK, ASAN_OK, test_ipsec); diff --git a/app/test/test_ipsec_sad.c b/app/test/test_ipsec_sad.c index 642643eb639..5e9dfb0f94f 100644 --- a/app/test/test_ipsec_sad.c +++ b/app/test/test_ipsec_sad.c @@ -899,4 +899,4 @@ test_ipsec_sad(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(ipsec_sad_autotest, test_ipsec_sad); +REGISTER_FAST_TEST(ipsec_sad_autotest, NOHUGE_OK, ASAN_OK, test_ipsec_sad); diff --git a/app/test/test_kvargs.c b/app/test/test_kvargs.c index 43bb7a02438..a14b75948a6 100644 --- a/app/test/test_kvargs.c +++ b/app/test/test_kvargs.c @@ -364,4 +364,4 @@ test_kvargs(void) return unit_test_suite_runner(&kvargs_test_suite); } -REGISTER_FAST_TEST(kvargs_autotest, true, true, test_kvargs); +REGISTER_FAST_TEST(kvargs_autotest, NOHUGE_OK, ASAN_OK, test_kvargs); diff --git a/app/test/test_latencystats.c b/app/test/test_latencystats.c index 676a99d385b..c421e810079 100644 --- a/app/test/test_latencystats.c +++ b/app/test/test_latencystats.c @@ -246,4 +246,4 @@ static int test_latencystats(void) return unit_test_suite_runner(&latencystats_testsuite); } -REGISTER_FAST_TEST(latencystats_autotest, true, true, test_latencystats); +REGISTER_FAST_TEST(latencystats_autotest, NOHUGE_OK, ASAN_OK, test_latencystats); diff --git a/app/test/test_lcore_var.c b/app/test/test_lcore_var.c index bcf785b3210..32d7f4c58ef 100644 --- a/app/test/test_lcore_var.c +++ b/app/test/test_lcore_var.c @@ -411,4 +411,4 @@ static int test_lcore_var(void) return unit_test_suite_runner(&lcore_var_testsuite); } -REGISTER_FAST_TEST(lcore_var_autotest, true, false, test_lcore_var); +REGISTER_FAST_TEST(lcore_var_autotest, NOHUGE_OK, ASAN_SKIP, test_lcore_var); diff --git a/app/test/test_lcores.c b/app/test/test_lcores.c index bd5c0dd94b6..13842615d5b 100644 --- a/app/test/test_lcores.c +++ b/app/test/test_lcores.c @@ -422,4 +422,4 @@ test_lcores(void) return TEST_SUCCESS; } -REGISTER_FAST_TEST(lcores_autotest, true, true, test_lcores); +REGISTER_FAST_TEST(lcores_autotest, NOHUGE_OK, ASAN_OK, test_lcores); diff --git a/app/test/test_logs.c b/app/test/test_logs.c index 43b09704a3f..375b06a1b7d 100644 --- a/app/test/test_logs.c +++ b/app/test/test_logs.c @@ -158,4 +158,4 @@ test_logs(void) return 0; } -REGISTER_FAST_TEST(logs_autotest, true, true, test_logs); +REGISTER_FAST_TEST(logs_autotest, NOHUGE_OK, ASAN_OK, test_logs); diff --git a/app/test/test_lpm.c b/app/test/test_lpm.c index b93e11d7003..f4a8031062e 100644 --- a/app/test/test_lpm.c +++ b/app/test/test_lpm.c @@ -1584,4 +1584,4 @@ test_lpm(void) return global_status; } -REGISTER_FAST_TEST(lpm_autotest, true, true, test_lpm); +REGISTER_FAST_TEST(lpm_autotest, NOHUGE_OK, ASAN_OK, test_lpm); diff --git a/app/test/test_lpm6.c b/app/test/test_lpm6.c index b930fa3f0c1..7340331848e 100644 --- a/app/test/test_lpm6.c +++ b/app/test/test_lpm6.c @@ -1767,4 +1767,4 @@ test_lpm6(void) return global_status; } -REGISTER_FAST_TEST(lpm6_autotest, true, true, test_lpm6); +REGISTER_FAST_TEST(lpm6_autotest, NOHUGE_OK, ASAN_OK, test_lpm6); diff --git a/app/test/test_malloc.c b/app/test/test_malloc.c index ce8fc5dd06d..344a730e285 100644 --- a/app/test/test_malloc.c +++ b/app/test/test_malloc.c @@ -1166,4 +1166,4 @@ test_malloc(void) return unit_test_suite_runner(&test_suite); } -REGISTER_FAST_TEST(malloc_autotest, false, true, test_malloc); +REGISTER_FAST_TEST(malloc_autotest, NOHUGE_SKIP, ASAN_OK, test_malloc); diff --git a/app/test/test_mbuf.c b/app/test/test_mbuf.c index 17be977f315..7afaee80676 100644 --- a/app/test/test_mbuf.c +++ b/app/test/test_mbuf.c @@ -2953,4 +2953,4 @@ test_mbuf(void) } #undef GOTO_FAIL -REGISTER_FAST_TEST(mbuf_autotest, false, true, test_mbuf); +REGISTER_FAST_TEST(mbuf_autotest, NOHUGE_SKIP, ASAN_OK, test_mbuf); diff --git a/app/test/test_mcslock.c b/app/test/test_mcslock.c index 8fcbc11a08d..245df99a5df 100644 --- a/app/test/test_mcslock.c +++ b/app/test/test_mcslock.c @@ -241,4 +241,4 @@ test_mcslock(void) return ret; } -REGISTER_FAST_TEST(mcslock_autotest, false, true, test_mcslock); +REGISTER_FAST_TEST(mcslock_autotest, NOHUGE_SKIP, ASAN_OK, test_mcslock); diff --git a/app/test/test_member.c b/app/test/test_member.c index a93787a10ce..23447196c3a 100644 --- a/app/test/test_member.c +++ b/app/test/test_member.c @@ -996,4 +996,4 @@ test_member(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_FAST_TEST(member_autotest, true, true, test_member); +REGISTER_FAST_TEST(member_autotest, NOHUGE_OK, ASAN_OK, test_member); diff --git a/app/test/test_memcpy.c b/app/test/test_memcpy.c index 802dc4631bd..7273c17a060 100644 --- a/app/test/test_memcpy.c +++ b/app/test/test_memcpy.c @@ -129,4 +129,4 @@ test_memcpy(void) return 0; } -REGISTER_FAST_TEST(memcpy_autotest, true, true, test_memcpy); +REGISTER_FAST_TEST(memcpy_autotest, NOHUGE_OK, ASAN_OK, test_memcpy); diff --git a/app/test/test_memory.c b/app/test/test_memory.c index ea37f62338e..628714c0b84 100644 --- a/app/test/test_memory.c +++ b/app/test/test_memory.c @@ -110,4 +110,4 @@ test_memory(void) return 0; } -REGISTER_FAST_TEST(memory_autotest, false, true, test_memory); +REGISTER_FAST_TEST(memory_autotest, NOHUGE_SKIP, ASAN_OK, test_memory); diff --git a/app/test/test_mempool.c b/app/test/test_mempool.c index 63356998fd2..e54249ce618 100644 --- a/app/test/test_mempool.c +++ b/app/test/test_mempool.c @@ -1122,4 +1122,4 @@ test_mempool(void) return ret; } -REGISTER_FAST_TEST(mempool_autotest, false, true, test_mempool); +REGISTER_FAST_TEST(mempool_autotest, NOHUGE_SKIP, ASAN_OK, test_mempool); diff --git a/app/test/test_memzone.c b/app/test/test_memzone.c index 506725ea41a..5094d15159a 100644 --- a/app/test/test_memzone.c +++ b/app/test/test_memzone.c @@ -1162,4 +1162,4 @@ test_memzone(void) return 0; } -REGISTER_FAST_TEST(memzone_autotest, false, true, test_memzone); +REGISTER_FAST_TEST(memzone_autotest, NOHUGE_SKIP, ASAN_OK, test_memzone); diff --git a/app/test/test_meter.c b/app/test/test_meter.c index 6241b75ba0c..6e7ab20e270 100644 --- a/app/test/test_meter.c +++ b/app/test/test_meter.c @@ -713,4 +713,4 @@ test_meter(void) } -REGISTER_FAST_TEST(meter_autotest, true, true, test_meter); +REGISTER_FAST_TEST(meter_autotest, NOHUGE_OK, ASAN_OK, test_meter); diff --git a/app/test/test_metrics.c b/app/test/test_metrics.c index 917bee2e37f..b1c7694b411 100644 --- a/app/test/test_metrics.c +++ b/app/test/test_metrics.c @@ -326,4 +326,4 @@ test_metrics(void) return unit_test_suite_runner(&metrics_testsuite); } -REGISTER_FAST_TEST(metrics_autotest, true, true, test_metrics); +REGISTER_FAST_TEST(metrics_autotest, NOHUGE_OK, ASAN_OK, test_metrics); diff --git a/app/test/test_mp_secondary.c b/app/test/test_mp_secondary.c index f3694530a86..ec176774d4e 100644 --- a/app/test/test_mp_secondary.c +++ b/app/test/test_mp_secondary.c @@ -223,4 +223,4 @@ test_mp_secondary(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_FAST_TEST(multiprocess_autotest, false, false, test_mp_secondary); +REGISTER_FAST_TEST(multiprocess_autotest, NOHUGE_SKIP, ASAN_SKIP, test_mp_secondary); diff --git a/app/test/test_net_ether.c b/app/test/test_net_ether.c index 1cb6845a9c4..ec112241711 100644 --- a/app/test/test_net_ether.c +++ b/app/test/test_net_ether.c @@ -162,4 +162,4 @@ test_net_ether(void) return 0; } -REGISTER_FAST_TEST(net_ether_autotest, true, true, test_net_ether); +REGISTER_FAST_TEST(net_ether_autotest, NOHUGE_OK, ASAN_OK, test_net_ether); diff --git a/app/test/test_net_ip6.c b/app/test/test_net_ip6.c index e4642c9a39d..bf4bc5c8227 100644 --- a/app/test/test_net_ip6.c +++ b/app/test/test_net_ip6.c @@ -218,4 +218,4 @@ test_net_ipv6(void) return TEST_SUCCESS; } -REGISTER_FAST_TEST(net_ipv6_autotest, true, true, test_net_ipv6); +REGISTER_FAST_TEST(net_ipv6_autotest, NOHUGE_OK, ASAN_OK, test_net_ipv6); diff --git a/app/test/test_pcapng.c b/app/test/test_pcapng.c index bcf99724fa1..5d362ec70e1 100644 --- a/app/test/test_pcapng.c +++ b/app/test/test_pcapng.c @@ -464,4 +464,4 @@ test_pcapng(void) return unit_test_suite_runner(&test_pcapng_suite); } -REGISTER_FAST_TEST(pcapng_autotest, true, true, test_pcapng); +REGISTER_FAST_TEST(pcapng_autotest, NOHUGE_OK, ASAN_OK, test_pcapng); diff --git a/app/test/test_pdcp.c b/app/test/test_pdcp.c index 0a2827f2ef1..784e2dddd90 100644 --- a/app/test/test_pdcp.c +++ b/app/test/test_pdcp.c @@ -2388,4 +2388,4 @@ test_pdcp(void) return ret; } -REGISTER_FAST_TEST(pdcp_autotest, false, true, test_pdcp); +REGISTER_FAST_TEST(pdcp_autotest, NOHUGE_SKIP, ASAN_OK, test_pdcp); diff --git a/app/test/test_pdump.c b/app/test/test_pdump.c index 9f7769707e9..61a7d7f863a 100644 --- a/app/test/test_pdump.c +++ b/app/test/test_pdump.c @@ -219,4 +219,4 @@ test_pdump(void) return TEST_SUCCESS; } -REGISTER_FAST_TEST(pdump_autotest, true, false, test_pdump); +REGISTER_FAST_TEST(pdump_autotest, NOHUGE_OK, ASAN_SKIP, test_pdump); diff --git a/app/test/test_per_lcore.c b/app/test/test_per_lcore.c index e0674b0e700..6e7ba072fdb 100644 --- a/app/test/test_per_lcore.c +++ b/app/test/test_per_lcore.c @@ -118,4 +118,4 @@ test_per_lcore(void) return 0; } -REGISTER_FAST_TEST(per_lcore_autotest, true, true, test_per_lcore); +REGISTER_FAST_TEST(per_lcore_autotest, NOHUGE_OK, ASAN_OK, test_per_lcore); diff --git a/app/test/test_pflock.c b/app/test/test_pflock.c index 162049201f5..4164a427897 100644 --- a/app/test/test_pflock.c +++ b/app/test/test_pflock.c @@ -194,4 +194,4 @@ test_pflock(void) return 0; } -REGISTER_FAST_TEST(pflock_autotest, true, true, test_pflock); +REGISTER_FAST_TEST(pflock_autotest, NOHUGE_OK, ASAN_OK, test_pflock); diff --git a/app/test/test_pie.c b/app/test/test_pie.c index 72ef3869d0c..6be0fd06220 100644 --- a/app/test/test_pie.c +++ b/app/test/test_pie.c @@ -1082,6 +1082,6 @@ test_pie_all(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_FAST_TEST(pie_autotest, true, true, test_pie); +REGISTER_FAST_TEST(pie_autotest, NOHUGE_OK, ASAN_OK, test_pie); REGISTER_PERF_TEST(pie_perf, test_pie_perf); REGISTER_PERF_TEST(pie_all, test_pie_all); diff --git a/app/test/test_pmd_ring.c b/app/test/test_pmd_ring.c index e83b9dd6b82..cb08dcf1d95 100644 --- a/app/test/test_pmd_ring.c +++ b/app/test/test_pmd_ring.c @@ -593,4 +593,4 @@ test_pmd_ring(void) return unit_test_suite_runner(&test_pmd_ring_suite); } -REGISTER_FAST_TEST(ring_pmd_autotest, true, true, test_pmd_ring); +REGISTER_FAST_TEST(ring_pmd_autotest, NOHUGE_OK, ASAN_OK, test_pmd_ring); diff --git a/app/test/test_pmu.c b/app/test/test_pmu.c index 10513bf9c91..62ce8911fc9 100644 --- a/app/test/test_pmu.c +++ b/app/test/test_pmu.c @@ -53,5 +53,5 @@ test_pmu(void) } /* disabled because of reported failures, waiting for a fix - * REGISTER_FAST_TEST(pmu_autotest, true, true, test_pmu); + * REGISTER_FAST_TEST(pmu_autotest, NOHUGE_OK, ASAN_OK, test_pmu); */ diff --git a/app/test/test_power.c b/app/test/test_power.c index 38507411bdb..34119c171c2 100644 --- a/app/test/test_power.c +++ b/app/test/test_power.c @@ -78,4 +78,4 @@ test_power(void) } #endif -REGISTER_FAST_TEST(power_autotest, true, true, test_power); +REGISTER_FAST_TEST(power_autotest, NOHUGE_OK, ASAN_OK, test_power); diff --git a/app/test/test_power_cpufreq.c b/app/test/test_power_cpufreq.c index 0331b37fe05..08bce4c0d10 100644 --- a/app/test/test_power_cpufreq.c +++ b/app/test/test_power_cpufreq.c @@ -661,7 +661,7 @@ test_power_caps(void) "correctly(APCI cpufreq) or operating in another valid " "Power management environment\n", TEST_POWER_LCORE_ID); rte_power_unset_env(); - return -1; + return TEST_SKIPPED; } ret = rte_power_get_capabilities(TEST_POWER_LCORE_ID, &caps); @@ -678,5 +678,5 @@ test_power_caps(void) #endif -REGISTER_FAST_TEST(power_cpufreq_autotest, false, true, test_power_cpufreq); -REGISTER_TEST_COMMAND(power_caps_autotest, test_power_caps); +REGISTER_FAST_TEST(power_cpufreq_autotest, NOHUGE_SKIP, ASAN_OK, test_power_cpufreq); +REGISTER_FAST_TEST(power_caps_autotest, NOHUGE_OK, ASAN_OK, test_power_caps); diff --git a/app/test/test_power_intel_uncore.c b/app/test/test_power_intel_uncore.c index 973dc7a9453..9af019a4686 100644 --- a/app/test/test_power_intel_uncore.c +++ b/app/test/test_power_intel_uncore.c @@ -303,4 +303,4 @@ test_power_intel_uncore(void) } #endif -REGISTER_FAST_TEST(power_intel_uncore_autotest, true, true, test_power_intel_uncore); +REGISTER_FAST_TEST(power_intel_uncore_autotest, NOHUGE_OK, ASAN_OK, test_power_intel_uncore); diff --git a/app/test/test_power_kvm_vm.c b/app/test/test_power_kvm_vm.c index 1c72ba5a4e9..fa8e8022ca8 100644 --- a/app/test/test_power_kvm_vm.c +++ b/app/test/test_power_kvm_vm.c @@ -263,4 +263,4 @@ test_power_kvm_vm(void) } #endif -REGISTER_FAST_TEST(power_kvm_vm_autotest, false, true, test_power_kvm_vm); +REGISTER_FAST_TEST(power_kvm_vm_autotest, NOHUGE_SKIP, ASAN_OK, test_power_kvm_vm); diff --git a/app/test/test_prefetch.c b/app/test/test_prefetch.c index 46e6828e6a8..212a79da817 100644 --- a/app/test/test_prefetch.c +++ b/app/test/test_prefetch.c @@ -35,4 +35,4 @@ test_prefetch(void) return 0; } -REGISTER_FAST_TEST(prefetch_autotest, true, true, test_prefetch); +REGISTER_FAST_TEST(prefetch_autotest, NOHUGE_OK, ASAN_OK, test_prefetch); diff --git a/app/test/test_ptr_compress.c b/app/test/test_ptr_compress.c index 807b19eaf63..c40fe36c912 100644 --- a/app/test/test_ptr_compress.c +++ b/app/test/test_ptr_compress.c @@ -190,4 +190,4 @@ test_ptr_compress(void) return 0; } -REGISTER_FAST_TEST(ptr_compress_autotest, true, true, test_ptr_compress); +REGISTER_FAST_TEST(ptr_compress_autotest, NOHUGE_OK, ASAN_OK, test_ptr_compress); diff --git a/app/test/test_rawdev.c b/app/test/test_rawdev.c index d1d250c9ac0..aece7b655cd 100644 --- a/app/test/test_rawdev.c +++ b/app/test/test_rawdev.c @@ -74,4 +74,4 @@ test_rawdev_selftests(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_FAST_TEST(rawdev_autotest, true, true, test_rawdev_selftests); +REGISTER_FAST_TEST(rawdev_autotest, NOHUGE_OK, ASAN_OK, test_rawdev_selftests); diff --git a/app/test/test_rcu_qsbr.c b/app/test/test_rcu_qsbr.c index 72d8e0377e8..05ad1ab5dd9 100644 --- a/app/test/test_rcu_qsbr.c +++ b/app/test/test_rcu_qsbr.c @@ -1418,4 +1418,4 @@ test_rcu_qsbr_main(void) return -1; } -REGISTER_FAST_TEST(rcu_qsbr_autotest, true, true, test_rcu_qsbr_main); +REGISTER_FAST_TEST(rcu_qsbr_autotest, NOHUGE_OK, ASAN_OK, test_rcu_qsbr_main); diff --git a/app/test/test_red.c b/app/test/test_red.c index 7f38ed1469c..4b171739993 100644 --- a/app/test/test_red.c +++ b/app/test/test_red.c @@ -1872,6 +1872,6 @@ test_red_all(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(red_autotest, test_red); +REGISTER_FAST_TEST(red_autotest, NOHUGE_OK, ASAN_OK, test_red); REGISTER_PERF_TEST(red_perf, test_red_perf); REGISTER_PERF_TEST(red_all, test_red_all); diff --git a/app/test/test_reorder.c b/app/test/test_reorder.c index aaa2c570860..8c68e00869b 100644 --- a/app/test/test_reorder.c +++ b/app/test/test_reorder.c @@ -552,4 +552,4 @@ test_reorder(void) } -REGISTER_FAST_TEST(reorder_autotest, true, true, test_reorder); +REGISTER_FAST_TEST(reorder_autotest, NOHUGE_OK, ASAN_OK, test_reorder); diff --git a/app/test/test_rib.c b/app/test/test_rib.c index c7454f2c475..a4a683140df 100644 --- a/app/test/test_rib.c +++ b/app/test/test_rib.c @@ -363,5 +363,5 @@ test_slow_rib(void) return unit_test_suite_runner(&rib_slow_tests); } -REGISTER_FAST_TEST(rib_autotest, true, true, test_rib); +REGISTER_FAST_TEST(rib_autotest, NOHUGE_OK, ASAN_OK, test_rib); REGISTER_PERF_TEST(rib_slow_autotest, test_slow_rib); diff --git a/app/test/test_rib6.c b/app/test/test_rib6.c index ba54a3794ea..0295a9640cf 100644 --- a/app/test/test_rib6.c +++ b/app/test/test_rib6.c @@ -362,5 +362,5 @@ test_slow_rib6(void) return unit_test_suite_runner(&rib6_slow_tests); } -REGISTER_FAST_TEST(rib6_autotest, true, true, test_rib6); +REGISTER_FAST_TEST(rib6_autotest, NOHUGE_OK, ASAN_OK, test_rib6); REGISTER_PERF_TEST(rib6_slow_autotest, test_slow_rib6); diff --git a/app/test/test_ring.c b/app/test/test_ring.c index 3078348b2fe..015623659f8 100644 --- a/app/test/test_ring.c +++ b/app/test/test_ring.c @@ -1248,4 +1248,4 @@ test_ring(void) return -1; } -REGISTER_FAST_TEST(ring_autotest, true, true, test_ring); +REGISTER_FAST_TEST(ring_autotest, NOHUGE_OK, ASAN_OK, test_ring); diff --git a/app/test/test_rwlock.c b/app/test/test_rwlock.c index 785317621dd..a2f37add34b 100644 --- a/app/test/test_rwlock.c +++ b/app/test/test_rwlock.c @@ -507,7 +507,7 @@ try_rwlock_test_rde_wro(void) return process_try_lcore_stats(); } -REGISTER_FAST_TEST(rwlock_test1_autotest, true, true, rwlock_test1); -REGISTER_FAST_TEST(rwlock_rda_autotest, true, true, try_rwlock_test_rda); -REGISTER_FAST_TEST(rwlock_rds_wrm_autotest, true, true, try_rwlock_test_rds_wrm); -REGISTER_FAST_TEST(rwlock_rde_wro_autotest, true, true, try_rwlock_test_rde_wro); +REGISTER_FAST_TEST(rwlock_test1_autotest, NOHUGE_OK, ASAN_OK, rwlock_test1); +REGISTER_FAST_TEST(rwlock_rda_autotest, NOHUGE_OK, ASAN_OK, try_rwlock_test_rda); +REGISTER_FAST_TEST(rwlock_rds_wrm_autotest, NOHUGE_OK, ASAN_OK, try_rwlock_test_rds_wrm); +REGISTER_FAST_TEST(rwlock_rde_wro_autotest, NOHUGE_OK, ASAN_OK, try_rwlock_test_rde_wro); diff --git a/app/test/test_sched.c b/app/test/test_sched.c index 6daee90bca4..96b48f18976 100644 --- a/app/test/test_sched.c +++ b/app/test/test_sched.c @@ -215,4 +215,4 @@ test_sched(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_FAST_TEST(sched_autotest, true, true, test_sched); +REGISTER_FAST_TEST(sched_autotest, NOHUGE_OK, ASAN_OK, test_sched); diff --git a/app/test/test_security.c b/app/test/test_security.c index 23fc7ffb4f4..be8427b28d2 100644 --- a/app/test/test_security.c +++ b/app/test/test_security.c @@ -2314,4 +2314,4 @@ test_security(void) return unit_test_suite_runner(&security_testsuite); } -REGISTER_FAST_TEST(security_autotest, false, true, test_security); +REGISTER_FAST_TEST(security_autotest, NOHUGE_SKIP, ASAN_OK, test_security); diff --git a/app/test/test_security_inline_macsec.c b/app/test/test_security_inline_macsec.c index 40436677017..a929ff5326a 100644 --- a/app/test/test_security_inline_macsec.c +++ b/app/test/test_security_inline_macsec.c @@ -2584,4 +2584,4 @@ test_inline_macsec(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(inline_macsec_autotest, test_inline_macsec); +REGISTER_DRIVER_TEST(inline_macsec_autotest, test_inline_macsec); diff --git a/app/test/test_security_inline_proto.c b/app/test/test_security_inline_proto.c index 04ecfd02c6a..09d710eff2f 100644 --- a/app/test/test_security_inline_proto.c +++ b/app/test/test_security_inline_proto.c @@ -3616,6 +3616,6 @@ test_event_inline_ipsec(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(inline_ipsec_autotest, test_inline_ipsec); -REGISTER_TEST_COMMAND(inline_ipsec_sg_autotest, test_inline_ipsec_sg); -REGISTER_TEST_COMMAND(event_inline_ipsec_autotest, test_event_inline_ipsec); +REGISTER_DRIVER_TEST(inline_ipsec_autotest, test_inline_ipsec); +REGISTER_DRIVER_TEST(inline_ipsec_sg_autotest, test_inline_ipsec_sg); +REGISTER_DRIVER_TEST(event_inline_ipsec_autotest, test_event_inline_ipsec); diff --git a/app/test/test_seqlock.c b/app/test/test_seqlock.c index c5e5e645cb8..bd54b5fa61b 100644 --- a/app/test/test_seqlock.c +++ b/app/test/test_seqlock.c @@ -187,4 +187,4 @@ test_seqlock(void) return rc; } -REGISTER_FAST_TEST(seqlock_autotest, true, true, test_seqlock); +REGISTER_FAST_TEST(seqlock_autotest, NOHUGE_OK, ASAN_OK, test_seqlock); diff --git a/app/test/test_service_cores.c b/app/test/test_service_cores.c index d95a71f80b8..ff04472616d 100644 --- a/app/test/test_service_cores.c +++ b/app/test/test_service_cores.c @@ -1081,7 +1081,7 @@ test_service_common(void) return unit_test_suite_runner(&service_tests); } -REGISTER_FAST_TEST(service_autotest, true, true, test_service_common); +REGISTER_FAST_TEST(service_autotest, NOHUGE_OK, ASAN_OK, test_service_common); static struct unit_test_suite service_perf_tests = { .suite_name = "service core performance test suite", diff --git a/app/test/test_soring.c b/app/test/test_soring.c index 3c1944424e5..52852692d43 100644 --- a/app/test/test_soring.c +++ b/app/test/test_soring.c @@ -438,4 +438,4 @@ test_soring(void) return -1; } -REGISTER_FAST_TEST(soring_autotest, true, true, test_soring); +REGISTER_FAST_TEST(soring_autotest, NOHUGE_OK, ASAN_OK, test_soring); diff --git a/app/test/test_spinlock.c b/app/test/test_spinlock.c index 34e0ef9422f..a2ac5df4277 100644 --- a/app/test/test_spinlock.c +++ b/app/test/test_spinlock.c @@ -303,4 +303,4 @@ test_spinlock(void) return ret; } -REGISTER_FAST_TEST(spinlock_autotest, true, true, test_spinlock); +REGISTER_FAST_TEST(spinlock_autotest, NOHUGE_OK, ASAN_OK, test_spinlock); diff --git a/app/test/test_stack.c b/app/test/test_stack.c index 9150cc9fed1..abc31147295 100644 --- a/app/test/test_stack.c +++ b/app/test/test_stack.c @@ -379,5 +379,5 @@ test_lf_stack(void) #endif } -REGISTER_FAST_TEST(stack_autotest, false, true, test_stack); -REGISTER_FAST_TEST(stack_lf_autotest, false, true, test_lf_stack); +REGISTER_FAST_TEST(stack_autotest, NOHUGE_SKIP, ASAN_OK, test_stack); +REGISTER_FAST_TEST(stack_lf_autotest, NOHUGE_SKIP, ASAN_OK, test_lf_stack); diff --git a/app/test/test_string_fns.c b/app/test/test_string_fns.c index 1a2830575e7..786eda9e49b 100644 --- a/app/test/test_string_fns.c +++ b/app/test/test_string_fns.c @@ -328,4 +328,4 @@ test_string_fns(void) return 0; } -REGISTER_FAST_TEST(string_autotest, true, true, test_string_fns); +REGISTER_FAST_TEST(string_autotest, NOHUGE_OK, ASAN_OK, test_string_fns); diff --git a/app/test/test_table.c b/app/test/test_table.c index 27d2407517b..20623b87352 100644 --- a/app/test/test_table.c +++ b/app/test/test_table.c @@ -206,4 +206,4 @@ test_table(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_FAST_TEST(table_autotest, true, true, test_table); +REGISTER_FAST_TEST(table_autotest, NOHUGE_OK, ASAN_OK, test_table); diff --git a/app/test/test_tailq.c b/app/test/test_tailq.c index 2ff28773443..34bde52c036 100644 --- a/app/test/test_tailq.c +++ b/app/test/test_tailq.c @@ -125,4 +125,4 @@ test_tailq(void) return ret; } -REGISTER_FAST_TEST(tailq_autotest, true, true, test_tailq); +REGISTER_FAST_TEST(tailq_autotest, NOHUGE_OK, ASAN_OK, test_tailq); diff --git a/app/test/test_telemetry_data.c b/app/test/test_telemetry_data.c index 59898ff5e98..def282434b6 100644 --- a/app/test/test_telemetry_data.c +++ b/app/test/test_telemetry_data.c @@ -615,4 +615,4 @@ telemetry_data_autotest(void) } #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_FAST_TEST(telemetry_data_autotest, true, true, telemetry_data_autotest); +REGISTER_FAST_TEST(telemetry_data_autotest, NOHUGE_OK, ASAN_OK, telemetry_data_autotest); diff --git a/app/test/test_telemetry_json.c b/app/test/test_telemetry_json.c index 758e89303f5..96d74fe378e 100644 --- a/app/test/test_telemetry_json.c +++ b/app/test/test_telemetry_json.c @@ -213,4 +213,4 @@ test_telemetry_json(void) return 0; } -REGISTER_FAST_TEST(telemetry_json_autotest, true, true, test_telemetry_json); +REGISTER_FAST_TEST(telemetry_json_autotest, NOHUGE_OK, ASAN_OK, test_telemetry_json); diff --git a/app/test/test_thash.c b/app/test/test_thash.c index f43a5ddd2b5..eeb2e87f2c6 100644 --- a/app/test/test_thash.c +++ b/app/test/test_thash.c @@ -1060,4 +1060,4 @@ test_thash(void) return unit_test_suite_runner(&thash_tests); } -REGISTER_FAST_TEST(thash_autotest, true, true, test_thash); +REGISTER_FAST_TEST(thash_autotest, NOHUGE_OK, ASAN_OK, test_thash); diff --git a/app/test/test_threads.c b/app/test/test_threads.c index 6d6881a4f66..5cd8bd45598 100644 --- a/app/test/test_threads.c +++ b/app/test/test_threads.c @@ -280,4 +280,4 @@ test_threads(void) return unit_test_suite_runner(&threads_test_suite); } -REGISTER_FAST_TEST(threads_autotest, true, true, test_threads); +REGISTER_FAST_TEST(threads_autotest, NOHUGE_OK, ASAN_OK, test_threads); diff --git a/app/test/test_ticketlock.c b/app/test/test_ticketlock.c index 8ac2e908760..22d17e259bf 100644 --- a/app/test/test_ticketlock.c +++ b/app/test/test_ticketlock.c @@ -315,4 +315,4 @@ test_ticketlock(void) return ret; } -REGISTER_FAST_TEST(ticketlock_autotest, true, true, test_ticketlock); +REGISTER_FAST_TEST(ticketlock_autotest, NOHUGE_OK, ASAN_OK, test_ticketlock); diff --git a/app/test/test_timer.c b/app/test/test_timer.c index 3411b7fe203..c936843ddc9 100644 --- a/app/test/test_timer.c +++ b/app/test/test_timer.c @@ -601,4 +601,4 @@ test_timer(void) return TEST_SUCCESS; } -REGISTER_FAST_TEST(timer_autotest, false, true, test_timer); +REGISTER_FAST_TEST(timer_autotest, NOHUGE_SKIP, ASAN_OK, test_timer); diff --git a/app/test/test_timer_secondary.c b/app/test/test_timer_secondary.c index 4e220559b4e..0895705ac49 100644 --- a/app/test/test_timer_secondary.c +++ b/app/test/test_timer_secondary.c @@ -160,11 +160,12 @@ test_timer_secondary(void) TEST_ASSERT_SUCCESS(ret, "Failed to launch timer manage loop"); ret = timer_secondary_spawn_wait(*sec_lcorep); - TEST_ASSERT_SUCCESS(ret, "Secondary process execution failed"); - - rte_delay_ms(2000); + /* must set exit flag even on error case, so check ret later */ + rte_delay_ms(500); test_info->exit_flag = 1; + + TEST_ASSERT_SUCCESS(ret, "Secondary process execution failed"); rte_eal_wait_lcore(*mgr_lcorep); #ifdef RTE_LIBRTE_TIMER_DEBUG @@ -189,8 +190,8 @@ test_timer_secondary(void) rte_timer_init(tim); - /* generate timeouts between 10 and 160 ms */ - timeout_ms = ((rte_rand() & 0xF) + 1) * 10; + /* generate timeouts between 10 and 80 ms */ + timeout_ms = ((rte_rand() & 0x7) + 1) * 10; ticks = timeout_ms * rte_get_timer_hz() / MSECPERSEC; ret = rte_timer_alt_reset(test_info->timer_data_id, @@ -224,4 +225,4 @@ test_timer_secondary(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_TEST_COMMAND(timer_secondary_autotest, test_timer_secondary); +REGISTER_FAST_TEST(timer_secondary_autotest, NOHUGE_SKIP, ASAN_SKIP, test_timer_secondary); diff --git a/app/test/test_trace.c b/app/test/test_trace.c index 52b5ba5cbb0..97dc69f68c3 100644 --- a/app/test/test_trace.c +++ b/app/test/test_trace.c @@ -254,4 +254,4 @@ test_trace(void) #endif /* !RTE_EXEC_ENV_WINDOWS */ -REGISTER_FAST_TEST(trace_autotest, true, true, test_trace); +REGISTER_FAST_TEST(trace_autotest, NOHUGE_OK, ASAN_OK, test_trace); diff --git a/app/test/test_vdev.c b/app/test/test_vdev.c index 3e262f30bc6..49286194c3a 100644 --- a/app/test/test_vdev.c +++ b/app/test/test_vdev.c @@ -166,4 +166,4 @@ test_vdev(void) return 0; } -REGISTER_FAST_TEST(vdev_autotest, true, true, test_vdev); +REGISTER_FAST_TEST(vdev_autotest, NOHUGE_OK, ASAN_OK, test_vdev); diff --git a/app/test/test_version.c b/app/test/test_version.c index 52f269fb9cb..ba801acc22f 100644 --- a/app/test/test_version.c +++ b/app/test/test_version.c @@ -25,4 +25,4 @@ test_version(void) return 0; } -REGISTER_FAST_TEST(version_autotest, true, true, test_version); +REGISTER_FAST_TEST(version_autotest, NOHUGE_OK, ASAN_OK, test_version); diff --git a/buildtools/get-test-suites.py b/buildtools/get-test-suites.py index c3a99a862e3..36ed4bedc26 100644 --- a/buildtools/get-test-suites.py +++ b/buildtools/get-test-suites.py @@ -18,7 +18,7 @@ def get_fast_test_params(test_name, ln): "Extract the extra fast-test parameters from the line" (_, rest_of_line) = ln.split(test_name, 1) (_, nohuge, asan, _func) = rest_of_line.split(',', 3) - return f":{nohuge.strip().lower()}:{asan.strip().lower()}" + return f":{nohuge.strip()}:{asan.strip()}" for fname in input_list: with open(fname, "r", encoding="utf-8") as f: @@ -38,4 +38,5 @@ def get_fast_test_params(test_name, ln): for suite in test_suites.keys(): print(f"{suite}={','.join(test_suites[suite])}") -print(f"non_suite_tests={','.join(non_suite_tests)}") +if non_suite_tests: + print(f"non_suite_tests={','.join(non_suite_tests)}") diff --git a/doc/guides/contributing/img/abi_stability_policy.svg b/doc/guides/contributing/img/abi_stability_policy.svg index 4fd40073108..f87035dbb86 100644 --- a/doc/guides/contributing/img/abi_stability_policy.svg +++ b/doc/guides/contributing/img/abi_stability_policy.svg @@ -1056,4 +1056,4 @@ inkscape:connector-curvature="0" id="path7796" stroke-miterlimit="10" - d="M 763.41881,62.078444 H 1236.847 V 0.63998401 H 763.41881 Z" /> \ No newline at end of file + d="M 763.41881,62.078444 H 1236.847 V 0.63998401 H 763.41881 Z" /> diff --git a/doc/guides/contributing/img/what_is_an_abi.svg b/doc/guides/contributing/img/what_is_an_abi.svg index fd3d993eb60..d34be746555 100644 --- a/doc/guides/contributing/img/what_is_an_abi.svg +++ b/doc/guides/contributing/img/what_is_an_abi.svg @@ -379,4 +379,4 @@ inkscape:connector-curvature="0" id="path8395" stroke-miterlimit="10" - d="m 372.63068,389.43026 c 13.293,0 24.0794,-1.79995 24.0794,-4.01323 v -91.53105 c 0,-2.21327 10.78639,-4.01323 24.0794,-4.01323 -13.29301,0 -24.0794,-1.79995 -24.0794,-4.01323 v -65.3717 c 0,-2.21328 -10.7864,-4.01323 -24.0794,-4.01323" /> \ No newline at end of file + d="m 372.63068,389.43026 c 13.293,0 24.0794,-1.79995 24.0794,-4.01323 v -91.53105 c 0,-2.21327 10.78639,-4.01323 24.0794,-4.01323 -13.29301,0 -24.0794,-1.79995 -24.0794,-4.01323 v -65.3717 c 0,-2.21328 -10.7864,-4.01323 -24.0794,-4.01323" /> diff --git a/doc/guides/contributing/unit_test.rst b/doc/guides/contributing/unit_test.rst index c0f0d2988f0..0c769212996 100644 --- a/doc/guides/contributing/unit_test.rst +++ b/doc/guides/contributing/unit_test.rst @@ -188,9 +188,11 @@ There are two important functions for interacting with the test harness: The test is automatically added to the Meson test suite `` by this macro. Examples would be ``REGISTER_DRIVER_TEST``, or ``REGISTER_PERF_TEST``. **NOTE:** The ``REGISTER_FAST_TEST`` macro is slightly different, - in that it takes two additional parameters, - specifying whether the test can be run using ``--no-huge``, - and whether the test can be run using Address Sanitization (ASAN) + in that it takes two additional parameters before the function name: + the hugepage requirement (``NOHUGE_OK`` if the test can run without hugepages, + or ``NOHUGE_SKIP`` if hugepages are required), + and Address Sanitizer compatibility (``ASAN_OK`` if the test can run with ASan enabled, + or ``ASAN_SKIP`` if it cannot). ``unit_test_suite_runner(struct unit_test_suite *)`` Returns a runner for a full test suite object, @@ -318,7 +320,7 @@ of the unit test suite structure, for example: return ret; } - REGISTER_FAST_TEST(example_autotest, true /*no-huge*/, false /*ASan*/, example_tests); + REGISTER_FAST_TEST(example_autotest, NOHUGE_OK, ASAN_OK, example_tests); Designing a test diff --git a/doc/guides/howto/img/flow_bifurcation_overview.svg b/doc/guides/howto/img/flow_bifurcation_overview.svg index 4fa27648d29..552b5b0d502 100644 --- a/doc/guides/howto/img/flow_bifurcation_overview.svg +++ b/doc/guides/howto/img/flow_bifurcation_overview.svg @@ -541,4 +541,5 @@ width="94.5" height="6.75" class="st27" - id="rect236" /> \ No newline at end of file + id="rect236" /> + diff --git a/doc/guides/howto/img/virtio_user_for_container_networking.svg b/doc/guides/howto/img/virtio_user_for_container_networking.svg index dc9b318e7eb..ba9c907b04f 100644 --- a/doc/guides/howto/img/virtio_user_for_container_networking.svg +++ b/doc/guides/howto/img/virtio_user_for_container_networking.svg @@ -682,4 +682,5 @@ v:horizAlign="1" />adapter - \ No newline at end of file + + diff --git a/doc/guides/nics/cxgbe.rst b/doc/guides/nics/cxgbe.rst index 487190ff60e..86deb779ca9 100644 --- a/doc/guides/nics/cxgbe.rst +++ b/doc/guides/nics/cxgbe.rst @@ -886,4 +886,3 @@ port. For this reason, one cannot allow/block a single port without allowing/blocking the other ports on the same device. - diff --git a/doc/guides/nics/ipn3ke.rst b/doc/guides/nics/ipn3ke.rst index 82a04891782..410da3b4a97 100644 --- a/doc/guides/nics/ipn3ke.rst +++ b/doc/guides/nics/ipn3ke.rst @@ -88,7 +88,3 @@ To start ``testpmd``, and add I40e PF to FPGA network port, enable FPGA HQoS and .. code-block:: console .//app/dpdk-testpmd -l 0-15 --vdev 'ifpga_rawdev_cfg0,ifpga=b3:00.0,port=0' --vdev 'ipn3ke_cfg0,afu=0|b3:00.0,fpga_acc={tm|flow},i40e_pf={0000:b1:00.0|0000:b1:00.1|0000:b1:00.2|0000:b1:00.3|0000:b5:00.0|0000:b5:00.1|0000:b5:00.2|0000:b5:00.3}' -- -i --no-numa --forward-mode=macswap - -Limitations or Known issues ---------------------------- - diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index 8481cc974aa..904a0ac3584 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -689,9 +689,11 @@ for an additional list of options shared with other mlx5 drivers. - ``dv_flow_en`` parameter [int] Value 0 means legacy Verbs flow offloading. + It is available for devices older than ConnectX-9. - Value 1 enables the DV flow steering assuming it is supported by the - driver (requires rdma-core 24 or higher). + Value 1 enables the Direct Verbs flow steering. + It is available for devices older than ConnectX-9, + and requires rdma-core 24 or later. Value 2 enables the WQE based hardware steering. In this mode, only queue-based flow management is supported. @@ -1338,7 +1340,8 @@ Hardware Steering ~~~~~~~~~~~~~~~~~ Faster than software steering (SWS), -hardware steering (HWS) is the only mode supporting the flow template async API. +hardware steering (HWS) is the only mode supporting the flow template async API, +and the only mode supported on device ConnectX-9 and later. Flow rules are managed by the hardware, with a WQE-based high scaling and safer flow insertion/destruction. diff --git a/doc/guides/prog_guide/img/bond-mode-0.svg b/doc/guides/prog_guide/img/bond-mode-0.svg index ae0af226881..09aff2a6448 100644 --- a/doc/guides/prog_guide/img/bond-mode-0.svg +++ b/doc/guides/prog_guide/img/bond-mode-0.svg @@ -637,4 +637,5 @@ class="st4" id="text3648" style="fill:#feffff;font-family:Calibri">5 - \ No newline at end of file + + diff --git a/doc/guides/prog_guide/img/bond-mode-1.svg b/doc/guides/prog_guide/img/bond-mode-1.svg index 4aac7bd5df1..6646af054b7 100644 --- a/doc/guides/prog_guide/img/bond-mode-1.svg +++ b/doc/guides/prog_guide/img/bond-mode-1.svg @@ -723,4 +723,5 @@ id="text4192" style="fill:#feffff;font-family:Calibri">3 - \ No newline at end of file + + diff --git a/doc/guides/prog_guide/img/bond-mode-2.svg b/doc/guides/prog_guide/img/bond-mode-2.svg index b13d888924f..afbca89a161 100644 --- a/doc/guides/prog_guide/img/bond-mode-2.svg +++ b/doc/guides/prog_guide/img/bond-mode-2.svg @@ -701,4 +701,5 @@ class="st4" id="text5721" style="fill:#feffff;font-family:Calibri">5 - \ No newline at end of file + + diff --git a/doc/guides/prog_guide/img/bond-mode-3.svg b/doc/guides/prog_guide/img/bond-mode-3.svg index ad942e91f0d..8d65238b783 100644 --- a/doc/guides/prog_guide/img/bond-mode-3.svg +++ b/doc/guides/prog_guide/img/bond-mode-3.svg @@ -701,4 +701,5 @@ class="st4" id="text6005" style="fill:#feffff;font-family:Calibri">3 - \ No newline at end of file + + diff --git a/doc/guides/prog_guide/img/bond-mode-4.svg b/doc/guides/prog_guide/img/bond-mode-4.svg index 028e4b0f6bb..887252b267e 100644 --- a/doc/guides/prog_guide/img/bond-mode-4.svg +++ b/doc/guides/prog_guide/img/bond-mode-4.svg @@ -783,4 +783,5 @@ class="st4" id="text6313" style="fill:#feffff;font-family:Calibri">O - \ No newline at end of file + + diff --git a/doc/guides/prog_guide/img/bond-mode-5.svg b/doc/guides/prog_guide/img/bond-mode-5.svg index a5488abf35f..fec337c77a6 100644 --- a/doc/guides/prog_guide/img/bond-mode-5.svg +++ b/doc/guides/prog_guide/img/bond-mode-5.svg @@ -641,4 +641,5 @@ class="st16" id="text6564" style="fill:#feffff;font-family:Calibri">12003 - \ No newline at end of file + + diff --git a/doc/guides/prog_guide/img/lcore_var_mem_layout.svg b/doc/guides/prog_guide/img/lcore_var_mem_layout.svg index c4b286316c2..f87438c3286 100644 --- a/doc/guides/prog_guide/img/lcore_var_mem_layout.svg +++ b/doc/guides/prog_guide/img/lcore_var_mem_layout.svg @@ -307,4 +307,4 @@ - \ No newline at end of file + diff --git a/doc/guides/prog_guide/img/pdcp_functional_overview.svg b/doc/guides/prog_guide/img/pdcp_functional_overview.svg index 287daafc212..fb6974ef076 100644 --- a/doc/guides/prog_guide/img/pdcp_functional_overview.svg +++ b/doc/guides/prog_guide/img/pdcp_functional_overview.svg @@ -1 +1 @@ -Radio Interface (Uu/PC5)UE/NG-RAN/UE ANG-RAN/UE/UE BTransmitting PDCP entityReceiving PDCP entityTransmission buffer:SequencenumberingHeader or uplink dataCompressionHeader or uplink dataDecompressionRouting / DuplicationAdd PDCP headerCipheringIntegrity protectionPackets associated to a PDCP SDUPackets not associated to a PDCP SDURemove PDCP HeaderDecipheringIntegrity VerificationReception buffer:ReorderingDuplicate discardingPackets associated to a PDCP SDUPackets not associated to a PDCP SDU \ No newline at end of file +Radio Interface (Uu/PC5)UE/NG-RAN/UE ANG-RAN/UE/UE BTransmitting PDCP entityReceiving PDCP entityTransmission buffer:SequencenumberingHeader or uplink dataCompressionHeader or uplink dataDecompressionRouting / DuplicationAdd PDCP headerCipheringIntegrity protectionPackets associated to a PDCP SDUPackets not associated to a PDCP SDURemove PDCP HeaderDecipheringIntegrity VerificationReception buffer:ReorderingDuplicate discardingPackets associated to a PDCP SDUPackets not associated to a PDCP SDU diff --git a/doc/guides/prog_guide/img/predictable_snat_1.svg b/doc/guides/prog_guide/img/predictable_snat_1.svg index 5f97ccb71d4..ac8eca34409 100644 --- a/doc/guides/prog_guide/img/predictable_snat_1.svg +++ b/doc/guides/prog_guide/img/predictable_snat_1.svg @@ -1441,4 +1441,4 @@ style="font-size:12.00012016px">Packet assigned to queue 14 - \ No newline at end of file + diff --git a/doc/guides/prog_guide/img/predictable_snat_2.svg b/doc/guides/prog_guide/img/predictable_snat_2.svg index 85254590e1b..37eb91b8107 100644 --- a/doc/guides/prog_guide/img/predictable_snat_2.svg +++ b/doc/guides/prog_guide/img/predictable_snat_2.svg @@ -1441,4 +1441,4 @@ style="font-size:12.00012016px">Packet assigned to queue 15 - \ No newline at end of file + diff --git a/doc/guides/prog_guide/img/rss_queue_assign.svg b/doc/guides/prog_guide/img/rss_queue_assign.svg index d0eef8ccbd5..10f751757bb 100644 --- a/doc/guides/prog_guide/img/rss_queue_assign.svg +++ b/doc/guides/prog_guide/img/rss_queue_assign.svg @@ -1451,4 +1451,4 @@ style="fill:#ffffff;stroke:#000000;stroke-width:0.23999999;stroke-linecap:round;stroke-linejoin:round" /> - \ No newline at end of file + diff --git a/doc/guides/prog_guide/img/static_array_mem_layout.svg b/doc/guides/prog_guide/img/static_array_mem_layout.svg index 87aa5b26f55..5428119cf9e 100644 --- a/doc/guides/prog_guide/img/static_array_mem_layout.svg +++ b/doc/guides/prog_guide/img/static_array_mem_layout.svg @@ -275,4 +275,4 @@ - \ No newline at end of file + diff --git a/doc/guides/rel_notes/index.rst b/doc/guides/rel_notes/index.rst index bf5ecb266e5..b304fc3b418 100644 --- a/doc/guides/rel_notes/index.rst +++ b/doc/guides/rel_notes/index.rst @@ -8,6 +8,7 @@ Release Notes :maxdepth: 1 :numbered: + release_26_03 release_25_11 release_25_07 release_25_03 diff --git a/doc/guides/rel_notes/release_26_03.rst b/doc/guides/rel_notes/release_26_03.rst new file mode 100644 index 00000000000..15dabee7a1b --- /dev/null +++ b/doc/guides/rel_notes/release_26_03.rst @@ -0,0 +1,138 @@ +.. SPDX-License-Identifier: BSD-3-Clause + Copyright 2025 The DPDK contributors + +.. include:: + +DPDK Release 26.03 +================== + +.. **Read this first.** + + The text in the sections below explains how to update the release notes. + + Use proper spelling, capitalization and punctuation in all sections. + + Variable and config names should be quoted as fixed width text: + ``LIKE_THIS``. + + Build the docs and view the output file to ensure the changes are correct:: + + ninja -C build doc + xdg-open build/doc/guides/html/rel_notes/release_26_03.html + + +New Features +------------ + +.. This section should contain new features added in this release. + Sample format: + + * **Add a title in the past tense with a full stop.** + + Add a short 1-2 sentence description in the past tense. + The description should be enough to allow someone scanning + the release notes to understand the new feature. + + If the feature adds a lot of sub-features you can use a bullet list + like this: + + * Added feature foo to do something. + * Enhanced feature bar to do something else. + + Refer to the previous release notes for examples. + + Suggested order in release notes items: + * Core libs (EAL, mempool, ring, mbuf, buses) + * Device abstraction libs and PMDs (ordered alphabetically by vendor name) + - ethdev (lib, PMDs) + - cryptodev (lib, PMDs) + - eventdev (lib, PMDs) + - etc + * Other libs + * Apps, Examples, Tools (if significant) + + This section is a comment. Do not overwrite or remove it. + Also, make sure to start the actual text at the margin. + ======================================================= + + +Removed Items +------------- + +.. This section should contain removed items in this release. Sample format: + + * Add a short 1-2 sentence description of the removed item + in the past tense. + + This section is a comment. Do not overwrite or remove it. + Also, make sure to start the actual text at the margin. + ======================================================= + + +API Changes +----------- + +.. This section should contain API changes. Sample format: + + * sample: Add a short 1-2 sentence description of the API change + which was announced in the previous releases and made in this release. + Start with a scope label like "ethdev:". + Use fixed width quotes for ``function_names`` or ``struct_names``. + Use the past tense. + + This section is a comment. Do not overwrite or remove it. + Also, make sure to start the actual text at the margin. + ======================================================= + + +ABI Changes +----------- + +.. This section should contain ABI changes. Sample format: + + * sample: Add a short 1-2 sentence description of the ABI change + which was announced in the previous releases and made in this release. + Start with a scope label like "ethdev:". + Use fixed width quotes for ``function_names`` or ``struct_names``. + Use the past tense. + + This section is a comment. Do not overwrite or remove it. + Also, make sure to start the actual text at the margin. + ======================================================= + +* No ABI change that would break compatibility with 25.11. + + +Known Issues +------------ + +.. This section should contain new known issues in this release. Sample format: + + * **Add title in present tense with full stop.** + + Add a short 1-2 sentence description of the known issue + in the present tense. Add information on any known workarounds. + + This section is a comment. Do not overwrite or remove it. + Also, make sure to start the actual text at the margin. + ======================================================= + + +Tested Platforms +---------------- + +.. This section should contain a list of platforms that were tested + with this release. + + The format is: + + * platform with combinations + + * List of CPU + * List of OS + * List of devices + * Other relevant details... + + This section is a comment. Do not overwrite or remove it. + Also, make sure to start the actual text at the margin. + ======================================================= diff --git a/doc/guides/sample_app_ug/img/overlay_networking.svg b/doc/guides/sample_app_ug/img/overlay_networking.svg index caf1c264e51..a06a33a197f 100644 --- a/doc/guides/sample_app_ug/img/overlay_networking.svg +++ b/doc/guides/sample_app_ug/img/overlay_networking.svg @@ -1844,4 +1844,5 @@ id="text494" style="font-size:9px;font-family:Calibri;fill:#000000">TEP - \ No newline at end of file + + diff --git a/drivers/event/dlb2/dlb2_iface.c b/drivers/event/dlb2/dlb2_iface.c index 3caa827d31a..f7dd9dbfc5c 100644 --- a/drivers/event/dlb2/dlb2_iface.c +++ b/drivers/event/dlb2/dlb2_iface.c @@ -81,4 +81,3 @@ int (*dlb2_iface_set_cq_inflight_ctrl)(struct dlb2_hw_dev *handle, int (*dlb2_iface_set_cos_bw)(struct dlb2_hw_dev *handle, struct dlb2_set_cos_bw_args *args); - diff --git a/drivers/net/bnxt/tf_core/tf_em_common.c b/drivers/net/bnxt/tf_core/tf_em_common.c index 2449759db03..f9100e01fad 100644 --- a/drivers/net/bnxt/tf_core/tf_em_common.c +++ b/drivers/net/bnxt/tf_core/tf_em_common.c @@ -20,4 +20,3 @@ #include "tf_ext_flow_handle.h" #include "hcapi_cfa.h" #include "bnxt.h" - diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_act.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_act.c index a537cbb84af..091c8074ce8 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_act.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_act.c @@ -261,4 +261,3 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = { .act_tid = 12 } }; - diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_class.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_class.c index 619678f9cfa..e689b7b8f41 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_class.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_class.c @@ -8362,4 +8362,3 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = { }, } }; - diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_defs.h b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_defs.h index 14974e466a3..bb4e1fd16ec 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_defs.h +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_defs.h @@ -85,4 +85,3 @@ enum bnxt_ulp_template_id { }; #endif - diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c index a9be50a9dbc..85d718318db 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c @@ -4065,4 +4065,3 @@ uint32_t ulp_act_prop_map_table[] = { [BNXT_ULP_ACT_PROP_IDX_LAST] = BNXT_ULP_ACT_PROP_SZ_LAST }; - diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_class.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_class.c index 83935350b70..da6752c98aa 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_class.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_class.c @@ -68548,4 +68548,3 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { .ident_bit_pos = 64 } }; - diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_class.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_class.c index d523e5c2406..2bbe93223c0 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_class.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_class.c @@ -69581,4 +69581,3 @@ struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = { .ident_bit_pos = 62 } }; - diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_class.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_class.c index 36b08faa714..f47a4297542 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_class.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_class.c @@ -18776,4 +18776,3 @@ struct bnxt_ulp_mapper_ident_info ulp_wh_plus_class_ident_list[] = { .ident_bit_pos = 0 } }; - diff --git a/drivers/net/gve/base/gve_adminq.c b/drivers/net/gve/base/gve_adminq.c index 5d3270106cd..bc1759f0069 100644 --- a/drivers/net/gve/base/gve_adminq.c +++ b/drivers/net/gve/base/gve_adminq.c @@ -1080,4 +1080,3 @@ int gve_adminq_configure_rss(struct gve_priv *priv, gve_free_dma_mem(&rss_key_dma_mem); return err; } - diff --git a/drivers/net/gve/gve_rss.c b/drivers/net/gve/gve_rss.c index 931180f8f25..67b910ed22e 100644 --- a/drivers/net/gve/gve_rss.c +++ b/drivers/net/gve/gve_rss.c @@ -203,4 +203,3 @@ gve_to_rte_rss_hf(uint16_t gve_rss_types, struct rte_eth_rss_conf *rss_conf) if (gve_rss_types & GVE_RSS_HASH_UDPV6_EX) rss_conf->rss_hf |= RTE_ETH_RSS_IPV6_UDP_EX; } - diff --git a/drivers/net/gve/gve_rss.h b/drivers/net/gve/gve_rss.h index 0cc235a19a2..64ac0514b98 100644 --- a/drivers/net/gve/gve_rss.h +++ b/drivers/net/gve/gve_rss.h @@ -104,4 +104,3 @@ rte_to_gve_rss_hf(uint64_t rte_rss_hf, struct gve_rss_config *gve_rss_conf); */ void gve_to_rte_rss_hf(uint16_t gve_rss_types, struct rte_eth_rss_conf *rss_conf); - diff --git a/drivers/net/hinic/base/hinic_pmd_mbox.c b/drivers/net/hinic/base/hinic_pmd_mbox.c index a75a6953ad3..7418c9b6029 100644 --- a/drivers/net/hinic/base/hinic_pmd_mbox.c +++ b/drivers/net/hinic/base/hinic_pmd_mbox.c @@ -982,4 +982,3 @@ int hinic_comm_func_to_func_init(struct hinic_hwdev *hwdev) return 0; } - diff --git a/drivers/net/hinic/base/hinic_pmd_niccfg.c b/drivers/net/hinic/base/hinic_pmd_niccfg.c index a08020313fb..649283ee0a0 100644 --- a/drivers/net/hinic/base/hinic_pmd_niccfg.c +++ b/drivers/net/hinic/base/hinic_pmd_niccfg.c @@ -2115,5 +2115,3 @@ int hinic_set_fdir_tcam_rule_filter(void *hwdev, bool enable) return err; } - - diff --git a/drivers/net/hinic/base/meson.build b/drivers/net/hinic/base/meson.build index 9028acdf4d0..8e197bfc86d 100644 --- a/drivers/net/hinic/base/meson.build +++ b/drivers/net/hinic/base/meson.build @@ -28,4 +28,3 @@ foreach flag: extra_flags endforeach deps += ['hash'] - diff --git a/drivers/net/intel/e1000/base/e1000_82575.c b/drivers/net/intel/e1000/base/e1000_82575.c index 34b315a5405..c263f42ca19 100644 --- a/drivers/net/intel/e1000/base/e1000_82575.c +++ b/drivers/net/intel/e1000/base/e1000_82575.c @@ -3579,4 +3579,3 @@ void e1000_i2c_bus_clear(struct e1000_hw *hw) /* Put the i2c bus back to default state */ e1000_i2c_stop(hw); } - diff --git a/drivers/net/intel/e1000/base/e1000_mbx.c b/drivers/net/intel/e1000/base/e1000_mbx.c index 3f477ddb640..b4c72f10fe7 100644 --- a/drivers/net/intel/e1000/base/e1000_mbx.c +++ b/drivers/net/intel/e1000/base/e1000_mbx.c @@ -764,4 +764,3 @@ s32 e1000_init_mbx_params_pf(struct e1000_hw *hw) return E1000_SUCCESS; } } - diff --git a/drivers/net/intel/e1000/base/e1000_vf.c b/drivers/net/intel/e1000/base/e1000_vf.c index b02459900b1..488ac3a94b1 100644 --- a/drivers/net/intel/e1000/base/e1000_vf.c +++ b/drivers/net/intel/e1000/base/e1000_vf.c @@ -561,4 +561,3 @@ STATIC s32 e1000_check_for_link_vf(struct e1000_hw *hw) out: return ret_val; } - diff --git a/drivers/net/intel/i40e/base/i40e_adminq.c b/drivers/net/intel/i40e/base/i40e_adminq.c index 350288269b4..8ccef091b19 100644 --- a/drivers/net/intel/i40e/base/i40e_adminq.c +++ b/drivers/net/intel/i40e/base/i40e_adminq.c @@ -1192,4 +1192,3 @@ enum i40e_status_code i40e_clean_arq_element(struct i40e_hw *hw, return ret_code; } - diff --git a/drivers/net/intel/ice/base/ice_flex_pipe.c b/drivers/net/intel/ice/base/ice_flex_pipe.c index dc8c92e2035..0042259d552 100644 --- a/drivers/net/intel/ice/base/ice_flex_pipe.c +++ b/drivers/net/intel/ice/base/ice_flex_pipe.c @@ -4587,4 +4587,3 @@ ice_rem_prof_id_flow(struct ice_hw *hw, enum ice_block blk, u16 vsi, u64 hdl) return status; } - diff --git a/drivers/net/intel/ice/base/ice_hw_autogen.h b/drivers/net/intel/ice/base/ice_hw_autogen.h index 5877ddb5e80..e4bc2f24d15 100644 --- a/drivers/net/intel/ice/base/ice_hw_autogen.h +++ b/drivers/net/intel/ice/base/ice_hw_autogen.h @@ -11269,4 +11269,3 @@ #define E830_VSI_VSI2F_LEM_VSI_ENABLE_S 31 #define E830_VSI_VSI2F_LEM_VSI_ENABLE_M BIT(31) #endif /* !_ICE_HW_AUTOGEN_H_ */ - diff --git a/drivers/net/intel/ice/base/meson.build b/drivers/net/intel/ice/base/meson.build index f46dbb265f9..fd079c41cf9 100644 --- a/drivers/net/intel/ice/base/meson.build +++ b/drivers/net/intel/ice/base/meson.build @@ -35,6 +35,7 @@ if is_ms_compiler error_cflags = [ '/wd4101', # unreferenced local variable '/wd4334', # result of 32-bit shift implicitly converted to 64 bits + '/wd4319', # zero extending 'unsigned long' to 'u64' of greater size ] else error_cflags = [ diff --git a/drivers/net/intel/ixgbe/base/ixgbe_dcb_82599.c b/drivers/net/intel/ixgbe/base/ixgbe_dcb_82599.c index c26aaab91d7..db04139a78e 100644 --- a/drivers/net/intel/ixgbe/base/ixgbe_dcb_82599.c +++ b/drivers/net/intel/ixgbe/base/ixgbe_dcb_82599.c @@ -578,4 +578,3 @@ s32 ixgbe_dcb_hw_config_82599(struct ixgbe_hw *hw, int link_speed, return IXGBE_SUCCESS; } - diff --git a/drivers/net/intel/ixgbe/base/ixgbe_x540.h b/drivers/net/intel/ixgbe/base/ixgbe_x540.h index ba79847d11a..5936c5e5ef0 100644 --- a/drivers/net/intel/ixgbe/base/ixgbe_x540.h +++ b/drivers/net/intel/ixgbe/base/ixgbe_x540.h @@ -35,4 +35,3 @@ void ixgbe_init_swfw_sync_X540(struct ixgbe_hw *hw); s32 ixgbe_blink_led_start_X540(struct ixgbe_hw *hw, u32 index); s32 ixgbe_blink_led_stop_X540(struct ixgbe_hw *hw, u32 index); #endif /* _IXGBE_X540_H_ */ - diff --git a/drivers/net/mlx5/hws/mlx5dr_buddy.c b/drivers/net/mlx5/hws/mlx5dr_buddy.c index abfbdf1be53..35f4d890550 100644 --- a/drivers/net/mlx5/hws/mlx5dr_buddy.c +++ b/drivers/net/mlx5/hws/mlx5dr_buddy.c @@ -198,4 +198,3 @@ void mlx5dr_buddy_free_mem(struct mlx5dr_buddy_mem *buddy, uint32_t seg, int ord ++buddy->num_free[order]; } - diff --git a/drivers/net/nfp/nfp_ipsec.c b/drivers/net/nfp/nfp_ipsec.c index 776e2ec12c4..617b120ba54 100644 --- a/drivers/net/nfp/nfp_ipsec.c +++ b/drivers/net/nfp/nfp_ipsec.c @@ -1464,4 +1464,3 @@ nfp_ipsec_uninit(struct rte_eth_dev *dev) rte_free(net_hw->ipsec_data); } - diff --git a/drivers/net/nfp/nfpcore/nfp_elf.c b/drivers/net/nfp/nfpcore/nfp_elf.c index 12a9da0fa04..522b025f924 100644 --- a/drivers/net/nfp/nfpcore/nfp_elf.c +++ b/drivers/net/nfp/nfpcore/nfp_elf.c @@ -1083,4 +1083,3 @@ nfp_elf_get_fw_version(uint32_t *fw_version, free(fw_buf); return 0; } - diff --git a/drivers/net/ngbe/base/ngbe_dummy.h b/drivers/net/ngbe/base/ngbe_dummy.h index dd6c2fab962..bb69c9c3afd 100644 --- a/drivers/net/ngbe/base/ngbe_dummy.h +++ b/drivers/net/ngbe/base/ngbe_dummy.h @@ -351,4 +351,3 @@ static inline void ngbe_init_ops_dummy(struct ngbe_hw *hw) } #endif /* _NGBE_TYPE_DUMMY_H_ */ - diff --git a/drivers/net/ngbe/base/ngbe_phy.c b/drivers/net/ngbe/base/ngbe_phy.c index 4109aa25aea..edb68ce8b76 100644 --- a/drivers/net/ngbe/base/ngbe_phy.c +++ b/drivers/net/ngbe/base/ngbe_phy.c @@ -438,4 +438,3 @@ s32 ngbe_init_phy(struct ngbe_hw *hw) init_phy_ops_out: return err; } - diff --git a/drivers/net/octeontx/base/octeontx_bgx.h b/drivers/net/octeontx/base/octeontx_bgx.h index 3213d04e99b..6290b8e90af 100644 --- a/drivers/net/octeontx/base/octeontx_bgx.h +++ b/drivers/net/octeontx/base/octeontx_bgx.h @@ -181,4 +181,3 @@ int octeontx_bgx_port_change_mode(int port, octeontx_mbox_bgx_port_change_mode_t *cfg); #endif /* __OCTEONTX_BGX_H__ */ - diff --git a/drivers/net/txgbe/base/txgbe_dcb.c b/drivers/net/txgbe/base/txgbe_dcb.c index cb6fb761469..57d562d9551 100644 --- a/drivers/net/txgbe/base/txgbe_dcb.c +++ b/drivers/net/txgbe/base/txgbe_dcb.c @@ -358,4 +358,3 @@ s32 txgbe_dcb_config_pfc(struct txgbe_hw *hw, u8 pfc_en, u8 *map) ret = txgbe_dcb_config_pfc_raptor(hw, pfc_en, map); return ret; } - diff --git a/drivers/net/txgbe/base/txgbe_dcb_hw.c b/drivers/net/txgbe/base/txgbe_dcb_hw.c index 25273d23912..75c91a6b6ad 100644 --- a/drivers/net/txgbe/base/txgbe_dcb_hw.c +++ b/drivers/net/txgbe/base/txgbe_dcb_hw.c @@ -280,4 +280,3 @@ s32 txgbe_dcb_config_tc_stats_raptor(struct txgbe_hw *hw, return 0; } - diff --git a/drivers/net/txgbe/base/txgbe_dummy.h b/drivers/net/txgbe/base/txgbe_dummy.h index dcabe66de1b..104c419f08f 100644 --- a/drivers/net/txgbe/base/txgbe_dummy.h +++ b/drivers/net/txgbe/base/txgbe_dummy.h @@ -660,4 +660,3 @@ static inline void txgbe_init_ops_dummy(struct txgbe_hw *hw) } #endif /* _TXGBE_TYPE_DUMMY_H_ */ - diff --git a/drivers/net/txgbe/base/txgbe_eeprom.c b/drivers/net/txgbe/base/txgbe_eeprom.c index b1d90f6f6b4..fa6f14520b8 100644 --- a/drivers/net/txgbe/base/txgbe_eeprom.c +++ b/drivers/net/txgbe/base/txgbe_eeprom.c @@ -461,4 +461,3 @@ s32 txgbe_update_eeprom_checksum(struct txgbe_hw *hw) return status; } - diff --git a/drivers/net/virtio/virtio_cvq.c b/drivers/net/virtio/virtio_cvq.c index 657b0692b2a..dc7ec8c494e 100644 --- a/drivers/net/virtio/virtio_cvq.c +++ b/drivers/net/virtio/virtio_cvq.c @@ -221,4 +221,3 @@ virtio_send_command(struct virtnet_ctl *cvq, struct virtio_pmd_ctrl *ctrl, int * rte_spinlock_unlock(&cvq->lock); return result->status; } - diff --git a/drivers/raw/cnxk_rvu_lf/cnxk_rvu_lf_selftest.c b/drivers/raw/cnxk_rvu_lf/cnxk_rvu_lf_selftest.c index e33973f24b2..237c2864ee1 100644 --- a/drivers/raw/cnxk_rvu_lf/cnxk_rvu_lf_selftest.c +++ b/drivers/raw/cnxk_rvu_lf/cnxk_rvu_lf_selftest.c @@ -162,5 +162,3 @@ rvu_lf_rawdev_selftest(uint16_t dev_id) return ret; } - - diff --git a/drivers/vdpa/mlx5/mlx5_vdpa_event.c b/drivers/vdpa/mlx5/mlx5_vdpa_event.c index 32430614d52..43585a94b22 100644 --- a/drivers/vdpa/mlx5/mlx5_vdpa_event.c +++ b/drivers/vdpa/mlx5/mlx5_vdpa_event.c @@ -686,4 +686,3 @@ mlx5_vdpa_event_qp_prepare(struct mlx5_vdpa_priv *priv, uint16_t desc_n, mlx5_vdpa_event_qp_destroy(eqp); return -1; } - diff --git a/dts/configurations/tests_config.example.yaml b/dts/configurations/tests_config.example.yaml index fede1fda808..64fa630aa0b 100644 --- a/dts/configurations/tests_config.example.yaml +++ b/dts/configurations/tests_config.example.yaml @@ -14,4 +14,4 @@ hello_world: # - frame_size: 512 # num_descriptors: 1024 # expected_mpps: 1.0 -# delta_tolerance: 0.05 \ No newline at end of file +# delta_tolerance: 0.05 diff --git a/lib/eal/common/eal_common_options.c b/lib/eal/common/eal_common_options.c index b1fb670ea00..a4afbb80a22 100644 --- a/lib/eal/common/eal_common_options.c +++ b/lib/eal/common/eal_common_options.c @@ -263,6 +263,7 @@ struct shared_driver { char name[PATH_MAX]; void* lib_handle; + bool from_cmdline; /**< true if from -d flag, false if driver found in a directory */ }; /* List of external loadable drivers */ @@ -533,7 +534,7 @@ eal_reset_internal_config(struct internal_config *internal_cfg) } static int -eal_plugin_add(const char *path) +eal_plugin_add(const char *path, bool from_cmdline) { struct shared_driver *solib; @@ -544,6 +545,7 @@ eal_plugin_add(const char *path) } memset(solib, 0, sizeof(*solib)); strlcpy(solib->name, path, PATH_MAX); + solib->from_cmdline = from_cmdline; TAILQ_INSERT_TAIL(&solib_list, solib, next); return 0; @@ -595,7 +597,7 @@ eal_plugindir_init(const char *path) if (!(stat(sopath, &sb) == 0 && S_ISREG(sb.st_mode))) continue; - if (eal_plugin_add(sopath) == -1) + if (eal_plugin_add(sopath, false) == -1) break; } @@ -727,7 +729,7 @@ eal_plugins_init(void) *default_solib_dir != '\0' && stat(default_solib_dir, &sb) == 0 && S_ISDIR(sb.st_mode)) - eal_plugin_add(default_solib_dir); + eal_plugin_add(default_solib_dir, false); TAILQ_FOREACH(solib, &solib_list, next) { @@ -751,6 +753,50 @@ eal_plugins_init(void) } #endif +RTE_EXPORT_SYMBOL(rte_eal_driver_path_next) +const char * +rte_eal_driver_path_next(const char *start, bool cmdline_only) +{ + struct shared_driver *solib; + + if (start == NULL) { + solib = TAILQ_FIRST(&solib_list); + } else { + /* Find the current entry based on the name string */ + TAILQ_FOREACH(solib, &solib_list, next) { + if (start == solib->name) { + solib = TAILQ_NEXT(solib, next); + break; + } + } + if (solib == NULL) + return NULL; + } + + /* Skip entries that were expanded from directories if cmdline_only is true */ + if (cmdline_only) { + while (solib != NULL && !solib->from_cmdline) + solib = TAILQ_NEXT(solib, next); + } + + return solib ? solib->name : NULL; +} + +RTE_EXPORT_SYMBOL(rte_eal_driver_path_count) +unsigned int +rte_eal_driver_path_count(bool cmdline_only) +{ + struct shared_driver *solib; + unsigned int count = 0; + + TAILQ_FOREACH(solib, &solib_list, next) { + if (!cmdline_only || solib->from_cmdline) + count++; + } + + return count; +} + /* * Parse the coremask given as argument (hexadecimal string) and fill * the global configuration (core role and core count) with the parsed @@ -1929,7 +1975,7 @@ eal_parse_args(void) return -1; /* driver loading options */ TAILQ_FOREACH(arg, &args.driver_path, next) - if (eal_plugin_add(arg->arg) < 0) + if (eal_plugin_add(arg->arg, true) < 0) return -1; if (remap_lcores && args.remap_lcore_ids != (void *)1) { diff --git a/lib/eal/include/rte_eal.h b/lib/eal/include/rte_eal.h index 619b8fbade6..cd0b77c13f7 100644 --- a/lib/eal/include/rte_eal.h +++ b/lib/eal/include/rte_eal.h @@ -491,6 +491,58 @@ rte_eal_mbuf_user_pool_ops(void); const char * rte_eal_get_runtime_dir(void); +/** + * @internal + * Iterate to the next driver path. + * + * This function iterates through the list of dynamically loaded drivers, + * or driver paths that were specified via -d or --driver-path command-line + * options during EAL initialization. + * + * @param start + * Starting iteration point. The iteration will start at the first driver path if NULL. + * @param cmdline_only + * If true, only iterate paths from command line (-d flags). + * If false, iterate all paths including those expanded from directories. + * + * @return + * Next driver path string, NULL if there is none. + */ +const char * +rte_eal_driver_path_next(const char *start, bool cmdline_only); + +/** + * @internal + * Iterate over all driver paths. + * + * This macro provides a convenient way to iterate through all driver paths + * that were loaded via -d flags during EAL initialization. + * + * @param path + * Iterator variable of type const char * + * @param cmdline_only + * If true, only iterate paths from command line (-d flags). + * If false, iterate all paths including those expanded from directories. + */ +#define RTE_EAL_DRIVER_PATH_FOREACH(path, cmdline_only) \ + for (path = rte_eal_driver_path_next(NULL, cmdline_only); \ + path != NULL; \ + path = rte_eal_driver_path_next(path, cmdline_only)) + +/** + * @internal + * Get count of driver paths. + * + * @param cmdline_only + * If true, only count paths from command line (-d flags). + * If false, count all paths including those expanded from directories. + * + * @return + * Number of driver paths. + */ +unsigned int +rte_eal_driver_path_count(bool cmdline_only); + #ifdef __cplusplus } #endif diff --git a/lib/rcu/rte_rcu_qsbr.h b/lib/rcu/rte_rcu_qsbr.h index 550fadf56ac..d89a43c186a 100644 --- a/lib/rcu/rte_rcu_qsbr.h +++ b/lib/rcu/rte_rcu_qsbr.h @@ -563,7 +563,7 @@ __rte_rcu_qsbr_check_selective(struct rte_rcu_qsbr *v, uint64_t t, bool wait) if (c != __RTE_QSBR_CNT_THR_OFFLINE && acked_token > c) acked_token = c; - bmap &= ~(1UL << j); + bmap &= ~RTE_BIT64(j); } } diff --git a/lib/sched/rte_red.h b/lib/sched/rte_red.h index e62abb92955..3b90cc46a9d 100644 --- a/lib/sched/rte_red.h +++ b/lib/sched/rte_red.h @@ -172,8 +172,15 @@ __rte_red_calc_qempty_factor(uint8_t wq_log2, uint16_t m) f = (n >> 6) & 0xf; n >>= 10; - if (n < RTE_RED_SCALING) + if (n < RTE_RED_SCALING) { + /* When n == 0, no rounding or shifting needed. + * For n > 0, add 2^(n-1) for rounding before right shift. + * This avoids UB from (1 << -1) when n == 0. + */ + if (n == 0) + return (uint16_t) rte_red_pow2_frac_inv[f]; return (uint16_t) ((rte_red_pow2_frac_inv[f] + (1 << (n - 1))) >> n); + } return 0; } diff --git a/license/Linux-syscall-note b/license/Linux-syscall-note index 9abdad71faf..adbe756a050 100644 --- a/license/Linux-syscall-note +++ b/license/Linux-syscall-note @@ -22,4 +22,3 @@ License-Text: v2.2 or v3.x or whatever), unless explicitly otherwise stated. Linus Torvalds -