linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH rdma-next v1 00/11] Add Enhanced Connection Established (ECE)
@ 2020-03-10  9:14 Leon Romanovsky
  2020-03-13 13:53 ` Jason Gunthorpe
  0 siblings, 1 reply; 3+ messages in thread
From: Leon Romanovsky @ 2020-03-10  9:14 UTC (permalink / raw)
  To: Doug Ledford, Jason Gunthorpe
  Cc: Leon Romanovsky, Gal Pressman, linux-kernel, linux-rdma,
	Mark Zhang, Yishai Hadas

From: Leon Romanovsky <leonro@mellanox.com>

Changelog:
 v1: Dropped field_avail patch in favor of mass conversion to use function
     which already exists in the kernel code.
 v0: https://lore.kernel.org/lkml/20200305150105.207959-1-leon@kernel.org

Enhanced Connection Established or ECE is new negotiation scheme
introduced in IBTA v1.4 to exchange extra information about nodes
capabilities and later negotiate them at the connection establishment
phase.

The RDMA-CM messages (REQ, REP, SIDR_REQ and SIDR_REP) were extended
to carry two fields, one new and another gained new functionality:
 * VendorID is a new field that indicates that common subset of vendor
   option bits are supported as indicated by that VendorID.
 * AttributeModifier already exists, but overloaded to indicate which
   vendor options are supported by this VendorID.

This is kernel part of such functionality which is responsible to get data
from librdmacm and properly create and handle RDMA-CM messages.

Thanks

Leon Romanovsky (11):
  RDMA/cm: Add Enhanced Connection Establishment (ECE) bits
  RDMA/mlx4: Delete duplicated offsetofend implementation
  RDMA/efa: Use in-kernel offsetofend() to check field availability
  RDMA/mlx5: Use offsetofend() instead of duplicated variant
  RDMA/cm: Delete not implemented CM peer to peer communication
  RDMA/uapi: Add ECE definitions to UCMA
  RDMA/ucma: Extend ucma_connect to receive ECE parameters
  RDMA/ucma: Deliver ECE parameters through UCMA events
  RDMA/cm: Send and receive ECE parameter over the wire
  RDMA/cma: Connect ECE to rdma_accept
  RDMA/cma: Provide ECE reject reason

 drivers/infiniband/core/cm.c          | 48 ++++++++++++++++++------
 drivers/infiniband/core/cma.c         | 54 ++++++++++++++++++++++++---
 drivers/infiniband/core/cma_priv.h    |  1 +
 drivers/infiniband/core/ucma.c        | 40 ++++++++++++++++----
 drivers/infiniband/hw/efa/efa_verbs.c |  7 +---
 drivers/infiniband/hw/mlx4/main.c     |  9 ++---
 drivers/infiniband/hw/mlx5/main.c     | 42 ++++++++++-----------
 drivers/infiniband/hw/mlx5/mlx5_ib.h  | 16 +++-----
 include/rdma/ib_cm.h                  | 11 +++++-
 include/rdma/ibta_vol1_c12.h          |  6 +++
 include/rdma/rdma_cm.h                | 28 ++++++++++++--
 include/uapi/rdma/rdma_user_cm.h      | 15 +++++++-
 12 files changed, 203 insertions(+), 74 deletions(-)

--
2.24.1


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

* Re: [PATCH rdma-next v1 00/11] Add Enhanced Connection Established (ECE)
  2020-03-10  9:14 [PATCH rdma-next v1 00/11] Add Enhanced Connection Established (ECE) Leon Romanovsky
@ 2020-03-13 13:53 ` Jason Gunthorpe
  2020-03-13 14:00   ` Leon Romanovsky
  0 siblings, 1 reply; 3+ messages in thread
From: Jason Gunthorpe @ 2020-03-13 13:53 UTC (permalink / raw)
  To: Leon Romanovsky
  Cc: Doug Ledford, Leon Romanovsky, Gal Pressman, linux-kernel,
	linux-rdma, Mark Zhang, Yishai Hadas

On Tue, Mar 10, 2020 at 11:14:27AM +0200, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@mellanox.com>
> 
> Changelog:
>  v1: Dropped field_avail patch in favor of mass conversion to use function
>      which already exists in the kernel code.
>  v0: https://lore.kernel.org/lkml/20200305150105.207959-1-leon@kernel.org
> 
> Enhanced Connection Established or ECE is new negotiation scheme
> introduced in IBTA v1.4 to exchange extra information about nodes
> capabilities and later negotiate them at the connection establishment
> phase.
> 
> The RDMA-CM messages (REQ, REP, SIDR_REQ and SIDR_REP) were extended
> to carry two fields, one new and another gained new functionality:
>  * VendorID is a new field that indicates that common subset of vendor
>    option bits are supported as indicated by that VendorID.
>  * AttributeModifier already exists, but overloaded to indicate which
>    vendor options are supported by this VendorID.
> 
> This is kernel part of such functionality which is responsible to get data
> from librdmacm and properly create and handle RDMA-CM messages.
> 
> Thanks
> 
> Leon Romanovsky (11):
>   RDMA/mlx4: Delete duplicated offsetofend implementation
>   RDMA/mlx5: Use offsetofend() instead of duplicated variant
>   RDMA/cm: Delete not implemented CM peer to peer communication

These ones applied to for-next

>   RDMA/efa: Use in-kernel offsetofend() to check field availability

This needs resending

>   RDMA/cm: Add Enhanced Connection Establishment (ECE) bits
>   RDMA/uapi: Add ECE definitions to UCMA
>   RDMA/ucma: Extend ucma_connect to receive ECE parameters
>   RDMA/ucma: Deliver ECE parameters through UCMA events
>   RDMA/cm: Send and receive ECE parameter over the wire
>   RDMA/cma: Connect ECE to rdma_accept
>   RDMA/cma: Provide ECE reject reason

These need userspace to not be RFC

Jason

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

* Re: [PATCH rdma-next v1 00/11] Add Enhanced Connection Established (ECE)
  2020-03-13 13:53 ` Jason Gunthorpe
