This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "".
The branch, master has been updated via eca5df13cf7987d6e3cd3cc930851671b071e4b3 (commit) from c8dc27d1fb5c890143338439f1cdbe3b2719174c (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit eca5df13cf7987d6e3cd3cc930851671b071e4b3 Author: Balasubramanian Manoharan bala.manoharan@linaro.org Date: Mon Mar 12 18:41:50 2018 +0530
validation: cls: add cls capability check
check for max_cos supported in odp_cls_capability_t before creating odp_cos_t
Signed-off-by: Balasubramanian Manoharan bala.manoharan@linaro.org Reviewed-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/test/validation/api/classification/odp_classification_tests.c b/test/validation/api/classification/odp_classification_tests.c index 7e157970..42d0c412 100644 --- a/test/validation/api/classification/odp_classification_tests.c +++ b/test/validation/api/classification/odp_classification_tests.c @@ -17,7 +17,14 @@ static odp_pool_t pool_list[CLS_ENTRIES];
static odp_pool_t pool_default; static odp_pktio_t pktio_loop; - +static odp_cls_testcase_u tc; + +#define NUM_COS_PMR_CHAIN 2 +#define NUM_COS_DEFAULT 1 +#define NUM_COS_ERROR 1 +#define NUM_COS_L2_PRIO CLS_L2_QOS_MAX +#define NUM_COS_PMR 1 +#define NUM_COS_COMPOSITE 1 /** sequence number of IP packets */ odp_atomic_u32_t seq;
@@ -30,6 +37,7 @@ int classification_suite_init(void) int ret; odp_pktio_param_t pktio_param; odp_pktin_queue_param_t pktin_param; + tc.all_bits = 0;
pool_default = pool_create("classification_pool"); if (ODP_POOL_INVALID == pool_default) { @@ -683,35 +691,60 @@ void test_pktio_pmr_composite_cos(void)
static void classification_test_pktio_configure(void) { + odp_cls_capability_t capa; + int num_cos; + + odp_cls_capability(&capa); + num_cos = capa.max_cos; + /* Configure the Different CoS for the pktio interface */ - if (TEST_DEFAULT) + if (num_cos >= NUM_COS_DEFAULT && TEST_DEFAULT) { configure_pktio_default_cos(); - if (TEST_ERROR) + tc.default_cos = 1; + num_cos -= NUM_COS_DEFAULT; + } + if (num_cos >= NUM_COS_ERROR && TEST_ERROR) { configure_pktio_error_cos(); - if (TEST_PMR_CHAIN) + tc.error_cos = 1; + num_cos -= NUM_COS_ERROR; + } + if (num_cos >= NUM_COS_PMR_CHAIN && TEST_PMR_CHAIN) { configure_cls_pmr_chain(); - if (TEST_L2_QOS) + tc.pmr_chain = 1; + num_cos -= NUM_COS_PMR_CHAIN; + } + if (num_cos >= NUM_COS_L2_PRIO && TEST_L2_QOS) { configure_cos_with_l2_priority(); - if (TEST_PMR) + tc.l2_priority = 1; + num_cos -= NUM_COS_L2_PRIO; + } + if (num_cos >= NUM_COS_PMR && TEST_PMR) { configure_pmr_cos(); - if (TEST_PMR_SET) + tc.pmr_cos = 1; + num_cos -= NUM_COS_PMR; + } + if (num_cos >= NUM_COS_COMPOSITE && TEST_PMR_SET) { configure_pktio_pmr_composite(); + tc.pmr_composite_cos = 1; + num_cos -= NUM_COS_COMPOSITE; + } + }
static void classification_test_pktio_test(void) { /* Test Different CoS on the pktio interface */ - if (TEST_DEFAULT) + if (tc.default_cos && TEST_DEFAULT) test_pktio_default_cos(); - if (TEST_ERROR) + if (tc.error_cos && TEST_ERROR) test_pktio_error_cos(); - if (TEST_PMR_CHAIN) + if (tc.pmr_chain && TEST_PMR_CHAIN) test_cls_pmr_chain(); - if (TEST_L2_QOS) + if (tc.l2_priority && TEST_L2_QOS) test_cos_with_l2_priority(); - if (TEST_PMR) + if (tc.pmr_cos && TEST_PMR) test_pmr_cos(); - if (TEST_PMR_SET) + if (tc.pmr_composite_cos && TEST_PMR_SET) test_pktio_pmr_composite_cos(); }
diff --git a/test/validation/api/classification/odp_classification_testsuites.h b/test/validation/api/classification/odp_classification_testsuites.h index 20f6b82d..2c615367 100644 --- a/test/validation/api/classification/odp_classification_testsuites.h +++ b/test/validation/api/classification/odp_classification_testsuites.h @@ -22,6 +22,18 @@ typedef struct cls_packet_info { uint32_t len; } cls_packet_info_t;
+typedef union odp_cls_testcase { + struct { + uint32_t default_cos:1; + uint32_t error_cos:1; + uint32_t pmr_chain:1; + uint32_t l2_priority:1; + uint32_t pmr_cos:1; + uint32_t pmr_composite_cos:1; + }; + uint32_t all_bits; +} odp_cls_testcase_u; + extern odp_testinfo_t classification_suite[]; extern odp_testinfo_t classification_suite_basic[]; extern odp_testinfo_t classification_suite_pmr[];
-----------------------------------------------------------------------
Summary of changes: .../api/classification/odp_classification_tests.c | 59 +++++++++++++++++----- .../classification/odp_classification_testsuites.h | 12 +++++ 2 files changed, 58 insertions(+), 13 deletions(-)
hooks/post-receive