From mboxrd@z Thu Jan 1 00:00:00 1970 From: Declan Doherty Subject: [PATCH v7 0/9] switching devices representation Date: Mon, 16 Apr 2018 14:05:56 +0100 Message-ID: <20180416130605.6509-1-declan.doherty@intel.com> References: <20180328135433.20203-1-declan.doherty@intel.com> Cc: Adrien Mazarguil , Ferruh Yigit , Thomas Monjalon , Shahaf Shuler , Declan Doherty To: dev@dpdk.org Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id 5FED8803B for ; Mon, 16 Apr 2018 15:14:34 +0200 (CEST) In-Reply-To: <20180328135433.20203-1-declan.doherty@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This patchset follows on from the port rerpesentor patchsets and the community discussion that resulted. It outlines the model for representing and controlling switching capable devices in a new programmer's guide entry based upon the excellent summary by Adrien Mazarguil in (http://dpdk.org/ml/archives/dev/2018-March/092513.html). The next patches introduce changes to librte_ether to: 1, support the definition of a switch domain and make it public to application through the rte_eth_dev_info structure. 2, Add generic ethdev create/destroy APIs to facilitate and generalise the creation of ethdev's on different bus types. 3, Add ethdev attribute to dev_flags to specify that a port is a representor port and make public through the rte_eth_dev_info structure. 4, Add devargs parsing for generic eth_devargs to facilate parsing in NET PMDs. This will be refactored to take account of the changes in (http://dpdk.org/ml/archives/dev/2018-March/092513.html) 5, Add new API to allocate switch domain ids to devices which support this feature. This patchset also includes the enablement of vf port representor for ixgbe and i40e PF devices. V7: This patch address the following changes: - fixes in documentation patch - changes the default value of switch domain id to be INVALID to allow applications to easily identify devices which can/cannot support the concept. Updates the switch information available through the rte_eth_dev_info structure. - remove the rte_ethdev_representor.h header and leave representor specific initialisation to driver - add new APIs for allocating and freeing switch domain identifier to enable PMDs to have unique switch domaind ids without the ethdev infrastructure placing any restriction on how theses are managed by devices. - bug fix in ethdev args parsing code. Declan Doherty (8): doc: add switch representation documentation ethdev: add switch identifier parameter to port ethdev: add generic create/destroy ethdev APIs ethdev: Add port representor device flag app/testpmd: add port name to device info ethdev: add switch domain allocator net/i40e: add support for representor ports net/ixgbe: add support for representor ports Remy Horton (1): ethdev: add common devargs parser app/test-pmd/config.c | 15 + doc/guides/prog_guide/index.rst | 1 + doc/guides/prog_guide/switch_representation.rst | 837 ++++++++++++++++++++++++ drivers/net/i40e/Makefile | 3 + drivers/net/i40e/i40e_ethdev.c | 82 ++- drivers/net/i40e/i40e_ethdev.h | 16 + drivers/net/i40e/i40e_vf_representor.c | 405 ++++++++++++ drivers/net/i40e/meson.build | 4 +- drivers/net/i40e/rte_pmd_i40e.c | 43 ++ drivers/net/i40e/rte_pmd_i40e.h | 18 + drivers/net/ixgbe/Makefile | 1 + drivers/net/ixgbe/ixgbe_ethdev.c | 73 ++- drivers/net/ixgbe/ixgbe_ethdev.h | 14 + drivers/net/ixgbe/ixgbe_pf.c | 7 + drivers/net/ixgbe/ixgbe_vf_representor.c | 217 ++++++ drivers/net/ixgbe/meson.build | 1 + lib/Makefile | 1 + lib/librte_ether/rte_ethdev.c | 345 +++++++++- lib/librte_ether/rte_ethdev.h | 26 +- lib/librte_ether/rte_ethdev_driver.h | 126 ++++ lib/librte_ether/rte_ethdev_pci.h | 12 + lib/librte_ether/rte_ethdev_version.map | 12 + 22 files changed, 2239 insertions(+), 20 deletions(-) create mode 100644 doc/guides/prog_guide/switch_representation.rst create mode 100644 drivers/net/i40e/i40e_vf_representor.c create mode 100644 drivers/net/ixgbe/ixgbe_vf_representor.c -- 2.14.3