app/testpmd: fix forward ports Rx flush
authorMatan Azrad <matan@mellanox.com>
Thu, 3 May 2018 10:31:45 +0000 (10:31 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 14 May 2018 02:07:39 +0000 (04:07 +0200)
A port Rx queue flush is done when the packet forwarding starts in
order to clean the port statistics for a new traffic session.

The flush operation is wrongly called before the update of the new
forward ports, and may fail due to flush operation for an invalid port
configured by the old session.

Move the new forward port setup to be done before the Rx queue flush.

Fixes: 7741e4cf16c0 ("app/testpmd: VMDq and DCB updates")
Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
app/test-pmd/testpmd.c

index a4f8785..40880ec 100644 (file)
@@ -1253,10 +1253,6 @@ start_packet_forwarding(int with_tx_first)
                return;
        }
 
-       if (init_fwd_streams() < 0) {
-               printf("Fail from init_fwd_streams()\n");
-               return;
-       }
 
        if(dcb_test) {
                for (i = 0; i < nb_fwd_ports; i++) {
@@ -1276,10 +1272,11 @@ start_packet_forwarding(int with_tx_first)
        }
        test_done = 0;
 
+       fwd_config_setup();
+
        if(!no_flush_rx)
                flush_fwd_rx_queues();
 
-       fwd_config_setup();
        pkt_fwd_config_display(&cur_fwd_config);
        rxtx_config_display();