[dpdk-dev] [PATCH v6 0/7] switching device representation

Declan Doherty declan.doherty at intel.com
Wed Mar 28 15:54:25 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)

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



More information about the dev mailing list