@ 2020-03-13 14:00   ` Leon Romanovsky
  0 siblings, 0 replies; 3+ messages in thread
From: Leon Romanovsky @ 2020-03-13 14:00 UTC (permalink / raw)
  To: Jason Gunthorpe
  Cc: Doug Ledford, Gal Pressman, linux-kernel, linux-rdma, Mark Zhang,
	Yishai Hadas

On Fri, Mar 13, 2020 at 10:53:03AM -0300, Jason Gunthorpe wrote:
> On Tue, Mar 10, 2020 at 11:14:27AM +0200, Leon Romanovsky wrote:
> > From: Leon Romanovsky <leonro@mellanox.com>
> >
> > Changelog:
> >  v1: Dropped field_avail patch in favor of mass conversion to use function
> >      which already exists in the kernel code.
> >  v0: https://lore.kernel.org/lkml/20200305150105.207959-1-leon@kernel.org
> >
> > Enhanced Connection Established or ECE is new negotiation scheme
> > introduced in IBTA v1.4 to exchange extra information about nodes
> > capabilities and later negotiate them at the connection establishment
> > phase.
> >
> > The RDMA-CM messages (REQ, REP, SIDR_REQ and SIDR_REP) were extended
> > to carry two fields, one new and another gained new functionality:
> >  * VendorID is a new field that indicates that common subset of vendor
> >    option bits are supported as indicated by that VendorID.
> >  * AttributeModifier already exists, but overloaded to indicate which
> >    vendor options are supported by this VendorID.
> >
> > This is kernel part of such functionality which is responsible to get data
> > from librdmacm and properly create and handle RDMA-CM messages.
> >
> > Thanks
> >
> > Leon Romanovsky (11):
> >   RDMA/mlx4: Delete duplicated offsetofend implementation
> >   RDMA/mlx5: Use offsetofend() instead of duplicated variant
> >   RDMA/cm: Delete not implemented CM peer to peer communication
>
> These ones applied to for-next

Thanks

>
> >   RDMA/efa: Use in-kernel offsetofend() to check field availability
>
> This needs resending

I'm not convinced yet.

>
> >   RDMA/cm: Add Enhanced Connection Establishment (ECE) bits
> >   RDMA/uapi: Add ECE definitions to UCMA
> >   RDMA/ucma: Extend ucma_connect to receive ECE parameters
> >   RDMA/ucma: Deliver ECE parameters through UCMA events
> >   RDMA/cm: Send and receive ECE parameter over the wire
> >   RDMA/cma: Connect ECE to rdma_accept
> >   RDMA/cma: Provide ECE reject reason
>
> These need userspace to not be RFC

Sure, thanks.

>
> Jason

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

end of thread, other threads:[~2020-03-13 14:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-10  9:14 [PATCH rdma-next v1 00/11] Add Enhanced Connection Established (ECE) Leon Romanovsky
2020-03-13 13:53 ` Jason Gunthorpe
2020-03-13 14:00   ` Leon Romanovsky

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