Hi Bernard,

On Thu, Jun 14, 2018 at 10:59:09AM +0000, Iremonger, Bernard wrote:
> Hi Gaetan,
> 
> > -----Original Message-----
> > From: dev [mailto:[email protected]] On Behalf Of Gaetan Rivet
> > Sent: Sunday, April 15, 2018 4:08 PM
> > To: [email protected]
> > Cc: Gaetan Rivet <[email protected]>
> > Subject: [dpdk-dev] [PATCH v7 22/22] app/testpmd: add show device
> > command
> > 
> > A new interactive command is offered:
> > 
> >    show device <device description>
> > 
> > This commands lists all rte_device element matching the device description.
> > e.g.:
> > 
> >    show device bus=pci
> >    show device bus=vdev
> >    show device bus=vdev/class=eth
> >    show device bus=vdev,driver=net_ring/class=eth
> >    show device bus=vdev/class=eth,name=net_ring0
> > 
> > These devices may not be otherwise useful, some buses will spawn devices
> > to keep track of their assets without having a driver to use them.
> > 
> > Signed-off-by: Gaetan Rivet <[email protected]>
> > ---
> >  app/test-pmd/cmdline.c | 52
> > ++++++++++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 52 insertions(+)
> > 
> > diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index
> > 40b31ad7e..8ac5fb3ca 100644
> > --- a/app/test-pmd/cmdline.c
> > +++ b/app/test-pmd/cmdline.c
> > @@ -6701,6 +6701,57 @@ cmdline_parse_inst_t cmd_showportall = {
> >     },
> >  };
> > 
> > +/* *** SHOW DEVICE INFO *** */
> > +struct cmd_showdevice_result {
> > +   cmdline_fixed_string_t show;
> > +   cmdline_fixed_string_t device;
> > +   cmdline_fixed_string_t filter;
> > +};
> > +
> > +static void
> > +cmd_showdevice_dump_device(const struct rte_device *dev) {
> > +   const struct rte_driver *drv = dev->driver;
> > +
> > +   printf("0x%p: %s:%s\n", (const void *)dev, dev->name,
> > +           drv ? drv->name : "<nil>");
> > +}
> > +
> > +static void cmd_showdevice_parsed(void *parsed_result,
> > +                           __attribute__((unused)) struct cmdline *cl,
> > +                           __attribute__((unused)) void *data) {
> > +   struct cmd_showdevice_result *res = parsed_result;
> > +   struct rte_dev_iterator it;
> > +   const struct rte_device *dev;
> > +
> > +   RTE_DEV_FOREACH(dev, res->filter, &it)
> > +           cmd_showdevice_dump_device(dev);
> > +}
> > +
> > +cmdline_parse_token_string_t cmd_showdevice_show =
> > +   TOKEN_STRING_INITIALIZER(struct cmd_showdevice_result,
> > +                           show, "show");
> > +cmdline_parse_token_string_t cmd_showdevice_device =
> > +   TOKEN_STRING_INITIALIZER(struct cmd_showdevice_result,
> > +                           device, "device");
> > +cmdline_parse_token_string_t cmd_showdevice_filter =
> > +   TOKEN_STRING_INITIALIZER(struct cmd_showdevice_result,
> > +                   filter, NULL);
> > +
> > +cmdline_parse_inst_t cmd_showdevice = {
> > +   .f = cmd_showdevice_parsed,
> > +   .data = NULL,
> > +   .help_str = "show device "
> > +           "<device string>",
> 
> .help_str  should be on one line to avoid checkpatch warning.
> 

Thanks, will fix.

> > +   .tokens = {
> > +           (void *)&cmd_showdevice_show,
> > +           (void *)&cmd_showdevice_device,
> > +           (void *)&cmd_showdevice_filter,
> > +           NULL,
> > +   },
> > +};
> > +
> >  /* *** SHOW PORT INFO *** */
> >  struct cmd_showport_result {
> >     cmdline_fixed_string_t show;
> > @@ -16038,6 +16089,7 @@ cmdline_parse_ctx_t main_ctx[] = {
> >     (cmdline_parse_inst_t *)&cmd_help_long,
> >     (cmdline_parse_inst_t *)&cmd_quit,
> >     (cmdline_parse_inst_t *)&cmd_load_from_file,
> > +   (cmdline_parse_inst_t *)&cmd_showdevice,
> >     (cmdline_parse_inst_t *)&cmd_showport,
> >     (cmdline_parse_inst_t *)&cmd_showqueue,
> >     (cmdline_parse_inst_t *)&cmd_showportall,
> > --
> > 2.11.0
> 
> This patch fails to compile on dpdk_18.08.rc0
> 

I have rebased the series in 18.08-rc0, I will send it as a v8.

> There should probably be an update to the testpmd documentation also in 
> doc/guides/testpmd_app_ug/*.rst

I will look into it.

Regards,

-- 
Gaëtan Rivet
6WIND

Reply via email to