486426529d
According to NVMe over Fabrics specification (rev.1.1a) HSQSIZE sent in RDMA_CM_REQUEST private data (ch.7.3.6.4) shall be the same as SQSIZE later sent in Connect command (ch.3.3). SPDK NVMe RDMA initiator adjusts SQSIZE to CRQSIZE received from target in RDMA_CM_ACCEPT private data. Target is allowed to send CRQSIZE < HSQSIZE if RNR retries are used. So, it is possible that SQSIZE sent by SPDK will be lower than previously sent HSQSIZE. There are targets validating this match and they reject connection from SPDK. Linux kernel NVMe initiator doesn't perform such adjustments and connects well to such targets. This patch aligns SPDK behavior with specification and Linux kernel implementation. Signed-off-by: Evgeniy Kochetov <evgeniik@nvidia.com> Change-Id: I01968d1c07d284396fa5939932d85841351d7a45 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11350 Community-CI: Mellanox Build Bot Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> |
||
---|---|---|
.. | ||
accel | ||
bdev | ||
blob | ||
blobfs | ||
conf | ||
dma | ||
env_dpdk | ||
env_ocf | ||
event | ||
ftl | ||
idxd | ||
init | ||
ioat | ||
iscsi | ||
json | ||
jsonrpc | ||
log | ||
lvol | ||
nbd | ||
notify | ||
nvme | ||
nvmf | ||
rdma | ||
reduce | ||
rocksdb | ||
rpc | ||
scsi | ||
sock | ||
thread | ||
trace | ||
trace_parser | ||
ut_mock | ||
util | ||
vfio_user | ||
vhost | ||
virtio | ||
vmd | ||
Makefile |