On 15 Jul 05:08, Jason Gunthorpe wrote:
On Wed, Jul 13, 2022 at 03:31:33PM -0700, Saeed Mahameed wrote:
On 03 Jul 13:54, Saeed Mahameed wrote:
> From: Mark Bloch <mbloch@xxxxxxxxxx>
>
> Expose a steering anchor per priority to allow users to re-inject
> packets back into default NIC pipeline for additional processing.
>
> MLX5_IB_METHOD_STEERING_ANCHOR_CREATE returns a flow table ID which
> a user can use to re-inject packets at a specific priority.
>
> A FTE (flow table entry) can be created and the flow table ID
> used as a destination.
>
> When a packet is taken into a RDMA-controlled steering domain (like
> software steering) there may be a need to insert the packet back into
> the default NIC pipeline. This exposes a flow table ID to the user that can
> be used as a destination in a flow table entry.
>
> With this new method priorities that are exposed to users via
> MLX5_IB_METHOD_FLOW_MATCHER_CREATE can be reached from a non-zero UID.
>
> As user-created flow tables (via RDMA DEVX) are created with a non-zero UID
> thus it's impossible to point to a NIC core flow table (core driver flow tables
> are created with UID value of zero) from userspace.
> Create flow tables that are exposed to users with the shared UID, this
> allows users to point to default NIC flow tables.
>
> Steering loops are prevented at FW level as FW enforces that no flow
> table at level X can point to a table at level lower than X.
>
> Signed-off-by: Mark Bloch <mbloch@xxxxxxxxxx>
> Reviewed-by: Yishai Hadas <yishaih@xxxxxxxxxx>
> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxx>
> ---
> drivers/infiniband/hw/mlx5/fs.c | 138 ++++++++++++++++++++++-
> drivers/infiniband/hw/mlx5/mlx5_ib.h | 6 +
> include/uapi/rdma/mlx5_user_ioctl_cmds.h | 17 +++
Jason, Can you ack/nack ? This has uapi.. I need to move forward with this
submission.
Yes, it looks fine, can you update the shared branch?
Applied to mlx5-next, you may pull.
Jason