From mboxrd@z Thu Jan 1 00:00:00 1970 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) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:subject:message-id:mime-version :content-transfer-encoding; bh=m/LQBNkdWSPbiLJYO8Ps4fV7YTzzGWmqoHZnEKXqizM=; b=eBX+CxnD30VE2rzvqINsPkZ7mtlE1K0xgK/Z9Z78b5i18aiq6NCUEOn8bn0cgjhejy /Ym0H6OjmYxDoG317yeQkYbig4Oyn+F7ST4Tcq4iKcnGlAABlRhopx9wrafT3tdj/Kvb Y/BiqnMsBC1vKKIdn+nkPKh0k8kV3Ppo7SKafFT9BiGXLJVUHy1re+UxPFOgT92bD045 FCBPTMukxp4ntOPq1EebGUwlrsoiphSB4CzBFcoMYOZAbCtqmdMiQ39Acg/WlikR45zL C4ufzcwRDQp2n8MWlBHGzdeIsp/pgq8aoY/Y/ORYkchjHEPne/RqaUiXaCLZudqI6uzi FR/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:subject:message-id:mime-version :content-transfer-encoding; bh=m/LQBNkdWSPbiLJYO8Ps4fV7YTzzGWmqoHZnEKXqizM=; b=RnPqmINiGuZqxe2tQ5BgyChhqHqus1McJvG0H6zdcuP20OFSpzEC3K4qQ3fRMtOW/B eCHtwCBKf0bfm+2C1mcpDRfbTYANPPZO+bw4sWurGvq48yS8b1hlWXWCAiNo6J73HwCD ozagdBIyt4EIUuJ5WtG6JvC2kZN+UcmgVOxkla0CZxi7UA3zxrF0wmxa4z7Qlo9QNIHg pR77tOFn5KZ+CbW/6123SDid9eGrzMjFcpUWuJZWLHNmKG2wY6lJioWQr3YpOQEtEL7h 7LLKNjZU6ZFh6bxYZcQXF8zdMrL4UeQfGpnEmiAd90kf6xCculafKf4eYI5RqVCy6fti hfDA== X-Gm-Message-State: AIkVDXJMhMV8XJLqDtPFLKNHmDvQtFD1CIjcdT/oPOIl7484fIxEkWCmNuTwglqQA0eXnw== X-Received: by 10.84.142.1 with SMTP id 1mr36895952plw.127.1486594607931; Wed, 08 Feb 2017 14:56:47 -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) Date: Wed, 8 Feb 2017 14:56:40 -0800 From: Stephen Hemminger To: dev@dpdk.org Message-ID: <20170208145640.66deb7f0@xeon-e3> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: [dpdk-dev] Kill off PCI dependencies X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Feb 2017 22:56:49 -0000 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.