DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH v1 00/23] net/mlx5: support Geneve and options for HWS
@ 2023-12-03 11:25 Michael Baum
  2023-12-03 11:25 ` [PATCH v1 01/23] common/mlx5: fix duplicate read of general capabilities Michael Baum
                   ` (24 more replies)
  0 siblings, 25 replies; 50+ messages in thread
From: Michael Baum @ 2023-12-03 11:25 UTC (permalink / raw)
  To: dev
  Cc: Matan Azrad, Raslan Darawsheh, Viacheslav Ovsiienko, Ori Kam,
	Suanming Mou

Add HWS support for both GENEVE and GENEVE TLV option headers.
This patchset supports:

 - Add HW support for "RTE_FLOW_ITEM_TYPE_GENEVE" flow item.
 - Add HW support for "RTE_FLOW_ITEM_TYPE_GENEVE_OPT" flow item.
 - Add HW support for "RTE_FLOW_FIELD_GENEVE_VNI" for modify field flow
   action.
 - Add HW support for "RTE_FLOW_FIELD_GENEVE_OPT_TYPE" for modify field
   flow action.
 - Add HW support for "RTE_FLOW_FIELD_GENEVE_OPT_CLASS" for modify field
   flow action.
 - Add HW support for "RTE_FLOW_FIELD_GENEVE_OPT_DATA" for modify field
   flow action.

The GENEVE TLV options support using flex parser.
The profile should be specified to either 8 for multiple option or 0 for
single option.
A new API is added to create the GENEVE option parser before using it in
templates API.

Alex Vesker (4):
  net/mlx5/hws: fix tunnel protocol checks
  net/mlx5/hws: increase hl size for future compatibility
  net/mlx5/hws: support GENEVE matching
  net/mlx5/hws: support GENEVE options header

Michael Baum (19):
  common/mlx5: fix duplicate read of general capabilities
  common/mlx5: fix query sample info capability
  net/mlx5: remove GENEVE options length limitation
  net/mlx5: fix GENEVE option item translation
  common/mlx5: add system image GUID attribute
  common/mlx5: add GENEVE TLV option attribute structure
  common/mlx5: add PRM attribute for TLV sample
  common/mlx5: add sample info query syndrome into error log
  common/mlx5: query GENEVE option sample ID from HCA attr
  common/mlx5: add function to query GENEVE TLV option
  net/mlx5: add physical device handle
  net/mlx5: add GENEVE TLV options parser API
  net/mlx5: add API to expose GENEVE option FW information
  net/mlx5: add testpmd support for GENEVE TLV parser
  net/mlx5: add support for GENEVE and option item in HWS
  net/mlx5: add GENEVE option support for profile 0
  net/mlx5: add GENEVE option support for group 0
  net/mlx5: add support for GENEVE VNI modify field
  net/mlx5: add support for modify GENEVE option header

 doc/guides/nics/mlx5.rst               |  251 +++++-
 doc/guides/platform/mlx5.rst           |    2 +
 doc/guides/rel_notes/release_24_03.rst |    9 +
 drivers/common/mlx5/mlx5_devx_cmds.c   |  139 +++-
 drivers/common/mlx5/mlx5_devx_cmds.h   |   29 +-
 drivers/common/mlx5/mlx5_prm.h         |   20 +-
 drivers/common/mlx5/version.map        |    1 +
 drivers/net/mlx5/hws/mlx5dr_definer.c  |  277 ++++++-
 drivers/net/mlx5/hws/mlx5dr_definer.h  |   49 +-
 drivers/net/mlx5/meson.build           |    1 +
 drivers/net/mlx5/mlx5.c                |  115 ++-
 drivers/net/mlx5/mlx5.h                |   21 +
 drivers/net/mlx5/mlx5_flow.c           |   30 +
 drivers/net/mlx5/mlx5_flow.h           |   92 ++-
 drivers/net/mlx5/mlx5_flow_dv.c        |  158 ++--
 drivers/net/mlx5/mlx5_flow_geneve.c    | 1011 ++++++++++++++++++++++++
 drivers/net/mlx5/mlx5_flow_hw.c        |  127 ++-
 drivers/net/mlx5/mlx5_testpmd.c        |  556 ++++++++++++-
 drivers/net/mlx5/rte_pmd_mlx5.h        |  102 +++
 drivers/net/mlx5/version.map           |    3 +
 20 files changed, 2809 insertions(+), 184 deletions(-)
 create mode 100644 drivers/net/mlx5/mlx5_flow_geneve.c

-- 
2.25.1


^ permalink raw reply	[flat|nested] 50+ messages in thread

end of thread, other threads:[~2024-01-29 12:21 UTC | newest]

