[dpdk-dev] app/testpmd: add bus info when display port info
Checks
Commit Message
Display pci device bus info when show port info.
Signed-off-by: Yulong Pei <yulong.pei@intel.com>
---
app/test-pmd/config.c | 8 ++++++++
1 file changed, 8 insertions(+)
Comments
> -----Original Message-----
> From: Pei, Yulong
> Sent: Wednesday, April 26, 2017 12:32 PM
> To: dev@dpdk.org
> Cc: Wu, Jingjing <jingjing.wu@intel.com>; thomas@monjalon.net
> Subject: [PATCH] app/testpmd: add bus info when display port info
>
> Display pci device bus info when show port info.
>
> Signed-off-by: Yulong Pei <yulong.pei@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
26/04/2017 06:31, Yulong Pei:
> Display pci device bus info when show port info.
>
> Signed-off-by: Yulong Pei <yulong.pei@intel.com>
> ---
> --- a/app/test-pmd/config.c
> +++ b/app/test-pmd/config.c
> @@ -469,6 +469,14 @@ port_infos_display(portid_t port_id)
> print_ethaddr("MAC address: ", &mac_addr);
> printf("\nDriver name: %s", dev_info.driver_name);
> printf("\nConnect to socket: %u", port->socket_id);
> + if (dev_info.pci_dev)
> + printf("\nBus-info: %04x:%02x:%02x:%x",
> + dev_info.pci_dev->addr.domain,
> + dev_info.pci_dev->addr.bus,
> + dev_info.pci_dev->addr.devid,
> + dev_info.pci_dev->addr.function);
> + else
> + printf("\nBus-info: N/A");
The bus information must be managed in a more generic way.
The field pci_dev will probably be removed in a next release.
Hi Thomas,
-----Original Message-----
From: Thomas Monjalon [mailto:thomas@monjalon.net]
Sent: Monday, May 1, 2017 9:56 PM
To: Pei, Yulong <yulong.pei@intel.com>
Cc: dev@dpdk.org; Wu, Jingjing <jingjing.wu@intel.com>
Subject: Re: [dpdk-dev] [PATCH] app/testpmd: add bus info when display port info
26/04/2017 06:31, Yulong Pei:
> Display pci device bus info when show port info.
>
> Signed-off-by: Yulong Pei <yulong.pei@intel.com>
> ---
> --- a/app/test-pmd/config.c
> +++ b/app/test-pmd/config.c
> @@ -469,6 +469,14 @@ port_infos_display(portid_t port_id)
> print_ethaddr("MAC address: ", &mac_addr);
> printf("\nDriver name: %s", dev_info.driver_name);
> printf("\nConnect to socket: %u", port->socket_id);
> + if (dev_info.pci_dev)
> + printf("\nBus-info: %04x:%02x:%02x:%x",
> + dev_info.pci_dev->addr.domain,
> + dev_info.pci_dev->addr.bus,
> + dev_info.pci_dev->addr.devid,
> + dev_info.pci_dev->addr.function);
> + else
> + printf("\nBus-info: N/A");
The bus information must be managed in a more generic way.
The field pci_dev will probably be removed in a next release.
Could you kind to tell me more information about what does "more generic way" mean ?
Best Regards
Yulong Pei
02/05/2017 03:58, Pei, Yulong:
> From: Thomas Monjalon [mailto:thomas@monjalon.net]
> > 26/04/2017 06:31, Yulong Pei:
> > > Display pci device bus info when show port info.
> > >
> > > Signed-off-by: Yulong Pei <yulong.pei@intel.com>
> > > ---
> > > --- a/app/test-pmd/config.c
> > > +++ b/app/test-pmd/config.c
> > > @@ -469,6 +469,14 @@ port_infos_display(portid_t port_id)
> > >
> > > print_ethaddr("MAC address: ", &mac_addr);
> > > printf("\nDriver name: %s", dev_info.driver_name);
> > > printf("\nConnect to socket: %u", port->socket_id);
> > >
> > > + if (dev_info.pci_dev)
> > > + printf("\nBus-info: %04x:%02x:%02x:%x",
> > > + dev_info.pci_dev->addr.domain,
> > > + dev_info.pci_dev->addr.bus,
> > > + dev_info.pci_dev->addr.devid,
> > > + dev_info.pci_dev->addr.function);
> > > + else
> > > + printf("\nBus-info: N/A");
> >
> > The bus information must be managed in a more generic way.
> > The field pci_dev will probably be removed in a next release.
>
> Could you kind to tell me more information about what does "more generic way" mean ?
It means we should not have a PCI field in ethdev.
We should have a function to print a bus info in each bus implementation,
and a generic function taking a rte_device object would call the right
bus-specific function via a function pointer.
@@ -469,6 +469,14 @@ port_infos_display(portid_t port_id)
print_ethaddr("MAC address: ", &mac_addr);
printf("\nDriver name: %s", dev_info.driver_name);
printf("\nConnect to socket: %u", port->socket_id);
+ if (dev_info.pci_dev)
+ printf("\nBus-info: %04x:%02x:%02x:%x",
+ dev_info.pci_dev->addr.domain,
+ dev_info.pci_dev->addr.bus,
+ dev_info.pci_dev->addr.devid,
+ dev_info.pci_dev->addr.function);
+ else
+ printf("\nBus-info: N/A");
if (port_numa[port_id] != NUMA_NO_CONFIG) {
mp = mbuf_pool_find(port_numa[port_id]);