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.