[dpdk-dev] [PATCH v6 2/2] app/testpmd: fix port stop
Wu, Jingjing
jingjing.wu at intel.com
Fri Feb 3 09:21:33 CET 2017
> -----Original Message-----
> From: Iremonger, Bernard
> Sent: Friday, January 27, 2017 6:50 PM
> To: dev at dpdk.org; Wu, Jingjing <jingjing.wu at intel.com>
> Cc: Iremonger, Bernard <bernard.iremonger at intel.com>; stable at dpdk.org
> Subject: [PATCH v6 2/2] app/testpmd: fix port stop
>
> The rte_eth_dev_stop function is not called if the port_status is not
> RTE_PORT_STARTED. This can happen if the rte_eth_dev_start function is
> called directly, ie not through the start_port function.
>
> Make sure rte_eth_dev_stop is always called in stop_port function.
>
> Fixes: ce8d561418d4 ("app/testpmd: add port configuration settings")
>
> CC: stable at dpdk.org
> Signed-off-by: Bernard Iremonger <bernard.iremonger at intel.com>
> ---
> app/test-pmd/testpmd.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index
> 3d25436..0d7a4d4 100644
> --- a/app/test-pmd/testpmd.c
> +++ b/app/test-pmd/testpmd.c
> @@ -1490,13 +1490,13 @@ stop_port(portid_t pid)
> continue;
> }
>
> + rte_eth_dev_stop(pi);
> +
> port = &ports[pi];
> if (rte_atomic16_cmpset(&(port->port_status),
> RTE_PORT_STARTED,
> RTE_PORT_HANDLING) == 0)
> continue;
>
> - rte_eth_dev_stop(pi);
> -
I don't think this fix is correct to move rte_eth_dev_stop above.
We need to make sure rte_eth_dev_start is called in start_port. For vmdq configuration,
You just need to change the configuration when port is stopped.
More information about the dev
mailing list