The lpm_process_event_pkt() can either process a packet using an
architecture specific (defined for X86/SSE, ARM/Neon and PPC64/Altivec)
path or a scalar one. The choice is however done using an ifdef
pre-processor macro. Because of that the scalar version was apparently
not widely excersized/compiled.
Due to some copy/paste errors, the scalar logic in
lpm_process_event_pkt() retained a "continue" statement where a BAD_PORT
should be returned after refactoring of the LPM logic in the l3fwd
example.

Fixes: 99fc91d18082 ("examples/l3fwd: add event lpm main loop")
Cc: pbhagavat...@marvell.com

Signed-off-by: Stanislaw Kardach <k...@semihalf.com>
Sponsored-by: Frank Zhao <frank.z...@starfivetech.com>
Sponsored-by: Sam Grove <sam.gr...@sifive.com>
---
 examples/l3fwd/l3fwd_lpm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/l3fwd/l3fwd_lpm.c b/examples/l3fwd/l3fwd_lpm.c
index bec22c44cd..6e1defbf7f 100644
--- a/examples/l3fwd/l3fwd_lpm.c
+++ b/examples/l3fwd/l3fwd_lpm.c
@@ -248,7 +248,7 @@ lpm_process_event_pkt(const struct lcore_conf *lconf, 
struct rte_mbuf *mbuf)
                if (is_valid_ipv4_pkt(ipv4_hdr, mbuf->pkt_len)
                                < 0) {
                        mbuf->port = BAD_PORT;
-                       continue;
+                       return mbuf->port;
                }
                /* Update time to live and header checksum */
                --(ipv4_hdr->time_to_live);
-- 
2.30.2

Reply via email to