[dpdk-dev] [PATCH v7 0/9] switching devices representation
Declan Doherty
declan.doherty at intel.com
Mon Apr 16 15:05:56 CEST 2018
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
More information about the dev
mailing list