Replaces odp_cos_create() function with odp_cls_cos_create() function

Signed-off-by: Balasubramanian Manoharan <bala.manoha...@linaro.org>
---
 example/classifier/odp_classifier.c | 42 +++++++++++++++++++++----------------
 1 file changed, 24 insertions(+), 18 deletions(-)

diff --git a/example/classifier/odp_classifier.c 
b/example/classifier/odp_classifier.c
index 2ecf733..481f763 100644
--- a/example/classifier/odp_classifier.c
+++ b/example/classifier/odp_classifier.c
@@ -357,16 +357,16 @@ static void *pktio_receive_thread(void *arg)
 static void configure_default_cos(odp_pktio_t pktio, appl_args_t *args)
 {
        odp_queue_param_t qparam;
-       odp_cos_t cos_default;
        const char *queue_name = "DefaultQueue";
        const char *pool_name = "DefaultPool";
        const char *cos_name = "DefaultCos";
        odp_queue_t queue_default;
        odp_pool_t pool_default;
+       odp_cos_t cos_default;
        odp_pool_param_t pool_params;
+       odp_cls_cos_param_t cls_param;
        global_statistics *stats = args->stats;
 
-       cos_default = odp_cos_create(cos_name);
 
        odp_queue_param_init(&qparam);
        qparam.sched.prio = ODP_SCHED_PRIO_DEFAULT;
@@ -374,9 +374,8 @@ static void configure_default_cos(odp_pktio_t pktio, 
appl_args_t *args)
        qparam.sched.group = ODP_SCHED_GROUP_ALL;
        queue_default = odp_queue_create(queue_name,
                                         ODP_QUEUE_TYPE_SCHED, &qparam);
-
-       if (0 > odp_cos_queue_set(cos_default, queue_default)) {
-               EXAMPLE_ERR("odp_cos_queue_set failed");
+       if (queue_default == ODP_QUEUE_INVALID) {
+               EXAMPLE_ERR("Error: default queue create failed.\n");
                exit(EXIT_FAILURE);
        }
 
@@ -385,7 +384,6 @@ static void configure_default_cos(odp_pktio_t pktio, 
appl_args_t *args)
        pool_params.pkt.len     = SHM_PKT_POOL_BUF_SIZE;
        pool_params.pkt.num     = SHM_PKT_POOL_SIZE / SHM_PKT_POOL_BUF_SIZE;
        pool_params.type        = ODP_POOL_PACKET;
-
        pool_default = odp_pool_create(pool_name, &pool_params);
 
        if (pool_default == ODP_POOL_INVALID) {
@@ -393,8 +391,14 @@ static void configure_default_cos(odp_pktio_t pktio, 
appl_args_t *args)
                exit(EXIT_FAILURE);
        }
 
-       if (0 > odp_cls_cos_pool_set(cos_default, pool_default)) {
-               EXAMPLE_ERR("odp_cls_cos_pool_set failed");
+       odp_cls_cos_param_init(&cls_param);
+       cls_param.pool = pool_default;
+       cls_param.queue = queue_default;
+       cls_param.drop_policy = ODP_COS_DROP_POOL;
+       cos_default = odp_cls_cos_create(cos_name, &cls_param);
+
+       if (cos_default == ODP_COS_INVALID) {
+               EXAMPLE_ERR("Error: default cos create failed.\n");
                exit(EXIT_FAILURE);
        }
 
@@ -420,15 +424,13 @@ static void configure_cos(odp_pktio_t pktio, appl_args_t 
*args)
        char queue_name[ODP_QUEUE_NAME_LEN];
        char pool_name[ODP_POOL_NAME_LEN];
        odp_pool_param_t pool_params;
+       odp_cls_cos_param_t cls_param;
        int i;
        global_statistics *stats;
        odp_queue_param_t qparam;
 
        for (i = 0; i < args->policy_count; i++) {
                stats = &args->stats[i];
-               snprintf(cos_name, sizeof(cos_name), "CoS%s",
-                        stats->cos_name);
-               stats->cos = odp_cos_create(cos_name);
 
                const odp_pmr_match_t match = {
                        .term = stats->rule.term,
@@ -454,11 +456,6 @@ static void configure_cos(odp_pktio_t pktio, appl_args_t 
*args)
                        exit(EXIT_FAILURE);
                }
 
-               if (0 > odp_cos_queue_set(stats->cos, stats->queue)) {
-                       EXAMPLE_ERR("odp_cos_queue_set failed");
-                       exit(EXIT_FAILURE);
-               }
-
                odp_pool_param_init(&pool_params);
                pool_params.pkt.seg_len = SHM_PKT_POOL_BUF_SIZE;
                pool_params.pkt.len     = SHM_PKT_POOL_BUF_SIZE;
@@ -470,11 +467,19 @@ static void configure_cos(odp_pktio_t pktio, appl_args_t 
*args)
                         args->stats[i].cos_name, i);
                stats->pool = odp_pool_create(pool_name, &pool_params);
 
-               if (0 > odp_cls_cos_pool_set(stats->cos, stats->pool)) {
-                       EXAMPLE_ERR("odp_cls_cos_pool_set failed");
+               if (stats->pool == ODP_POOL_INVALID) {
+                       EXAMPLE_ERR("Error: default pool create failed.\n");
                        exit(EXIT_FAILURE);
                }
 
+               snprintf(cos_name, sizeof(cos_name), "CoS%s",
+                        stats->cos_name);
+               odp_cls_cos_param_init(&cls_param);
+               cls_param.pool = stats->pool;
+               cls_param.queue = stats->queue;
+               cls_param.drop_policy = ODP_COS_DROP_POOL;
+               stats->cos = odp_cls_cos_create(cos_name, &cls_param);
+
                if (0 > odp_pktio_pmr_cos(stats->pmr, pktio, stats->cos)) {
                        EXAMPLE_ERR("odp_pktio_pmr_cos failed");
                        exit(EXIT_FAILURE);
@@ -602,6 +607,7 @@ int main(int argc, char *argv[])
 
        for (i = 0; i < args->policy_count; i++) {
                odp_cos_destroy(args->stats[i].cos);
+               odp_pool_destroy(args->stats[i].pool);
                odp_queue_destroy(args->stats[i].queue);
                odp_pool_destroy(args->stats[i].pool);
        }
-- 
1.9.1

_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to