[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