[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200413141538.935574-1-leon@kernel.org>
Date: Mon, 13 Apr 2020 17:15:31 +0300
From: Leon Romanovsky <leon@...nel.org>
To: Doug Ledford <dledford@...hat.com>,
Jason Gunthorpe <jgg@...lanox.com>
Cc: Leon Romanovsky <leonro@...lanox.com>,
Bart Van Assche <bvanassche@....org>,
Chaitanya Kulkarni <chaitanya.kulkarni@....com>,
Christoph Hellwig <hch@....de>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
linux-nvme@...ts.infradead.org, linux-rdma@...r.kernel.org,
netdev@...r.kernel.org, rds-devel@....oracle.com,
Sagi Grimberg <sagi@...mberg.me>,
Santosh Shilimkar <santosh.shilimkar@...cle.com>,
target-devel@...r.kernel.org
Subject: [PATCH rdma-next v2 0/7] Add Enhanced Connection Established (ECE)
From: Leon Romanovsky <leonro@...lanox.com>
Changelog:
v2:
* Rebased on latest rdma-next and removed already accepted patches.
* Updated all rdma_reject in-kernel users to provide reject reason.
v1: Dropped field_avail patch in favor of mass conversion to use function
which already exists in the kernel code.
https://lore.kernel.org/lkml/20200310091438.248429-1-leon@kernel.org
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 (7):
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
drivers/infiniband/core/cm.c | 41 ++++++++++++++++---
drivers/infiniband/core/cma.c | 52 ++++++++++++++++++++++---
drivers/infiniband/core/cma_priv.h | 1 +
drivers/infiniband/core/ucma.c | 40 +++++++++++++++----
drivers/infiniband/ulp/isert/ib_isert.c | 4 +-
drivers/infiniband/ulp/srpt/ib_srpt.c | 2 +-
drivers/nvme/target/rdma.c | 2 +-
include/rdma/ib_cm.h | 10 ++++-
include/rdma/ibta_vol1_c12.h | 6 +++
include/rdma/rdma_cm.h | 18 ++++++++-
include/uapi/rdma/rdma_user_cm.h | 15 ++++++-
net/rds/ib_cm.c | 2 +-
12 files changed, 167 insertions(+), 26 deletions(-)
--
2.25.2
Powered by blists - more mailing lists