app/testpmd: fix queue reconfig request on Rx split update
authorViacheslav Ovsiienko <viacheslavo@nvidia.com>
Thu, 21 Jan 2021 12:46:33 +0000 (12:46 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 29 Jan 2021 17:16:12 +0000 (18:16 +0100)
There is the "set rxpkts" command in the testpmd interactive mode,
it configures the segment sizes to split the packet on receiving.
The mentioned segment sizes are provided on the Rx queue setup
as part of queue configuration. Hence, to take the rxpkts command
into effect the Rx queues must be explicitly reconfigured.

The explained above is related to the "set rxoffs" as well.

The patch sets the queue reconfiguration request flag for
all devices once Rx split settings are updated, to take
the changes into effect the port(s) should be restarted.

Fixes: 0f2096d7ab36 ("app/testpmd: add rxpkts commands and parameters")
Fixes: 91c78e090eed ("app/testpmd: add rxoffs commands and parameters")
Cc: stable@dpdk.org
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
app/test-pmd/cmdline.c

index 789f35f..59722d2 100644 (file)
@@ -3791,6 +3791,7 @@ cmd_set_rxoffs_parsed(void *parsed_result,
                                  MAX_SEGS_BUFFER_SPLIT, seg_offsets, 0);
        if (nb_segs > 0)
                set_rx_pkt_offsets(seg_offsets, nb_segs);
+       cmd_reconfig_device_queue(RTE_PORT_ALL, 0, 1);
 }
 
 cmdline_parse_token_string_t cmd_set_rxoffs_keyword =
@@ -3837,6 +3838,7 @@ cmd_set_rxpkts_parsed(void *parsed_result,
                                  MAX_SEGS_BUFFER_SPLIT, seg_lengths, 0);
        if (nb_segs > 0)
                set_rx_pkt_segments(seg_lengths, nb_segs);
+       cmd_reconfig_device_queue(RTE_PORT_ALL, 0, 1);
 }
 
 cmdline_parse_token_string_t cmd_set_rxpkts_keyword =