[dpdk-dev] [PATCH v10 01/27] devargs: add non-variadic parsing function

Gaëtan Rivet gaetan.rivet at 6wind.com
Wed Jul 11 14:01:41 CEST 2018


On Wed, Jul 11, 2018 at 05:16:15PM +0530, Shreyansh Jain wrote:
> On Thursday 05 July 2018 05:18 PM, Gaetan Rivet wrote:
> > rte_devargs_parse becomes non-variadic,
> > rte_devargs_parsef becomes the variadic version, to be used to compose
> > device strings.
> > 
> > Signed-off-by: Gaetan Rivet <gaetan.rivet at 6wind.com>
> > ---
> >   drivers/net/failsafe/failsafe_args.c        |  2 +-
> >   drivers/net/failsafe/failsafe_eal.c         |  2 +-
> >   lib/librte_eal/common/eal_common_dev.c      |  4 +-
> >   lib/librte_eal/common/eal_common_devargs.c  | 42 ++++++++++++++++-----
> >   lib/librte_eal/common/include/rte_devargs.h | 40 +++++++++++++++++++-
> >   lib/librte_eal/rte_eal_version.map          |  1 +
> >   lib/librte_ethdev/rte_ethdev.c              |  2 +-
> >   7 files changed, 76 insertions(+), 17 deletions(-)
> > 
> 
> [...]
> 
> > +__rte_experimental
> > +int
> > +rte_devargs_parsef(struct rte_devargs *da, const char *format, ...)
> > +{
> > +	va_list ap;
> > +	size_t len;
> > +	char *dev;
> > +
> > +	if (da == NULL)
> > +		return -EINVAL;
> > +
> > +	va_start(ap, format);
> > +	len = vsnprintf(NULL, 0, format, ap);
> > +	va_end(ap);
> > +
> > +	dev = calloc(1, len + 1);
> > +	if (dev == NULL) {
> > +		fprintf(stderr, "ERROR: not enough memory to parse device\n");
> 
> Should RTE_LOG be used here?
> 

Yes, actually, I think the whole rte_devargs should be changed to
RTE_LOG.

> > +		return -ENOMEM;
> > +	}
> > +
> > +	va_start(ap, format);
> > +	vsnprintf(dev, len, format, ap);
> > +	va_end(ap);
> > +
> > +	return rte_devargs_parse(da, dev);
> > +}
> > +
> >   int __rte_experimental
> >   rte_devargs_insert(struct rte_devargs *da)
> >   {
> 
> [...]
> 
> Except the comment above:
> 
> Acked-by: Shreyansh Jain <shreyansh.jain at nxp.com>

-- 
Gaëtan Rivet
6WIND


More information about the dev mailing list