From: Bogdan Pricope <bogdan.pric...@linaro.org> Signed-off-by: Bogdan Pricope <bogdan.pric...@linaro.org> --- /** Email created from pull request 679 (bogdanPricope:api_next_pktin_queue_validation_pr) ** https://github.com/Linaro/odp/pull/679 ** Patch: https://github.com/Linaro/odp/pull/679.patch ** Base sha: d42ef2c5a01d29a9877e0b487694f66e40c43624 ** Merge commit sha: 2de86f4656e3c680bef6a36446cd23ba9258de80 **/ test/validation/api/pktio/pktio.c | 37 +++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+)
diff --git a/test/validation/api/pktio/pktio.c b/test/validation/api/pktio/pktio.c index 09367d4ea..04232f84f 100644 --- a/test/validation/api/pktio/pktio.c +++ b/test/validation/api/pktio/pktio.c @@ -1391,6 +1391,42 @@ static void pktio_test_pktin_queue_config_sched(void) CU_ASSERT_FATAL(odp_pktio_close(pktio) == 0); } +static void pktio_test_pktin_queue_config_multi_sched(void) +{ + odp_pktio_t pktio; + odp_pktio_capability_t capa; + odp_pktin_queue_param_t queue_param; + odp_queue_t in_queues[MAX_QUEUES]; + odp_pktin_queue_param_ovr_t queue_param_ovr[MAX_QUEUES]; + int num_queues, i; + + pktio = create_pktio(0, ODP_PKTIN_MODE_SCHED, ODP_PKTOUT_MODE_DIRECT); + CU_ASSERT_FATAL(pktio != ODP_PKTIO_INVALID); + + CU_ASSERT_FATAL(odp_pktio_capability(pktio, &capa) == 0 && + capa.max_input_queues > 0); + num_queues = (capa.max_input_queues < MAX_QUEUES) ? + capa.max_input_queues : MAX_QUEUES; + + odp_pktin_queue_param_init(&queue_param); + + queue_param.hash_enable = 0; + queue_param.num_queues = num_queues; + queue_param.queue_param.sched.group = ODP_SCHED_GROUP_ALL; + queue_param.queue_param.sched.sync = ODP_SCHED_SYNC_ATOMIC; + + for (i = 0; i < num_queues; i++) + queue_param_ovr[i].group = ODP_SCHED_GROUP_ALL; + queue_param.queue_param_ovr = queue_param_ovr; + + CU_ASSERT_FATAL(odp_pktin_queue_config(pktio, &queue_param) == 0); + + CU_ASSERT(odp_pktin_event_queue(pktio, in_queues, MAX_QUEUES) + == num_queues); + + CU_ASSERT_FATAL(odp_pktio_close(pktio) == 0); +} + static void pktio_test_pktin_queue_config_queue(void) { odp_pktio_t pktio; @@ -2446,6 +2482,7 @@ odp_testinfo_t pktio_suite_unsegmented[] = { ODP_TEST_INFO(pktio_test_info), ODP_TEST_INFO(pktio_test_pktin_queue_config_direct), ODP_TEST_INFO(pktio_test_pktin_queue_config_sched), + ODP_TEST_INFO(pktio_test_pktin_queue_config_multi_sched), ODP_TEST_INFO(pktio_test_pktin_queue_config_queue), ODP_TEST_INFO(pktio_test_pktout_queue_config), ODP_TEST_INFO(pktio_test_plain_queue),