On Mon, 21 Feb 2022 10:26:38 +0800 "Min Hu (Connor)" <humi...@huawei.com> wrote:
> Hi, > > 在 2022/2/20 16:56, Thomas Monjalon 写道: > > 20/02/2022 02:04, Stephen Hemminger: > >> On Sat, 19 Feb 2022 09:59:16 +0800 > >> "Min Hu (Connor)" <humi...@huawei.com> wrote: > >> > >>> +static void > >>> +show_port_private_info(void) > >>> +{ > >>> + int i; > >>> + > >>> + snprintf(bdr_str, MAX_STRING_LEN, " show - Port PMD Private "); > >>> + STATS_BDR_STR(10, bdr_str); > >>> + > >>> + for (i = 0; i < RTE_MAX_ETHPORTS; i++) { > >>> + /* Skip if port is not in mask */ > >>> + if ((enabled_port_mask & (1ul << i)) == 0) > >>> + continue; > >>> + > >>> + /* Skip if port is unused */ > >>> + if (!rte_eth_dev_is_valid_port(i)) > >>> + continue; > >> > >> Maybe use RTE_ETH_FOREACH_DEV(i) here? > >> > >> Procinfo is somewhat inconsistent, some code uses, and some does not. > >> The difference is that FOREACH skips ports that are "owned" i.e > >> associated with another port. > > > > Yes RTE_ETH_FOREACH_DEV is for general usage, > > you get only the ports you are supposed to manage. > > > >> There probably should be a clear policy in the comments about > >> how this command should handle ports. My preference would be > >> that it shows all valid ports, all the time since this is a diagnostic > >> command used to debug misconfiguration. > >> > >> There is RTE_ETH_FOREACH_VALID_DEV but it is marked internal? > > > > Yes, you get it right, RTE_ETH_FOREACH_VALID_DEV gets all ports > > and that should be used only internally or for debugging. > > If we expose it for debugging purpose, there is a risk of confusion. > > The goal was to "force" applications to adopt good behaviour, > > using RTE_ETH_FOREACH_DEV. > Agree with using RTE_ETH_FOREACH_DEV, v2 has been sent out. > > > It means RTE_MAX_ETHPORTS must be used for debugging. > > Is it a good decision? > > > > > > . > > Maybe procinfo should have a flag (--all) to show all devices.