Skip to content

switching devices representation

Declan Doherty dpdk-dev 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v8 Latest9 patches 14 repliesIn review
  2. v79 patches 15 repliesSuperseded
  3. v68 patches 15 repliesSuperseded

Changes in v8 from the cover letter

- add detailed descriptions to switch information structures
- fix err condition checking ethdev create helper function
- fix devargs memory leak and error checking + add documentation on ethdev args.
- remove rte_eth_switch_domains structure from export items.

Patches in v8 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/9doc: add switch representation documentationdoc/guides/prog_guide/index.rst doc/guides/prog_guide/switch_representation.rst+838 -00 replies
2/9ethdev: add switch identifier parameter to portapp/test-pmd/config.c lib/librte_ether/rte_ethdev.h+39 -03 replies
3/9ethdev: add generic create/destroy ethdev APIslib/librte_ether/rte_ethdev.c lib/librte_ether/rte_ethdev_driver.h lib/librte_ether/rte_ethdev_pci.h +1 more+164 -01 reply
4/9ethdev: Add port representor device flaglib/librte_ether/rte_ethdev.c lib/librte_ether/rte_ethdev.h+5 -00 replies
5/9app/testpmd: add port name to device infoapp/test-pmd/config.c+3 -00 replies
6/9ethdev: add common devargs parserdoc/guides/prog_guide/poll_mode_drv.rst lib/Makefile lib/librte_ether/rte_ethdev.c +2 more+233 -07 replies
7/9ethdev: add switch domain allocatorlib/librte_ether/rte_ethdev.c lib/librte_ether/rte_ethdev_driver.h lib/librte_ether/rte_ethdev_version.map+95 -01 reply
8/9net/i40e: add support for representor portsdoc/guides/nics/i40e.rst drivers/net/i40e/Makefile drivers/net/i40e/i40e_ethdev.c +6 more+579 -90 replies
9/9net/ixgbe: add support for representor portsdoc/guides/nics/ixgbe.rst drivers/net/ixgbe/Makefile drivers/net/ixgbe/ixgbe_ethdev.c +4 more+325 -90 replies

Reviews trailers per patch

2 of 9 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchMarko KovacevicThomas MonjalonFerruh Yigit
SeriesR-b
1/9R-b
2/9A-b
3/9
4/9
5/9
6/9
7/9
8/9
9/9

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.

Read the v8 thread

Cover letter [dpdk=-dev][PATCH v8 0/9] switching devices representation

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.

V8:
- add detailed descriptions to switch information structures
- fix err condition checking ethdev create helper function
- fix devargs memory leak and error checking + add documentation on ethdev args.
- remove rte_eth_switch_domains structure from export items.

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/nics/i40e.rst                        |  15 +
 doc/guides/nics/ixgbe.rst                       |  14 +
 doc/guides/prog_guide/index.rst                 |   1 +
 doc/guides/prog_guide/poll_mode_drv.rst         |  19 +
 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                |  80 ++-
 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                   | 331 ++++++++++
 lib/librte_ether/rte_ethdev.h                   |  30 +
 lib/librte_ether/rte_ethdev_driver.h            | 126 ++++
 lib/librte_ether/rte_ethdev_pci.h               |  12 +
 lib/librte_ether/rte_ethdev_version.map         |   5 +
 25 files changed, 2280 insertions(+), 17 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
Signature · 1 line
2.14.3