[dpdk-dev] Example(Load_balancer) Tx Flush Bug(This bug dpdk each version)
Checks
Commit Message
From: Maple <liujian@raisecom.com>
To: <dev@dpdk.org>
Cc: <thomas.monjalon@6wind.com>
Subject: [PATCH] Load_balancer Tx Flush Bug
Date: Thu, 22 Dec 2016 09:57:48 +0800
Message-Id: <1482371868-19669-1-git-send-email-liujian@raisecom.com>
X-Mailer: git-send-email 1.9.1
In-Reply-To: <2016122122394164225248@raisecom.com>
References: <2016122122394164225248@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@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
@@ -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) ||