Thread overview: 50+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-03 11:25 [PATCH v1 00/23] net/mlx5: support Geneve and options for HWS Michael Baum
2023-12-03 11:25 ` [PATCH v1 01/23] common/mlx5: fix duplicate read of general capabilities Michael Baum
2023-12-03 11:25 ` [PATCH v1 02/23] common/mlx5: fix query sample info capability Michael Baum
2023-12-03 11:25 ` [PATCH v1 03/23] net/mlx5/hws: fix tunnel protocol checks Michael Baum
2023-12-03 11:25 ` [PATCH v1 04/23] net/mlx5: remove GENEVE options length limitation Michael Baum
2023-12-03 11:25 ` [PATCH v1 05/23] net/mlx5: fix GENEVE option item translation Michael Baum
2023-12-03 11:25 ` [PATCH v1 06/23] common/mlx5: add system image GUID attribute Michael Baum
2023-12-03 11:25 ` [PATCH v1 07/23] common/mlx5: add GENEVE TLV option attribute structure Michael Baum
2023-12-03 11:25 ` [PATCH v1 08/23] common/mlx5: add PRM attribute for TLV sample Michael Baum
2023-12-03 11:25 ` [PATCH v1 09/23] common/mlx5: add sample info query syndrome into error log Michael Baum
2023-12-03 11:25 ` [PATCH v1 10/23] common/mlx5: query GENEVE option sample ID from HCA attr Michael Baum
2023-12-03 11:25 ` [PATCH v1 11/23] common/mlx5: add function to query GENEVE TLV option Michael Baum
2023-12-03 11:25 ` [PATCH v1 12/23] net/mlx5: add physical device handle Michael Baum
2023-12-03 11:25 ` [PATCH v1 13/23] net/mlx5: add GENEVE TLV options parser API Michael Baum
2023-12-03 11:25 ` [PATCH v1 14/23] net/mlx5: add API to expose GENEVE option FW information Michael Baum
2023-12-03 11:25 ` [PATCH v1 15/23] net/mlx5: add testpmd support for GENEVE TLV parser Michael Baum
2023-12-03 11:25 ` [PATCH v1 16/23] net/mlx5/hws: increase hl size for future compatibility Michael Baum
2023-12-03 11:25 ` [PATCH v1 17/23] net/mlx5/hws: support GENEVE matching Michael Baum
2023-12-03 11:25 ` [PATCH v1 18/23] net/mlx5/hws: support GENEVE options header Michael Baum
2023-12-03 11:25 ` [PATCH v1 19/23] net/mlx5: add support for GENEVE and option item in HWS Michael Baum
2023-12-03 11:25 ` [PATCH v1 20/23] net/mlx5: add GENEVE option support for profile 0 Michael Baum
2023-12-03 11:25 ` [PATCH v1 21/23] net/mlx5: add GENEVE option support for group 0 Michael Baum
2023-12-03 11:25 ` [PATCH v1 22/23] net/mlx5: add support for GENEVE VNI modify field Michael Baum
2023-12-03 11:25 ` [PATCH v1 23/23] net/mlx5: add support for modify GENEVE option header Michael Baum
2024-01-25  9:42 ` [PATCH v1 00/23] net/mlx5: support Geneve and options for HWS Suanming Mou
2024-01-25 13:30 ` [PATCH v2 " Michael Baum
2024-01-25 13:30   ` [PATCH v2 01/23] common/mlx5: fix duplicate read of general capabilities Michael Baum
2024-01-25 13:30   ` [PATCH v2 02/23] common/mlx5: fix query sample info capability Michael Baum
2024-01-25 13:30   ` [PATCH v2 03/23] net/mlx5/hws: fix tunnel protocol checks Michael Baum
2024-01-25 13:30   ` [PATCH v2 04/23] net/mlx5: remove GENEVE options length limitation Michael Baum
2024-01-25 13:30   ` [PATCH v2 05/23] net/mlx5: fix GENEVE option item translation Michael Baum
2024-01-25 13:30   ` [PATCH v2 06/23] common/mlx5: add system image GUID attribute Michael Baum
2024-01-25 13:30   ` [PATCH v2 07/23] common/mlx5: add GENEVE TLV option attribute structure Michael Baum
2024-01-25 13:30   ` [PATCH v2 08/23] common/mlx5: add PRM attribute for TLV sample Michael Baum
2024-01-25 13:30   ` [PATCH v2 09/23] common/mlx5: add sample info query syndrome into error log Michael Baum
2024-01-25 13:30   ` [PATCH v2 10/23] common/mlx5: query GENEVE option sample ID from HCA attr Michael Baum
2024-01-25 13:30   ` [PATCH v2 11/23] common/mlx5: add function to query GENEVE TLV option Michael Baum
2024-01-25 13:30   ` [PATCH v2 12/23] net/mlx5: add physical device handle Michael Baum
2024-01-25 13:30   ` [PATCH v2 13/23] net/mlx5: add GENEVE TLV options parser API Michael Baum
2024-01-25 13:30   ` [PATCH v2 14/23] net/mlx5: add API to expose GENEVE option FW information Michael Baum
2024-01-25 13:30   ` [PATCH v2 15/23] net/mlx5: add testpmd support for GENEVE TLV parser Michael Baum
2024-01-25 13:30   ` [PATCH v2 16/23] net/mlx5/hws: increase hl size for future compatibility Michael Baum
2024-01-25 13:30   ` [PATCH v2 17/23] net/mlx5/hws: support GENEVE matching Michael Baum
2024-01-25 13:30   ` [PATCH v2 18/23] net/mlx5/hws: support GENEVE options header Michael Baum
2024-01-25 13:30   ` [PATCH v2 19/23] net/mlx5: add support for GENEVE and option item in HWS Michael Baum
2024-01-25 13:30   ` [PATCH v2 20/23] net/mlx5: add GENEVE option support for profile 0 Michael Baum
2024-01-25 13:30   ` [PATCH v2 21/23] net/mlx5: add GENEVE option support for group 0 Michael Baum
2024-01-25 13:30   ` [PATCH v2 22/23] net/mlx5: add support for GENEVE VNI modify field Michael Baum
2024-01-25 13:30   ` [PATCH v2 23/23] net/mlx5: add support for modify GENEVE option header Michael Baum
2024-01-29 12:21   ` [PATCH v2 00/23] net/mlx5: support Geneve and options for HWS Raslan Darawsheh

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).