[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