DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] Kill off PCI dependencies
@ 2017-02-08 22:56 Stephen Hemminger
  2017-02-09 16:26 ` Thomas Monjalon
  0 siblings, 1 reply; 2+ messages in thread
From: Stephen Hemminger @ 2017-02-08 22:56 UTC (permalink / raw)
  To: dev

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.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [dpdk-dev] Kill off PCI dependencies
  2017-02-08 22:56 [dpdk-dev] Kill off PCI dependencies Stephen Hemminger
@ 2017-02-09 16:26 ` Thomas Monjalon
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Monjalon @ 2017-02-09 16:26 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev

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.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-02-09 16:26 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-08 22:56 [dpdk-dev] Kill off PCI dependencies Stephen Hemminger
2017-02-09 16:26 ` Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).