[dpdk-dev] Example(Load_balancer) Tx flush bug

Maple liujian at raisecom.com
Fri Dec 23 09:23:50 CET 2016


From: Maple <liujian at raisecom.com>
To: <dev at dpdk.org>
Cc: <thomas.monjalon at 6wind.com>
Subject: [PATCH] Example(Load_balancer) Tx flush bug
Date: Thu, 22 Dec 2016 09:57:48 +0800
Message-Id: <1482371868-19669-1-git-send-email-liujian at raisecom.com>
X-Mailer: git-send-email 1.9.1
In-Reply-To: <2016122122394164225248 at raisecom.com>
References: <2016122122394164225248 at raisecom.com>

We found a bug in use load_balancer example,and,This bug DPDK each version.
In IO tx flush, only flush port 0.
So,If I enable more than the Port,then,In addition to 0 port won't flush.

Signed-off-by: Maple <liujian at raisecom.com>
---
 a/examples/load_balancer/runtime.c | 667 ++++++++++++++++++++++++++++++++++++
 b/examples/load_balancer/runtime.c | 669 +++++++++++++++++++++++++++++++++++++
 2 files changed, 1336 insertions(+)
 create mode 100644 a/examples/load_balancer/runtime.c
 create mode 100644 b/examples/load_balancer/runtime.c

diff --git a/examples/load_balancer/runtime.c b/examples/load_balancer/runtime.c
index 9612392..3a2e900 100644
--- a/test/a/examples/load_balancer/runtime.c
+++ b/test/b/examples/load_balancer/runtime.c
@@ -418,9 +418,11 @@ app_lcore_io_tx(
 static inline void
 app_lcore_io_tx_flush(struct app_lcore_params_io *lp)
 {
+       uint8_t i;
        uint8_t port;

-       for (port = 0; port < lp->tx.n_nic_ports; port ++) {
+       port = lp->tx.nic_ports[0];
+       for (i = 0; i < lp->tx.n_nic_ports; i ++) {
                uint32_t n_pkts;

                if (likely((lp->tx.mbuf_out_flush[port] == 0) ||


More information about the dev mailing list