Skip to content

Add ICM header-modify-pattern RDMA API

Leon Romanovsky linux-rdma lkml netdev 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest3 patches 3 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3net/mlx5: Introduce header-modify-pattern ICM propertiesinclude/linux/mlx5/mlx5_ifc.h+5 -21 reply
2/3net/mlx5: Manage ICM of type modify-header patterndrivers/net/ethernet/mellanox/mlx5/core/lib/dm.c include/linux/mlx5/driver.h+43 -01 reply
3/3RDMA/mlx5: Support handling of modify-header pattern ICM areadrivers/infiniband/hw/mlx5/dm.c drivers/infiniband/hw/mlx5/mr.c include/uapi/rdma/mlx5_user_ioctl_verbs.h+37 -180 replies

Reviews trailers per patch

2 of 3 patches have a Reviewed-by or Acked-by.

PatchSaeed Mahameed
1/3A-b
2/3A-b
3/3

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH mlx5-next 0/3] Add ICM header-modify-pattern RDMA API

From: Leon Romanovsky <[email protected]>

SW steering manipulates packet's header using "modifying header" actions. Many of these actions do the same operation, but use different data each time. Currently we create and keep every one of these actions, which use expensive and limited resources.

Now we introduce a new mechanism - pattern and argument, which splits a modifying action into two parts:
1. action pattern: contains the operations to be applied on packet's header, mainly set/add/copy of fields in the packet
2. action data/argument: contains the data to be used by each operation in the pattern.

This way we reuse same patterns with different arguments to create new modifying actions, and since many actions share the same operations, we end up creating a small number of patterns that we keep in a dedicated cache.

These modify header patterns are implemented as new type of ICM memory, so the following kernel patch series add the support for this new ICM type.

Thanks

Yevgeny Kliteynik (3):
net/mlx5: Introduce header-modify-pattern ICM properties net/mlx5: Manage ICM of type modify-header pattern RDMA/mlx5: Support handling of modify-header pattern ICM area

 drivers/infiniband/hw/mlx5/dm.c               | 53 ++++++++++++-------
 drivers/infiniband/hw/mlx5/mr.c               |  1 +
 .../net/ethernet/mellanox/mlx5/core/lib/dm.c  | 42 +++++++++++++++
 include/linux/mlx5/driver.h                   |  1 +
 include/linux/mlx5/mlx5_ifc.h                 |  7 ++-
 include/uapi/rdma/mlx5_user_ioctl_verbs.h     |  1 +
 6 files changed, 85 insertions(+), 20 deletions(-)
Signature · 1 line
2.36.1