From: Tomasz Kulasek Date: Thu, 31 Mar 2016 13:38:08 +0000 (+0200) Subject: examples/l3fwd: fix packets lost when stopping X-Git-Tag: spdx-start~7113 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=9d203b76af2a4b310fdf3068e181ff52194bf7a8;p=dpdk.git examples/l3fwd: fix packets lost when stopping Not all tx ports was included in tx_port_id array, used to periodically drain only available ports. This caused that some packets remain in buffer when application stops to receiving packets. Fixes: 52c97adc1f0f ("examples/l3fwd: fix exact match performance") Signed-off-by: Tomasz Kulasek Acked-by: Konstantin Ananyev --- diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c index e10dab9619..92fda3bfd4 100644 --- a/examples/l3fwd/main.c +++ b/examples/l3fwd/main.c @@ -836,7 +836,6 @@ main(int argc, char **argv) unsigned lcore_id; uint32_t n_tx_queue, nb_lcores; uint8_t portid, nb_rx_queue, queue, socketid; - uint8_t nb_tx_port; /* init EAL */ ret = rte_eal_init(argc, argv); @@ -876,7 +875,6 @@ main(int argc, char **argv) rte_exit(EXIT_FAILURE, "check_port_config failed\n"); nb_lcores = rte_lcore_count(); - nb_tx_port = 0; /* Setup function pointers for lookup method. */ setup_l3fwd_lookup_tables(); @@ -954,12 +952,10 @@ main(int argc, char **argv) qconf->tx_queue_id[portid] = queueid; queueid++; - qconf->n_tx_port = nb_tx_port; qconf->tx_port_id[qconf->n_tx_port] = portid; + qconf->n_tx_port++; } printf("\n"); - - nb_tx_port++; } for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id++) {