Hello,

On Fri, 27 Feb 2026 at 23:31, Ilya Maximets <[email protected]> wrote:
> > +        && !smap_get_bool(ovs_other_config, "dpdk-probe-at-init", false)) {
> > +#ifdef RTE_BUS_AUXILIARY
> > +        svec_add(&args, "-a");
> > +        svec_add(&args, "auxiliary:");
> > +#endif
> > +#ifdef RTE_BUS_CDX
> > +        svec_add(&args, "-a");
> > +        svec_add(&args, "cdx:cdx-");
> > +#endif
> > +#ifdef RTE_BUS_FSLMC
> > +        svec_add(&args, "-a");
> > +        svec_add(&args, "fslmc:dpni.65535");
> > +#endif
> > +#ifdef RTE_BUS_PCI
> > +        svec_add(&args, "-a");
> > +        svec_add(&args, "pci:0000:00:00.0");
> > +#endif
> > +#ifdef RTE_BUS_UACCE
> > +        svec_add(&args, "-a");
> > +        svec_add(&args, "uacce:");
> > +#endif
> > +#ifdef RTE_BUS_VMBUS
> > +        svec_add(&args, "-a");
> > +        svec_add(&args, "vmbus:00000000-0000-0000-0000-000000000000");
> > +#endif
>
> What about dpaa, ifpga and the platform?

The ifpga is like the vdev bus, it only works in allowlist mode, so
nothing to add here.

The platform bus has no driver.

Reading again this bus code, there is a problem with dpaa.
I had skipped too quickly (thinking it required explicit declaration)
and now I see no way to pass an invalid device that would be accepted
by this bus parser.


>
> > +    }
> > +
> >      svec_terminate(&args);
> >
> >      optind = 1;
> > diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
> > index c51fe7c258..8115223277 100644
> > --- a/lib/netdev-dpdk.c
> > +++ b/lib/netdev-dpdk.c
> > @@ -2050,7 +2050,7 @@ netdev_dpdk_get_port_by_mac(const char *mac_str, char 
> > **extra_err)
> >          }
> >      }
> >
> > -    *extra_err = xstrdup("unknown mac");
> > +    *extra_err = xstrdup("unknown mac (use dpdk-probe-at-init=true?)");
>
> nit: s/use/need/ ?  "use" sounds a bit strange as a question.

Ack.


>
> >      return DPDK_ETH_PORT_ID_INVALID;
> >  }
> >

[snip]

> > diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml
> > index b7a5afc0a5..458b88870c 100644
> > --- a/vswitchd/vswitch.xml
> > +++ b/vswitchd/vswitch.xml
> > @@ -453,6 +453,21 @@
> >          </p>
> >        </column>
> >
> > +      <column name="other_config" key="dpdk-probe-at-init"
> > +              type='{"type": "boolean"}'>
> > +        <p>
> > +          Specifies whether DPDK should probe all devices available at the
> > +          time DPDK is initialized. This is required when declaring DPDK 
> > ports
> > +          using the "class=eth,mac=XX:XX:XX:XX:XX:XX" syntax, but beware 
> > that
>
> nit: Use the <code> tags.
>
> > +          it implies higher resource consumption and may cause undesired 
> > side
> > +          effects with some devices (such as mlx5).
>
> May need to expand on what these side effects could be.

Ok, I'll add some details on the link status queries and rtnl contention.


>
> > +        </p>
> > +        <p>
> > +          If not specified, DPDK will not probe any devices at 
> > initialization,
> > +          which should be fine in most cases.
>
> Also need to specify that this doesn't work when dpdk-extra contains allowed
> or blocked deveices. Even if set to true.
>
> And it might be better to say what it does if set to false, with the caveats
> of the dependency on other dpdk-extra flags.  And then say that the default
> is 'false'.

Ack.


>
> > +        </p>
> > +      </column>
> > +
> >        <column name="other_config" key="dpdk-extra"
> >                type='{"type": "string"}'>
> >          <p>
>


-- 
David Marchand

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to