On Mon, Feb 16, 2026 at 10:48:15AM +0000, Bruce Richardson wrote:
> On Fri, Jan 23, 2026 at 05:57:41PM +0100, Thierry Herbelot wrote:
> > On 1/23/26 17:50, Bruce Richardson wrote:
> > > On Fri, Jan 23, 2026 at 05:27:07PM +0100, Thierry Herbelot wrote:
> > > > After an upstream patch (see Fixes), net_ixgbe_vf is no longer
> > > > declared in testpmd PMD info, when compiling under Redhat-9:
> > > >
> > > > > $ meson setup build && ninja -C build
> > > > > $ ./usertools/dpdk-pmdinfo.py build/app/dpdk-testpmd|grep ixgbe
> > > > > "name": "net_ixgbe",
> > > >
> > > > Name 'net_ixgbe_vf' should also be reported.
> > > >
> > > > One workaround is to move 'intel/ixgbe' as last in the list of Intel
> > > > drivers. This restores net_ixgbe_vf under Redhat-9:
> > > >
> > > > > $ meson setup build && ninja -C build
> > > > > $ ./usertools/dpdk-pmdinfo.py build/app/dpdk-testpmd|grep ixgbe
> > > > > "name": "net_ixgbe_vf",
> > > > > "name": "net_ixgbe",
> > > >
> > > > Fixes: 04f1b16c54f3 ("drivers: merge common and net idpf drivers")
> > > > Signed-off-by: Thierry Herbelot <[email protected]>
> > > > ---
> > > > V2: use shorter lines in commit log.
> > > > ---
> > > > drivers/net/meson.build | 2 +-
> > > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > > >
> > > > diff --git a/drivers/net/meson.build b/drivers/net/meson.build
> > > > index c7dae4ad273c..8d96244cdbb0 100644
> > > > --- a/drivers/net/meson.build
> > > > +++ b/drivers/net/meson.build
> > > > @@ -32,8 +32,8 @@ drivers = [
> > > > 'intel/ice',
> > > > 'intel/idpf',
> > > > 'intel/ipn3ke',
> > > > - 'intel/ixgbe',
> > > > 'intel/cpfl', # depends on idpf, so must come after it
> > > > + 'intel/ixgbe',
> > > > 'ionic',
> > > > 'mana',
> > > > 'memif',
> > >
> > > This is a strange one - did you do any investgation into why or how this
> > > fixes things? You describe it as a workaround so any hints towards a
> > > proper
> > > root cause and fix are welcome :-)
> >
> > Hello Bruce,
> >
> > This is indeed a bit puzzling: it seems that the expected ELF section is
> > present, a 'strings' dump shows no difference between a 'full' testpmd and
> > one missing ixgbe_vf. Still pmdinfo is missing one PMD.
> >
> > The issue was not seen when using Ubuntu-24.04.
> >
> [Not unexpectedly,] it appears that there is more to it than just missing
> this driver. Installing a centos 9 VM and doing a clang build and comparing
> the pmdinfo output to the GCC build output, I find there are in fact 3
> missing drivers in the output: net_dpaa2, net_ixgbe_vf, and net_sfc_efx.
>
> Changing the order of things to move down ixgbe makes ixgbe_vf and sfc_efx
> reappear, but sadly net_vcpf now disappears. :-(
> Therefore, more investigation and root causing is needed to find a proper
> fix.
>
Doing a bit of poking with strings on the various binaries has shown why
some of these strings are not showing up despite being present in the
binary. In some cases, the bytes leading up to "PMD_INFO_STRING=" are
printable characters, in which case the PMD gets omitted from the output as
the ascii string found does not _start_ with PMD_INFO_STRING.
Given this info, I'm not sure whether this should be fixed in the code, is
a compiler issue, or whether we should just modify our script to find
PMD_INFO_STRING anywhere in output strings not just at the start.
Suggestions?
/Bruce