[dpdk-dev] Kill off PCI dependencies

Thomas Monjalon thomas.monjalon at 6wind.com
Thu Feb 9 17:26:09 CET 2017


2017-02-08 14:56, Stephen Hemminger:
> I am trying to make DPDK more agnostic about bus type. The existing API still
> has hardwired into that ethernet devices are either PCI or not PCI (ie pci_dev == NULL).
> Jan, Jerin, and Shreyansh started the process but it hasn't gone far enough.
> 
> It would make more sense if the existing generic device was used everywhere
> including rte_ethdev, rte_ethdev_info, etc.

Yes

> The ABI breakage is not catastrophic. Just change pci_dev to a device pointer.
> One option would be to use NEXT_ABI and/or two different calls and data structures.
> Messy but compatible. Something like
>     rte_dev_info_get returns rte_dev_info but is marked deprecated
>     rte_device_info_get returns rte_device_info

Or we can break the ABI to avoid messy code.

> One fallout is that the existing testpmd code makes lots of assumptions that
> is working with a PCI device. Things like ability to get/set PCI registers.
> I suspect this is already broken if one tries to run it on a virtual device like TAP.
> 
> Can we just turn off that functionality?

Which functionality exactly?

> Also KNI has more dependencies that ethernet devices are PCI.





More information about the dev mailing list