DPDK patches and discussions
 help / color / mirror / Atom feed
From: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
To: dev@dpdk.org
Subject: [dpdk-dev] [PATCH v2 00/38] net/sfc: support port representors
Date: Mon, 11 Oct 2021 17:48:19 +0300
Message-ID: <20211011144857.446802-1-andrew.rybchenko@oktetlabs.ru> (raw)
In-Reply-To: <20210827065717.1838258-1-andrew.rybchenko@oktetlabs.ru>

Support port representors on SN1000 SmartNICs including:
 - new syntax with controller, PF and VF specification
 - PF representors
 - two controllers: host and embedded SoC

The patch series depends on [1] (including build dependency) since it
provides representors info on admin PF only.

[1] https://patches.dpdk.org/project/dpdk/list/?series=18373

v2:
    - rebase on top of release callback prototype changes
    - improve switch mode auto-detection

Andrew Rybchenko (2):
  common/sfc_efx/base: update MCDI headers
  common/sfc_efx/base: update EF100 registers definitions

Igor Romanov (23):
  net/sfc: add switch mode device argument
  net/sfc: insert switchdev mode MAE rules
  common/sfc_efx/base: add an API to get mport ID by selector
  net/sfc: support EF100 Tx override prefix
  net/sfc: add representors proxy infrastructure
  net/sfc: reserve TxQ and RxQ for port representors
  net/sfc: move adapter state enum to separate header
  net/sfc: add port representors infrastructure
  common/sfc_efx/base: add filter ingress mport matching field
  common/sfc_efx/base: add API to get mport selector by ID
  common/sfc_efx/base: add mport alias MCDI wrappers
  net/sfc: add representor proxy port API
  net/sfc: implement representor queue setup and release
  net/sfc: implement representor RxQ start/stop
  net/sfc: implement representor TxQ start/stop
  net/sfc: implement port representor start and stop
  net/sfc: implement port representor link update
  net/sfc: support multiple device probe
  net/sfc: implement representor Tx routine
  net/sfc: use xword type for EF100 Rx prefix
  net/sfc: handle ingress m-port in EF100 Rx prefix
  net/sfc: implement representor Rx routine
  net/sfc: add simple port representor statistics

Viacheslav Galaktionov (13):
  common/sfc_efx/base: allow creating invalid mport selectors
  net/sfc: free MAE lock once switch domain is assigned
  common/sfc_efx/base: add multi-host function M-port selector
  common/sfc_efx/base: retrieve function interfaces for VNICs
  common/sfc_efx/base: add a means to read MAE mport journal
  common/sfc_efx/base: allow getting VNIC MCDI client handles
  net/sfc: maintain controller to EFX interface mapping
  net/sfc: store PCI address for represented entities
  net/sfc: include controller and port in representor name
  net/sfc: support new representor parameter syntax
  net/sfc: use switch port ID as representor ID
  net/sfc: implement the representor info API
  net/sfc: update comment about representor support

 doc/guides/nics/sfc_efx.rst                  |   24 +
 doc/guides/rel_notes/release_21_11.rst       |    6 +
 drivers/common/sfc_efx/base/ef10_filter.c    |   11 +-
 drivers/common/sfc_efx/base/ef10_impl.h      |    3 +-
 drivers/common/sfc_efx/base/ef10_nic.c       |    4 +-
 drivers/common/sfc_efx/base/efx.h            |  155 ++
 drivers/common/sfc_efx/base/efx_impl.h       |    6 +
 drivers/common/sfc_efx/base/efx_mae.c        |  506 +++++-
 drivers/common/sfc_efx/base/efx_mcdi.c       |  128 +-
 drivers/common/sfc_efx/base/efx_mcdi.h       |   54 +
 drivers/common/sfc_efx/base/efx_regs_ef100.h |  106 +-
 drivers/common/sfc_efx/base/efx_regs_mcdi.h  | 1211 ++++++++++++-
 drivers/common/sfc_efx/base/rhead_rx.c       |    2 +-
 drivers/common/sfc_efx/version.map           |    9 +
 drivers/net/sfc/meson.build                  |    2 +
 drivers/net/sfc/sfc.c                        |  151 +-
 drivers/net/sfc/sfc.h                        |   77 +-
 drivers/net/sfc/sfc_dp.c                     |   46 +
 drivers/net/sfc/sfc_dp.h                     |   25 +
 drivers/net/sfc/sfc_ef100_rx.c               |   36 +-
 drivers/net/sfc/sfc_ef100_tx.c               |   25 +
 drivers/net/sfc/sfc_ethdev.c                 |  809 ++++++++-
 drivers/net/sfc/sfc_ethdev_state.h           |   72 +
 drivers/net/sfc/sfc_ev.h                     |   56 +-
 drivers/net/sfc/sfc_flow.c                   |   10 +-
 drivers/net/sfc/sfc_intr.c                   |   12 +-
 drivers/net/sfc/sfc_kvargs.c                 |    2 +
 drivers/net/sfc/sfc_kvargs.h                 |   10 +
 drivers/net/sfc/sfc_mae.c                    |  218 ++-
 drivers/net/sfc/sfc_mae.h                    |   56 +
 drivers/net/sfc/sfc_port.c                   |    2 +-
 drivers/net/sfc/sfc_repr.c                   | 1085 ++++++++++++
 drivers/net/sfc/sfc_repr.h                   |   44 +
 drivers/net/sfc/sfc_repr_proxy.c             | 1661 ++++++++++++++++++
 drivers/net/sfc/sfc_repr_proxy.h             |  147 ++
 drivers/net/sfc/sfc_repr_proxy_api.h         |   47 +
 drivers/net/sfc/sfc_sriov.c                  |    9 +-
 drivers/net/sfc/sfc_switch.c                 |  207 ++-
 drivers/net/sfc/sfc_switch.h                 |   56 +
 drivers/net/sfc/sfc_tx.c                     |   42 +-
 drivers/net/sfc/sfc_tx.h                     |    1 +
 41 files changed, 6899 insertions(+), 234 deletions(-)
 create mode 100644 drivers/net/sfc/sfc_ethdev_state.h
 create mode 100644 drivers/net/sfc/sfc_repr.c
 create mode 100644 drivers/net/sfc/sfc_repr.h
 create mode 100644 drivers/net/sfc/sfc_repr_proxy.c
 create mode 100644 drivers/net/sfc/sfc_repr_proxy.h
 create mode 100644 drivers/net/sfc/sfc_repr_proxy_api.h

