lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 10 Mar 2020 11:14:27 +0200
From:   Leon Romanovsky <leon@...nel.org>
To:     Doug Ledford <dledford@...hat.com>,
        Jason Gunthorpe <jgg@...lanox.com>
Cc:     Leon Romanovsky <leonro@...lanox.com>,
        Gal Pressman <galpress@...zon.com>,
        linux-kernel@...r.kernel.org, linux-rdma@...r.kernel.org,
        Mark Zhang <markz@...lanox.com>,
        Yishai Hadas <yishaih@...lanox.com>
Subject: [PATCH rdma-next v1 00/11] Add Enhanced Connection Established (ECE)

From: Leon Romanovsky <leonro@...lanox.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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