lpm: hide defer queue handle
authorRuifeng Wang <ruifeng.wang@arm.com>
Sat, 11 Jul 2020 07:41:31 +0000 (15:41 +0800)
committerDavid Marchand <david.marchand@redhat.com>
Sat, 11 Jul 2020 12:35:04 +0000 (14:35 +0200)
There is no need to return the defer queue handle in rte_lpm_rcu_qsbr_add,
since enough flexibility has been provided to configure the defer queue.

Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
app/test/test_lpm.c
app/test/test_lpm_perf.c
lib/librte_lpm/rte_lpm.c
lib/librte_lpm/rte_lpm.h

index 8330501..258b2f6 100644 (file)
@@ -1308,12 +1308,12 @@ test19(void)
        rcu_cfg.v = qsv;
        /* Invalid QSBR mode */
        rcu_cfg.mode = 2;
-       status = rte_lpm_rcu_qsbr_add(lpm, &rcu_cfg, NULL);
+       status = rte_lpm_rcu_qsbr_add(lpm, &rcu_cfg);
        TEST_LPM_ASSERT(status != 0);
 
        rcu_cfg.mode = RTE_LPM_QSBR_MODE_DQ;
        /* Attach RCU QSBR to LPM table */
-       status = rte_lpm_rcu_qsbr_add(lpm, &rcu_cfg, NULL);
+       status = rte_lpm_rcu_qsbr_add(lpm, &rcu_cfg);
        TEST_LPM_ASSERT(status == 0);
 
        /* Create and attach another RCU QSBR to LPM table */
@@ -1323,7 +1323,7 @@ test19(void)
 
        rcu_cfg.v = qsv2;
        rcu_cfg.mode = RTE_LPM_QSBR_MODE_SYNC;
-       status = rte_lpm_rcu_qsbr_add(lpm, &rcu_cfg, NULL);
+       status = rte_lpm_rcu_qsbr_add(lpm, &rcu_cfg);
        TEST_LPM_ASSERT(status != 0);
 
        rte_lpm_free(lpm);
@@ -1379,7 +1379,7 @@ test20(void)
        rcu_cfg.v = qsv;
        rcu_cfg.mode = RTE_LPM_QSBR_MODE_DQ;
        /* Attach RCU QSBR to LPM table */
-       status = rte_lpm_rcu_qsbr_add(lpm, &rcu_cfg, NULL);
+       status = rte_lpm_rcu_qsbr_add(lpm, &rcu_cfg);
        TEST_LPM_ASSERT(status == 0);
 
        ip = RTE_IPV4(192, 0, 2, 100);
@@ -1510,7 +1510,7 @@ test21(void)
        rcu_cfg.v = g_v;
        rcu_cfg.mode = RTE_LPM_QSBR_MODE_SYNC;
        /* Attach RCU QSBR to LPM table */
-       status = rte_lpm_rcu_qsbr_add(g_lpm, &rcu_cfg, NULL);
+       status = rte_lpm_rcu_qsbr_add(g_lpm, &rcu_cfg);
        TEST_LPM_ASSERT(status == 0);
 
        writer_done = 0;
index dfe1864..5807679 100644 (file)
@@ -521,7 +521,7 @@ test_lpm_rcu_perf_multi_writer(void)
 
        rcu_cfg.v = rv;
        /* Assign the RCU variable to LPM */
-       if (rte_lpm_rcu_qsbr_add(lpm, &rcu_cfg, NULL) != 0) {
+       if (rte_lpm_rcu_qsbr_add(lpm, &rcu_cfg) != 0) {
                printf("RCU variable assignment failed\n");
                goto error;
        }
@@ -674,7 +674,7 @@ test_lpm_rcu_perf(void)
 
        rcu_cfg.v = rv;
        /* Assign the RCU variable to LPM */
-       if (rte_lpm_rcu_qsbr_add(lpm, &rcu_cfg, NULL) != 0) {
+       if (rte_lpm_rcu_qsbr_add(lpm, &rcu_cfg) != 0) {
                printf("RCU variable assignment failed\n");
                goto error;
        }
index 126fc5a..2db9e16 100644 (file)
@@ -288,8 +288,7 @@ __lpm_rcu_qsbr_free_resource(void *p, void *data, unsigned int n)
 /* Associate QSBR variable with an LPM object.
  */
 int
-rte_lpm_rcu_qsbr_add(struct rte_lpm *lpm, struct rte_lpm_rcu_config *cfg,
-       struct rte_rcu_qsbr_dq **dq)
+rte_lpm_rcu_qsbr_add(struct rte_lpm *lpm, struct rte_lpm_rcu_config *cfg)
 {
        struct rte_rcu_qsbr_dq_parameters params = {0};
        char rcu_dq_name[RTE_RCU_QSBR_DQ_NAMESIZE];
@@ -329,8 +328,6 @@ rte_lpm_rcu_qsbr_add(struct rte_lpm *lpm, struct rte_lpm_rcu_config *cfg,
                        RTE_LOG(ERR, LPM, "LPM defer queue creation failed\n");
                        return 1;
                }
-               if (dq != NULL)
-                       *dq = internal_lpm->dq;
        } else {
                rte_errno = EINVAL;
                return 1;
index a9568fc..03da2d3 100644 (file)
@@ -218,8 +218,6 @@ rte_lpm_free(struct rte_lpm *lpm);
  *   the lpm object to add RCU QSBR
  * @param cfg
  *   RCU QSBR configuration
- * @param dq
- *   handler of created RCU QSBR defer queue
  * @return
  *   On success - 0
  *   On error - 1 with error code set in rte_errno.
@@ -229,8 +227,7 @@ rte_lpm_free(struct rte_lpm *lpm);
  *   - ENOMEM - memory allocation failure
  */
 __rte_experimental
-int rte_lpm_rcu_qsbr_add(struct rte_lpm *lpm, struct rte_lpm_rcu_config *cfg,
-       struct rte_rcu_qsbr_dq **dq);
+int rte_lpm_rcu_qsbr_add(struct rte_lpm *lpm, struct rte_lpm_rcu_config *cfg);
 
 /**
  * Add a rule to the LPM table.