[PATCH v2 00/23] net/mlx5: support Geneve and options for HWS
Michael Baum
michaelba at nvidia.com
Thu Jan 25 14:30:20 CET 2024
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.
v2:
- Rebase.
- Add "Acked-by" from v1.
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 | 281 ++++++-
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, 2811 insertions(+), 186 deletions(-)
create mode 100644 drivers/net/mlx5/mlx5_flow_geneve.c
--
2.25.1
More information about the dev
mailing list