From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Kill off PCI dependencies Date: Wed, 8 Feb 2017 14:56:40 -0800 Message-ID: <20170208145640.66deb7f0@xeon-e3> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit To: dev@dpdk.org Return-path: Received: from mail-pf0-f177.google.com (mail-pf0-f177.google.com [209.85.192.177]) by dpdk.org (Postfix) with ESMTP id DC39C952 for ; Wed, 8 Feb 2017 23:56:48 +0100 (CET) Received: by mail-pf0-f177.google.com with SMTP id y143so44774375pfb.0 for ; Wed, 08 Feb 2017 14:56:48 -0800 (PST) Received: from xeon-e3 (204-195-18-65.wavecable.com. [204.195.18.65]) by smtp.gmail.com with ESMTPSA id m12sm22936557pgc.46.2017.02.08.14.56.47 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 08 Feb 2017 14:56:47 -0800 (PST) List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "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.