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 [thread overview]
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
next prev 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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).