From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 93A0A9A8D for ; Fri, 10 Apr 2015 20:47:17 +0200 (CEST) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga102.jf.intel.com with ESMTP; 10 Apr 2015 11:47:16 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.11,558,1422950400"; d="scan'208";a="693556490" Received: from orsmsx101.amr.corp.intel.com ([10.22.225.128]) by fmsmga001.fm.intel.com with ESMTP; 10 Apr 2015 11:47:16 -0700 Received: from fmsmsx120.amr.corp.intel.com (10.18.124.208) by ORSMSX101.amr.corp.intel.com (10.22.225.128) with Microsoft SMTP Server (TLS) id 14.3.224.2; Fri, 10 Apr 2015 11:47:15 -0700 Received: from fmsmsx113.amr.corp.intel.com ([169.254.13.111]) by fmsmsx120.amr.corp.intel.com ([169.254.15.198]) with mapi id 14.03.0224.002; Fri, 10 Apr 2015 11:47:15 -0700 From: "Wiles, Keith" To: "Wiles, Keith" , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [RFC PATCH 0/4] Extending DPDK to have more devices supported Thread-Index: AQHQc77CI2NBUQD/xUiQicrPF1U3xA== Date: Fri, 10 Apr 2015 18:47:14 +0000 Message-ID: References: <1428526720-50221-1-git-send-email-keith.wiles@intel.com> In-Reply-To: <1428526720-50221-1-git-send-email-keith.wiles@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.252.195.97] Content-Type: text/plain; charset="us-ascii" Content-ID: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [RFC PATCH 0/4] Extending DPDK to have more devices supported X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2015 18:47:18 -0000 Any comments on this RFC Patch? Must be perfect right :-) On 4/8/15, 3:58 PM, "Keith Wiles" wrote: >Hi All, > >Here is a set of RFC patches to update DPDK to support a generic set of >devices. The patches that follow create two files eal_common_device.h >and rte_common_device.c and then a few items in rte_ethdev.[ch] were moved >to cleanup those files by moving the device generic values and functions >into a common set of device generic files. > >In the rte_common_device.h file are a couple of macros to abstract a few >common items from rte_ethdev.h which are not ethernet specific. These >generic device specific structure members are place into macros to be >placed at the top of each new device type crypto, hardware offload, dpi, >compression and possible others to be defined later. > Note: could have used nested structures, but required a larger change >set. > >I did not pull the Rx/Tx Routines into a common function, but it could be >done if everyone agrees. It does not mean every device will use a common >Rx/Tx routine. Without pulling Rx/Tx routines into a common file allows >the device writer to have similar or different set of routines. > >These patches do not contain any new devices as these are being work on >today. > >More cleanup of ethdev could be done to remove NIC specific features not >supported in all devices and someone needs to do that cleanup IMO. > >The code is untested and I wanted to get something our for others to poke >at >today and more could be pulled out of ethdev as well. I/We will be looking >at testing the code as we get more completed. > >I have not finished up the crypto APIs yet, but I am planning to work on >those additions today. The crypto code we are using is the Quick Assist >code >found on 01.org, but we need to update the code to be move DPDK friendly. > >The QAT code does have a modified like API similar to Linux Kernel crypto >API >and I want to review that code first. > >Regards, >++Keith > >Keith Wiles (4): > Rename of device types to be generic device names. > Add the new common device header and C file. > Update files to build new device generic common files and headers. > Update the rte_ethdev.[ch] files for the new device generic changes. > > app/test/test_link_bonding.c | 10 +- > app/test/virtual_pmd.c | 4 +- > examples/link_status_interrupt/main.c | 6 +- > lib/librte_eal/bsdapp/eal/Makefile | 1 + > lib/librte_eal/common/Makefile | 1 + > lib/librte_eal/common/eal_common_device.c | 185 +++++++ > lib/librte_eal/common/include/rte_common_device.h | 617 >++++++++++++++++++++++ > lib/librte_eal/common/include/rte_log.h | 1 + > lib/librte_eal/linuxapp/eal/Makefile | 1 + > lib/librte_ether/rte_ethdev.c | 290 ++-------- > lib/librte_ether/rte_ethdev.h | 225 +++----- > lib/librte_pmd_af_packet/rte_eth_af_packet.c | 2 +- > lib/librte_pmd_bond/rte_eth_bond_api.c | 6 +- > lib/librte_pmd_bond/rte_eth_bond_pmd.c | 12 +- > lib/librte_pmd_bond/rte_eth_bond_private.h | 2 +- > lib/librte_pmd_e1000/em_ethdev.c | 8 +- > lib/librte_pmd_e1000/em_rxtx.c | 4 +- > lib/librte_pmd_e1000/igb_ethdev.c | 2 +- > lib/librte_pmd_i40e/i40e_ethdev.c | 4 +- > lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 2 +- > lib/librte_pmd_mlx4/mlx4.c | 2 +- > lib/librte_pmd_null/rte_eth_null.c | 2 +- > lib/librte_pmd_pcap/rte_eth_pcap.c | 2 +- > lib/librte_pmd_ring/rte_eth_ring.c | 2 +- > lib/librte_pmd_virtio/virtio_ethdev.c | 2 +- > lib/librte_pmd_xenvirt/rte_eth_xenvirt.c | 2 +- > 26 files changed, 969 insertions(+), 426 deletions(-) > create mode 100644 lib/librte_eal/common/eal_common_device.c > create mode 100644 lib/librte_eal/common/include/rte_common_device.h > >--=20 >2.3.0 >