Hi Stephen, Thomas,

On a related note w.r.to commit 1dd6cffb6571f816d5a0d1fd620f43532240b40b (app/procinfo: provide way to request info on owned ports), we see this change:

-static uint32_t enabled_port_mask;
+static unsigned long enabled_port_mask;

While this is ok for 64-bit machines, where unsigned long is 64-bit, on 32-bit machines unsigned long is 32-bits.
Should we change this to unsigned long long which is guaranteed to be 64-bits on both architectures?

Specifying a mask of 0xffffffffffffffff on 32-bit platforms results in error:
+ sudo /usr/share/dpdk/tools/dpdk-procinfo -- --show-port -p 0xffffffffffffffff
Invalid portmask '0xffffffffffffffff'

We have a script that runs periodically and it uses the dpdk-procinfo tool to collect information about the ports.
It will be ideal to use the same portmask in the script irrespective of the platform it runs on.

Kindly share your thoughts on this.

Regards,
Subendu.



On Wed, May 4, 2022 at 11:18 PM Stephen Hemminger <stephen@networkplumber.org> wrote:
On Tue, 03 May 2022 10:47:58 +0200
Thomas Monjalon <thomas@monjalon.net> wrote:

> 24/04/2022 07:34, Subendu Santra:
> > Hi Stephen,
> >
> > We were going through the patch set: https://inbox.dpdk.org/dev/20200715212228.28010-7-stephen@networkplumber.org/ and hoping to get clarification on the behaviour if post mask is not specified in the input to `dpdk-proc-info` tool.
> >
> > Specifically, In PATCH v3 6/7, we see this:
> > +   /* If no port mask was specified, one will be provided */
> > +   if (enabled_port_mask == 0) {
> > +           RTE_ETH_FOREACH_DEV(i) {
> > +                   enabled_port_mask |= 1u << i;
> >
> > However, in PATCH v4 8/8, we see this:
> > +   /* If no port mask was specified, then show non-owned ports */
> > +   if (enabled_port_mask == 0) {
> > +           RTE_ETH_FOREACH_DEV(i)
> > +                   enabled_port_mask = 1ul << i;
> > +   }
> >
> > Was there any specific reason to show just the last non-owned port in case the port mask was not specified?
> > Should we show all non-owned ports in case the user doesn’t specify any port mask? 
>
> It looks like a bug. It should be |=
> Feel free to send a fix.
>
>

Agree. Thats a bug.

It would be good to have a "show all ports" flag to proc-info.
To show all ports including owned.