examples/load_balancer: fix Tx flush
authorAndriy Berestovskyy <andriy.berestovskyy@caviumnetworks.com>
Thu, 27 Apr 2017 09:27:54 +0000 (11:27 +0200)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 1 May 2017 16:18:29 +0000 (18:18 +0200)
Port ID is not an index from 0 to n_nic_ports, but rather a value
of nic_ports array.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Andriy Berestovskyy <andriy.berestovskyy@caviumnetworks.com>
examples/load_balancer/runtime.c

index 8192c08..7f918aa 100644 (file)
@@ -420,10 +420,12 @@ static inline void
 app_lcore_io_tx_flush(struct app_lcore_params_io *lp)
 {
        uint8_t port;
+       uint32_t i;
 
-       for (port = 0; port < lp->tx.n_nic_ports; port ++) {
+       for (i = 0; i < lp->tx.n_nic_ports; i++) {
                uint32_t n_pkts;
 
+               port = lp->tx.nic_ports[i];
                if (likely((lp->tx.mbuf_out_flush[port] == 0) ||
                           (lp->tx.mbuf_out[port].n_mbufs == 0))) {
                        lp->tx.mbuf_out_flush[port] = 1;