[dpdk-dev] Kill off PCI dependencies

Stephen Hemminger stephen at networkplumber.org
Wed Feb 8 23:56:40 CET 2017


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.

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

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?

Also KNI has more dependencies that ethernet devices are PCI.



More information about the dev mailing list