Do not need to recompute all the table indices.

Signed-off-by: Stephen Hemminger <step...@networkplumber.org>
---
 lib/lpm/rte_lpm.h | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/lib/lpm/rte_lpm.h b/lib/lpm/rte_lpm.h
index 2888e5f4ca..9c6df311cb 100644
--- a/lib/lpm/rte_lpm.h
+++ b/lib/lpm/rte_lpm.h
@@ -337,7 +337,6 @@ rte_lpm_lookup_bulk_func(const struct rte_lpm *lpm, const 
uint32_t *ips,
                uint32_t *next_hops, const unsigned n)
 {
        unsigned i;
-       unsigned tbl24_indexes[n];
        const uint32_t *ptbl;
 
        /* DEBUG: Check user input arguments. */
@@ -345,12 +344,10 @@ rte_lpm_lookup_bulk_func(const struct rte_lpm *lpm, const 
uint32_t *ips,
                        (next_hops == NULL)), -EINVAL);
 
        for (i = 0; i < n; i++) {
-               tbl24_indexes[i] = ips[i] >> 8;
-       }
+               unsigned int tbl24_index = ips[i] >> 8;
 
-       for (i = 0; i < n; i++) {
                /* Simply copy tbl24 entry to output */
-               ptbl = (const uint32_t *)&lpm->tbl24[tbl24_indexes[i]];
+               ptbl = (const uint32_t *)&lpm->tbl24[tbl24_index];
                next_hops[i] = *ptbl;
 
                /* Overwrite output with tbl8 entry if needed */
-- 
2.43.0

Reply via email to