[dpdk-dev] [PATCH v6 2/2] app/testpmd: fix port stop

Thomas Monjalon thomas.monjalon at 6wind.com
Fri Mar 10 14:17:54 CET 2017


2017-02-12 04:34, Wu, Jingjing:
> > > > --- 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.
> > 
> > I think the stop_port() function should always stop the port even if the
> > port_status is not correct for any reason.
> > At present stop_port() returns without stopping the port if the port_status is not
> > RTE_PORT_STARTED.
> >
> This is testpmd's design. If you think it is an issue, maybe you need to prepare patch to optimize it. But for VMDQ configuration, I'd like to make it independent but not mixed.
>  
> > The VMDq configuration is done whet the port is stopped, however to the
> > complete the VMDq configuration the port must be started.
> > 
> 
> To change minor, we can stop port, then configure VMDQ and then start port.
> 
> You make port started in VMDQ config, the Symmetry of stop/start command is broken and it is not easy to maintain.

Should we close this patch in patchwork?


More information about the dev mailing list