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: sta...@dpdk.org Signed-off-by: Matan Azrad <ma...@mellanox.com> --- app/test-pmd/testpmd.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index 8ac2070..1d3ede1 100644 --- a/app/test-pmd/testpmd.c +++ b/app/test-pmd/testpmd.c @@ -1249,10 +1249,6 @@ static void eth_dev_event_callback(char *device_name, 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++) { @@ -1272,10 +1268,11 @@ static void eth_dev_event_callback(char *device_name, } 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(); -- 1.9.5