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