DPDK patches and discussions
 help / color / mirror / Atom feed
* PMD for non PCI device
@ 2024-02-06 14:06 Prashant Upadhyaya
  2024-02-06 14:13 ` Bruce Richardson
  0 siblings, 1 reply; 5+ messages in thread
From: Prashant Upadhyaya @ 2024-02-06 14:06 UTC (permalink / raw)
  To: dev

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.

Regards
-Prashant

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: PMD for non PCI device
  2024-02-06 14:06 PMD for non PCI device Prashant Upadhyaya
@ 2024-02-06 14:13 ` Bruce Richardson
  2024-02-06 15:50   ` Prashant Upadhyaya
  0 siblings, 1 reply; 5+ messages in thread
From: Bruce Richardson @ 2024-02-06 14:13 UTC (permalink / raw)
  To: Prashant Upadhyaya; +Cc: dev

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: PMD for non PCI device
  2024-02-06 14:13 ` Bruce Richardson
@ 2024-02-06 15:50   ` Prashant Upadhyaya
  2024-02-06 15:58     ` Jerin Jacob
  0 siblings, 1 reply; 5+ messages in thread
From: Prashant Upadhyaya @ 2024-02-06 15:50 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev

On Tue, 6 Feb 2024 at 19:43, Bruce Richardson
<bruce.richardson@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.

Regards
-Prashant

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: PMD for non PCI device
  2024-02-06 15:50   ` Prashant Upadhyaya
@ 2024-02-06 15:58     ` Jerin Jacob
  2024-02-14 15:19       ` Prashant Upadhyaya
  0 siblings, 1 reply; 5+ messages in thread
From: Jerin Jacob @ 2024-02-06 15:58 UTC (permalink / raw)
  To: Prashant Upadhyaya; +Cc: Bruce Richardson, dev

On Tue, Feb 6, 2024 at 9:20 PM Prashant Upadhyaya
<praupadhyaya@gmail.com> wrote:
>
> On Tue, 6 Feb 2024 at 19:43, Bruce Richardson
> <bruce.richardson@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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: PMD for non PCI device
  2024-02-06 15:58     ` Jerin Jacob
@ 2024-02-14 15:19       ` Prashant Upadhyaya
  0 siblings, 0 replies; 5+ messages in thread
From: Prashant Upadhyaya @ 2024-02-14 15:19 UTC (permalink / raw)
  To: Jerin Jacob; +Cc: Bruce Richardson, dev

On Tue, 6 Feb 2024 at 21:28, Jerin Jacob <jerinjacobk@gmail.com> wrote:
>
> On Tue, Feb 6, 2024 at 9:20 PM Prashant Upadhyaya
> <praupadhyaya@gmail.com> wrote:
> >
> > On Tue, 6 Feb 2024 at 19:43, Bruce Richardson
> > <bruce.richardson@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

Thanks Jerin, this is helpful.
One more question -- would you or anyone else on the list have
information about any off the shelf/custom board with ARM cores
(preferably 64 bit) which does ethernet i/o with a non PCI device on
that board and for which a DPDK PMD is already available ? I wanted to
compare the perf difference on such a board with and without PMD and
hopefully read the PMD code for that device as a reference if
available.

Regards
-Prashant

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-02-14 15:20 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-06 14:06 PMD for non PCI device Prashant Upadhyaya
2024-02-06 14:13 ` Bruce Richardson
2024-02-06 15:50   ` Prashant Upadhyaya
2024-02-06 15:58     ` Jerin Jacob
2024-02-14 15:19       ` Prashant Upadhyaya

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).