app/testpmd: fix slave port reset action
Checks
Commit Message
As stop action has been forbidden in secondary process, so
the reset action should also not be allowed.
Fixes: a550baf24af9 ("app/testpmd: support multi-process")
Cc: stable@dpdk.org
Signed-off-by: Qiming Yang <qiming.yang@intel.com>
---
app/test-pmd/testpmd.c | 18 ++++++++++--------
doc/guides/testpmd_app_ug/run_app.rst | 1 +
2 files changed, 11 insertions(+), 8 deletions(-)
Comments
On 10/12/2022 1:13 PM, Qiming Yang wrote:
> As stop action has been forbidden in secondary process, so
> the reset action should also not be allowed.
>
> Fixes: a550baf24af9 ("app/testpmd: support multi-process")
> Cc: stable@dpdk.org
>
> Signed-off-by: Qiming Yang <qiming.yang@intel.com>
Acked-by: Aman Singh<aman.deep.singh@intel.com>
> ---
> app/test-pmd/testpmd.c | 18 ++++++++++--------
> doc/guides/testpmd_app_ug/run_app.rst | 1 +
> 2 files changed, 11 insertions(+), 8 deletions(-)
>
On 10/13/22 20:42, Singh, Aman Deep wrote:
> On 10/12/2022 1:13 PM, Qiming Yang wrote:
>> As stop action has been forbidden in secondary process, so
>> the reset action should also not be allowed.
>>
>> Fixes: a550baf24af9 ("app/testpmd: support multi-process")
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Qiming Yang <qiming.yang@intel.com>
>
> Acked-by: Aman Singh<aman.deep.singh@intel.com>
Applied to dpdk-next-net/main, thanks.
@@ -3333,14 +3333,16 @@ reset_port(portid_t pid)
continue;
}
- diag = rte_eth_dev_reset(pi);
- if (diag == 0) {
- port = &ports[pi];
- port->need_reconfig = 1;
- port->need_reconfig_queues = 1;
- } else {
- fprintf(stderr, "Failed to reset port %d. diag=%d\n",
- pi, diag);
+ if (is_proc_primary()) {
+ diag = rte_eth_dev_reset(pi);
+ if (diag == 0) {
+ port = &ports[pi];
+ port->need_reconfig = 1;
+ port->need_reconfig_queues = 1;
+ } else {
+ fprintf(stderr, "Failed to reset port %d. diag=%d\n",
+ pi, diag);
+ }
}
}
@@ -600,6 +600,7 @@ as follows:
- ``dev_configure``
- ``dev_start``
- ``dev_stop``
+- ``dev_reset``
- ``rx_queue_setup``
- ``tx_queue_setup``
- ``rx_queue_release``