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) This patchset also includes the enablement of port representor for ixgbe and i40e PF devices. Adrien Mazarguil (1): doc: add switch representation documentation Declan Doherty (6): 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 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 | 4 + doc/guides/prog_guide/index.rst | 1 + doc/guides/prog_guide/switch_representation.rst | 829 ++++++++++++++++++++++++ drivers/net/i40e/Makefile | 3 + drivers/net/i40e/i40e_ethdev.c | 71 +- drivers/net/i40e/i40e_ethdev.h | 12 + drivers/net/i40e/i40e_vf_representor.c | 392 +++++++++++ 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 | 70 +- drivers/net/ixgbe/ixgbe_ethdev.h | 12 + drivers/net/ixgbe/ixgbe_vf_representor.c | 210 ++++++ drivers/net/ixgbe/meson.build | 4 +- lib/Makefile | 1 + lib/librte_ether/Makefile | 1 + lib/librte_ether/meson.build | 1 + lib/librte_ether/rte_ethdev.c | 291 ++++++++- lib/librte_ether/rte_ethdev.h | 10 +- lib/librte_ether/rte_ethdev_core.h | 1 + lib/librte_ether/rte_ethdev_driver.h | 87 +++ lib/librte_ether/rte_ethdev_pci.h | 12 + lib/librte_ether/rte_ethdev_representor.h | 31 + lib/librte_ether/rte_ethdev_version.map | 9 + 25 files changed, 2097 insertions(+), 21 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 create mode 100644 lib/librte_ether/rte_ethdev_representor.h -- 2.14.3