PMD for non PCI device

Jerin Jacob jerinjacobk at gmail.com
Tue Feb 6 16:58:13 CET 2024


On Tue, Feb 6, 2024 at 9:20 PM Prashant Upadhyaya
<praupadhyaya at gmail.com> wrote:
>
> On Tue, 6 Feb 2024 at 19:43, Bruce Richardson
> <bruce.richardson at intel.com> wrote:
> >
> > On Tue, Feb 06, 2024 at 07:36:16PM +0530, Prashant Upadhyaya wrote:
> > > Hi,
> > >
> > > I have a usecase where I have to evaluate writing a DPDK PMD for a non
> > > PCI/e device doing the ethernet packet i/o.
> > >
> > > Wanted to know if the above usecase is supported by DPDK infra and any
> > > pointers on how one should go about writing a PMD for such a usecase
> > > if supported. Would appreciate any inputs.
> > >
> > Hi,
> >
> > yes, such a usecase is supported, but the specifics of how to go about it
> > will vary depending on the type of PMD it is. DPDK already supports a range
> > of other types of PMD, for emulated, or SW backed PMDs, e.g. net/pcap
> > driver, and drivers for various SoCs which don't use PCI. For the case
> > where the PMD is backed by real hardware (or an emulated device that
> > appears to a VM as a piece of hardware), you may want to consider writing a
> > "bus" driver for DPDK to support probing of the device. For non-HW
> > devices, the "vdev" bus may be what you want to use, where probing is not
> > done and devices are created in response to cmdline arguments on init, or
> > via C APIs later in the app.
> >
> > Regards,
> > /Bruce
>
> Thanks Bruce, this is helpful. Is there any PMD in DPDK code that you
> can refer me to for any SoC which does not use PCI (the usecase of
> backing by real hardware), that would be great to follow.


See drivers/bus/*

Based on your description, vfio-platorm will be the closest
match(driver/bus/platform)


>
> Regards
> -Prashant


More information about the dev mailing list