Message ID | 1449663128-368-8-git-send-email-sagig@mellanox.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On Wed, Dec 09, 2015 at 02:12:05PM +0200, Sagi Grimberg wrote: > From: Jenny Derzhavetz <jennyf@mellanox.com> > > iser target does not support zero based virtual addresses and > send with invalidate, so it should declare that it doesn't. Only mrginally related, but can someone explain what zero based virtual addresses means in this context? Does this means it uses the old RFC5046-style header without the read/write_va fields? Or does it mean those fields exist but must always be zero? I couldn't really find a good answer in Annex A12. Otherwise looks fine: Reviewed-by: Christoph Hellwig <hch@lst.de> -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
> Only mrginally related, but can someone explain what zero based > virtual addresses means in this context? Does this means it uses > the old RFC5046-style header without the read/write_va fields? > Or does it mean those fields exist but must always be zero? That's correct, negotiating this bit means that the iser header format must not include read/write_va and it is assumed to be 0. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/infiniband/ulp/isert/ib_isert.c b/drivers/infiniband/ulp/isert/ib_isert.c index 63217e382140..8a90475ed2f2 100644 --- a/drivers/infiniband/ulp/isert/ib_isert.c +++ b/drivers/infiniband/ulp/isert/ib_isert.c @@ -3098,12 +3098,18 @@ isert_rdma_accept(struct isert_conn *isert_conn) struct rdma_cm_id *cm_id = isert_conn->cm_id; struct rdma_conn_param cp; int ret; + struct iser_cm_hdr rsp_hdr; memset(&cp, 0, sizeof(struct rdma_conn_param)); cp.initiator_depth = isert_conn->initiator_depth; cp.retry_count = 7; cp.rnr_retry_count = 7; + memset(&rsp_hdr, 0, sizeof(rsp_hdr)); + rsp_hdr.flags = (ISERT_ZBVA_NOT_USED | ISERT_SEND_W_INV_NOT_USED); + cp.private_data = (void *)&rsp_hdr; + cp.private_data_len = sizeof(rsp_hdr); + ret = rdma_accept(cm_id, &cp); if (ret) { isert_err("rdma_accept() failed with: %d\n", ret);