-- 
2.30.2


  parent reply	other threads:[~2021-10-11 14:49 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-27  6:56 [dpdk-dev] [PATCH " Andrew Rybchenko
2021-08-27  6:56 ` [dpdk-dev] [PATCH 01/38] common/sfc_efx/base: update MCDI headers Andrew Rybchenko
2021-08-27  6:56 ` [dpdk-dev] [PATCH 02/38] common/sfc_efx/base: update EF100 registers definitions Andrew Rybchenko
2021-08-27  6:56 ` [dpdk-dev] [PATCH 03/38] net/sfc: add switch mode device argument Andrew Rybchenko
2021-08-27  6:56 ` [dpdk-dev] [PATCH 04/38] net/sfc: insert switchdev mode MAE rules Andrew Rybchenko
2021-08-27  6:56 ` [dpdk-dev] [PATCH 05/38] common/sfc_efx/base: add an API to get mport ID by selector Andrew Rybchenko
2021-08-27  6:56 ` [dpdk-dev] [PATCH 06/38] net/sfc: support EF100 Tx override prefix Andrew Rybchenko
2021-08-27  6:56 ` [dpdk-dev] [PATCH 07/38] net/sfc: add representors proxy infrastructure Andrew Rybchenko
2021-08-27  6:56 ` [dpdk-dev] [PATCH 08/38] net/sfc: reserve TxQ and RxQ for port representors Andrew Rybchenko
2021-08-27  6:56 ` [dpdk-dev] [PATCH 09/38] net/sfc: move adapter state enum to separate header Andrew Rybchenko
2021-08-27  6:56 ` [dpdk-dev] [PATCH 10/38] common/sfc_efx/base: allow creating invalid mport selectors Andrew Rybchenko
2021-08-27  6:56 ` [dpdk-dev] [PATCH 11/38] net/sfc: add port representors infrastructure Andrew Rybchenko
2021-08-27  6:56 ` [dpdk-dev] [PATCH 12/38] common/sfc_efx/base: add filter ingress mport matching field Andrew Rybchenko
2021-08-27  6:56 ` [dpdk-dev] [PATCH 13/38] common/sfc_efx/base: add API to get mport selector by ID Andrew Rybchenko
2021-08-27  6:56 ` [dpdk-dev] [PATCH 14/38] common/sfc_efx/base: add mport alias MCDI wrappers Andrew Rybchenko
2021-08-27  6:56 ` [dpdk-dev] [PATCH 15/38] net/sfc: add representor proxy port API Andrew Rybchenko
2021-08-27  6:56 ` [dpdk-dev] [PATCH 16/38] net/sfc: implement representor queue setup and release Andrew Rybchenko
2021-08-27  6:56 ` [dpdk-dev] [PATCH 17/38] net/sfc: implement representor RxQ start/stop Andrew Rybchenko
2021-08-27  6:56 ` [dpdk-dev] [PATCH 18/38] net/sfc: implement representor TxQ start/stop Andrew Rybchenko
2021-08-27  6:56 ` [dpdk-dev] [PATCH 19/38] net/sfc: implement port representor start and stop Andrew Rybchenko
2021-08-27  6:56 ` [dpdk-dev] [PATCH 20/38] net/sfc: implement port representor link update Andrew Rybchenko
2021-08-27  6:57 ` [dpdk-dev] [PATCH 21/38] net/sfc: support multiple device probe Andrew Rybchenko
2021-08-27  6:57 ` [dpdk-dev] [PATCH 22/38] net/sfc: implement representor Tx routine Andrew Rybchenko
2021-08-27  6:57 ` [dpdk-dev] [PATCH 23/38] net/sfc: use xword type for EF100 Rx prefix Andrew Rybchenko
2021-08-27  6:57 ` [dpdk-dev] [PATCH 24/38] net/sfc: handle ingress m-port in " Andrew Rybchenko
2021-08-27  6:57 ` [dpdk-dev] [PATCH 25/38] net/sfc: implement representor Rx routine Andrew Rybchenko
2021-08-27  6:57 ` [dpdk-dev] [PATCH 26/38] net/sfc: add simple port representor statistics Andrew Rybchenko
2021-08-27  6:57 ` [dpdk-dev] [PATCH 27/38] net/sfc: free MAE lock once switch domain is assigned Andrew Rybchenko
2021-08-27  6:57 ` [dpdk-dev] [PATCH 28/38] common/sfc_efx/base: add multi-host function M-port selector Andrew Rybchenko
2021-08-27  6:57 ` [dpdk-dev] [PATCH 29/38] common/sfc_efx/base: retrieve function interfaces for VNICs Andrew Rybchenko
2021-08-27  6:57 ` [dpdk-dev] [PATCH 30/38] common/sfc_efx/base: add a means to read MAE mport journal Andrew Rybchenko
2021-08-27  6:57 ` [dpdk-dev] [PATCH 31/38] common/sfc_efx/base: allow getting VNIC MCDI client handles Andrew Rybchenko
2021-08-27  6:57 ` [dpdk-dev] [PATCH 32/38] net/sfc: maintain controller to EFX interface mapping Andrew Rybchenko
2021-08-27  6:57 ` [dpdk-dev] [PATCH 33/38] net/sfc: store PCI address for represented entities Andrew Rybchenko
2021-08-27  6:57 ` [dpdk-dev] [PATCH 34/38] net/sfc: include controller and port in representor name Andrew Rybchenko
2021-08-27  6:57 ` [dpdk-dev] [PATCH 35/38] net/sfc: support new representor parameter syntax Andrew Rybchenko
2021-08-27  6:57 ` [dpdk-dev] [PATCH 36/38] net/sfc: use switch port ID as representor ID Andrew Rybchenko
2021-08-27  6:57 ` [dpdk-dev] [PATCH 37/38] net/sfc: implement the representor info API Andrew Rybchenko
2021-08-27  6:57 ` [dpdk-dev] [PATCH 38/38] net/sfc: update comment about representor support Andrew Rybchenko
2021-10-11 14:48 ` Andrew Rybchenko [this message]
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 01/38] common/sfc_efx/base: update MCDI headers Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 02/38] common/sfc_efx/base: update EF100 registers definitions Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 03/38] net/sfc: add switch mode device argument Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 04/38] net/sfc: insert switchdev mode MAE rules Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 05/38] common/sfc_efx/base: add an API to get mport ID by selector Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 06/38] net/sfc: support EF100 Tx override prefix Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 07/38] net/sfc: add representors proxy infrastructure Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 08/38] net/sfc: reserve TxQ and RxQ for port representors Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 09/38] net/sfc: move adapter state enum to separate header Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 10/38] common/sfc_efx/base: allow creating invalid mport selectors Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 11/38] net/sfc: add port representors infrastructure Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 12/38] common/sfc_efx/base: add filter ingress mport matching field Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 13/38] common/sfc_efx/base: add API to get mport selector by ID Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 14/38] common/sfc_efx/base: add mport alias MCDI wrappers Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 15/38] net/sfc: add representor proxy port API Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 16/38] net/sfc: implement representor queue setup and release Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 17/38] net/sfc: implement representor RxQ start/stop Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 18/38] net/sfc: implement representor TxQ start/stop Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 19/38] net/sfc: implement port representor start and stop Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 20/38] net/sfc: implement port representor link update Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 21/38] net/sfc: support multiple device probe Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 22/38] net/sfc: implement representor Tx routine Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 23/38] net/sfc: use xword type for EF100 Rx prefix Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 24/38] net/sfc: handle ingress m-port in " Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 25/38] net/sfc: implement representor Rx routine Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 26/38] net/sfc: add simple port representor statistics Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 27/38] net/sfc: free MAE lock once switch domain is assigned Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 28/38] common/sfc_efx/base: add multi-host function M-port selector Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 29/38] common/sfc_efx/base: retrieve function interfaces for VNICs Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 30/38] common/sfc_efx/base: add a means to read MAE mport journal Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 31/38] common/sfc_efx/base: allow getting VNIC MCDI client handles Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 32/38] net/sfc: maintain controller to EFX interface mapping Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 33/38] net/sfc: store PCI address for represented entities Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 34/38] net/sfc: include controller and port in representor name Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 35/38] net/sfc: support new representor parameter syntax Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 36/38] net/sfc: use switch port ID as representor ID Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 37/38] net/sfc: implement the representor info API Andrew Rybchenko
2021-10-11 14:48   ` [dpdk-dev] [PATCH v2 38/38] net/sfc: update comment about representor support Andrew Rybchenko
2021-10-12 16:45   ` [dpdk-dev] [PATCH v2 00/38] net/sfc: support port representors Ferruh Yigit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211011144857.446802-1-andrew.rybchenko@oktetlabs.ru \
    --to=andrew.rybchenko@oktetlabs.ru \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git