Subject: Re: [PATCH rdma-next 5/5] RDMA/mlx5: Expose steering anchor to userspace

From: Leon Romanovsky <[email-masked]>
Date: Mon, 18 Jul 2022 15:03:02 +0300

On Sun, Jul 17, 2022 at 12:52:29PM -0700, Saeed Mahameed wrote:
> 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 <[email-masked]>
> > > >
> > > > 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 <[email-masked]>
> > > > Reviewed-by: Yishai Hadas <[email-masked]>
> > > > Signed-off-by: Saeed Mahameed <[email-masked]>
> > > > ---
> > > > 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.

The last two patches "RDMA/ ..." are not supposed to be in mlx5-next
branch. Especially the last one that has uapi changes.

Unless that branch wasn't pulled by netdev, can you please delete them?

Thanks

> > Jason