Yes. This issue was pointed out by Stuart as well. I will add detailed test case to test pool allocation with Cos.
Regards, Bala On 30 November 2015 at 14:49, Ivan Khoronzhuk <[email protected]> wrote: > Hi, Bala > > I didn't look deep enough in this validation test but seems it doesn't check > pool assignments for CoS. To check if pool is correctly assigned to some CoS > the > separate pool should be created instead of using default. The default pool > from pktio is > used by CoS in case if special pool was not specified. And it should be > validated with separate > function, check if default pool is assigned in usual way and then check if > it was replaced if > new one is specified. In another case test will pass any way, weather pool > assignment used or not. > > > On 23.11.15 12:12, Balasubramanian Manoharan wrote: >> >> Assigns a packet pool to CoS using odp_cls_cos_pool_set() api. >> >> Signed-off-by: Balasubramanian Manoharan <[email protected]> >> --- >> .../classification/odp_classification_test_pmr.c | 15 ++++++++++++++ >> .../classification/odp_classification_tests.c | 24 >> ++++++++++++++++++++++ >> 2 files changed, 39 insertions(+) >> >> diff --git a/test/validation/classification/odp_classification_test_pmr.c >> b/test/validation/classification/odp_classification_test_pmr.c >> index 3f49d4c..5f51a03 100644 >> --- a/test/validation/classification/odp_classification_test_pmr.c >> +++ b/test/validation/classification/odp_classification_test_pmr.c >> @@ -153,6 +153,9 @@ static void >> classification_test_pmr_term_tcp_dport(void) >> queue = queue_create(queuename, true); >> CU_ASSERT(queue != ODP_QUEUE_INVALID); >> >> + retval = odp_cls_cos_pool_set(cos, pool_default); >> + CU_ASSERT(retval == 0); >> + >> retval = odp_cos_queue_set(cos, queue); >> CU_ASSERT(retval == 0); >> >> @@ -240,6 +243,9 @@ static void >> classification_test_pmr_term_tcp_sport(void) >> queue = queue_create(queuename, true); >> CU_ASSERT_FATAL(queue != ODP_QUEUE_INVALID); >> >> + retval = odp_cls_cos_pool_set(cos, pool_default); >> + CU_ASSERT(retval == 0); >> + >> retval = odp_cos_queue_set(cos, queue); >> CU_ASSERT(retval == 0); >> >> @@ -328,6 +334,9 @@ static void >> classification_test_pmr_term_udp_dport(void) >> retval = odp_cos_queue_set(cos, queue); >> CU_ASSERT(retval == 0); >> >> + retval = odp_cls_cos_pool_set(cos, pool_default); >> + CU_ASSERT(retval == 0); >> + >> retval = odp_pktio_pmr_cos(pmr, pktio, cos); >> CU_ASSERT(retval == 0); >> >> @@ -414,6 +423,9 @@ static void >> classification_test_pmr_term_udp_sport(void) >> retval = odp_cos_queue_set(cos, queue); >> CU_ASSERT(retval == 0); >> >> + retval = odp_cls_cos_pool_set(cos, pool_default); >> + CU_ASSERT(retval == 0); >> + >> retval = odp_pktio_pmr_cos(pmr, pktio, cos); >> CU_ASSERT(retval == 0); >> >> @@ -498,6 +510,9 @@ static void classification_test_pmr_term_ipproto(void) >> retval = odp_cos_queue_set(cos, queue); >> CU_ASSERT(retval == 0); >> >> + retval = odp_cls_cos_pool_set(cos, pool_default); >> + CU_ASSERT(retval == 0); >> + >> retval = odp_pktio_pmr_cos(pmr, pktio, cos); >> CU_ASSERT(retval == 0); >> >> diff --git a/test/validation/classification/odp_classification_tests.c >> b/test/validation/classification/odp_classification_tests.c >> index 3944d94..bec7053 100644 >> --- a/test/validation/classification/odp_classification_tests.c >> +++ b/test/validation/classification/odp_classification_tests.c >> @@ -154,6 +154,10 @@ void configure_cls_pmr_chain(void) >> queue_list[CLS_PMR_CHAIN_SRC]); >> CU_ASSERT(retval == 0); >> >> + retval = odp_cls_cos_pool_set(cos_list[CLS_PMR_CHAIN_SRC], >> + pool_default); >> + CU_ASSERT(retval == 0); >> + >> sprintf(cosname, "DstCos"); >> cos_list[CLS_PMR_CHAIN_DST] = odp_cos_create(cosname); >> CU_ASSERT_FATAL(cos_list[CLS_PMR_CHAIN_DST] != ODP_COS_INVALID); >> @@ -173,6 +177,10 @@ void configure_cls_pmr_chain(void) >> queue_list[CLS_PMR_CHAIN_DST]); >> CU_ASSERT(retval == 0); >> >> + retval = odp_cls_cos_pool_set(cos_list[CLS_PMR_CHAIN_DST], >> + pool_default); >> + CU_ASSERT(retval == 0); >> + >> parse_ipv4_string(CLS_PMR_CHAIN_SADDR, &addr, &mask); >> match.term = ODP_PMR_SIP_ADDR; >> match.val = &addr; >> @@ -273,6 +281,9 @@ void configure_pktio_default_cos(void) >> queue_list[CLS_DEFAULT]); >> CU_ASSERT(retval == 0); >> >> + retval = odp_cls_cos_pool_set(cos_list[CLS_DEFAULT], >> pool_default); >> + CU_ASSERT(retval == 0); >> + >> retval = odp_pktio_default_cos_set(pktio_loop, >> cos_list[CLS_DEFAULT]); >> CU_ASSERT(retval == 0); >> } >> @@ -323,6 +334,9 @@ void configure_pktio_error_cos(void) >> retval = odp_cos_queue_set(cos_list[CLS_ERROR], >> queue_list[CLS_ERROR]); >> CU_ASSERT(retval == 0); >> >> + retval = odp_cls_cos_pool_set(cos_list[CLS_ERROR], pool_default); >> + CU_ASSERT(retval == 0); >> + >> retval = odp_pktio_error_cos_set(pktio_loop, cos_list[CLS_ERROR]); >> CU_ASSERT(retval == 0); >> } >> @@ -411,6 +425,10 @@ void configure_cos_with_l2_priority(void) >> queue_list[CLS_L2_QOS_0 + i] = queue_tbl[i]; >> retval = odp_cos_queue_set(cos_tbl[i], queue_tbl[i]); >> CU_ASSERT(retval == 0); >> + >> + retval = odp_cls_cos_pool_set(cos_tbl[i], pool_default); >> + CU_ASSERT(retval == 0); >> + >> qos_tbl[i] = i; >> } >> /* count 'i' is passed instead of num_qos to handle the rare >> scenario >> @@ -483,6 +501,9 @@ void configure_pmr_cos(void) >> queue_list[CLS_PMR]); >> CU_ASSERT(retval == 0); >> >> + retval = odp_cls_cos_pool_set(cos_list[CLS_PMR], pool_default); >> + CU_ASSERT(retval == 0); >> + >> retval = odp_pktio_pmr_cos(pmr_list[CLS_PMR], pktio_loop, >> cos_list[CLS_PMR]); >> CU_ASSERT(retval == 0); >> @@ -557,6 +578,9 @@ void configure_pktio_pmr_match_set_cos(void) >> queue_list[CLS_PMR_SET]); >> CU_ASSERT(retval == 0); >> >> + retval = odp_cls_cos_pool_set(cos_list[CLS_PMR_SET], >> pool_default); >> + CU_ASSERT(retval == 0); >> + >> retval = odp_pktio_pmr_match_set_cos(pmr_set, pktio_loop, >> cos_list[CLS_PMR_SET]); >> CU_ASSERT(retval == 0); >> > > -- > Regards, > Ivan Khoronzhuk _______________________________________________ lng-odp mailing list [email protected] https://lists.linaro.org/mailman/listinfo/lng-odp
