diff options
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/ulp/iser/iscsi_iser.h | 9 | ||||
-rw-r--r-- | drivers/infiniband/ulp/iser/iser_verbs.c | 7 |
2 files changed, 16 insertions, 0 deletions
diff --git a/drivers/infiniband/ulp/iser/iscsi_iser.h b/drivers/infiniband/ulp/iser/iscsi_iser.h index 1a570886cc03..06f578cde75b 100644 --- a/drivers/infiniband/ulp/iser/iscsi_iser.h +++ b/drivers/infiniband/ulp/iser/iscsi_iser.h | |||
@@ -140,6 +140,15 @@ struct iser_hdr { | |||
140 | __be64 read_va; | 140 | __be64 read_va; |
141 | } __attribute__((packed)); | 141 | } __attribute__((packed)); |
142 | 142 | ||
143 | |||
144 | #define ISER_ZBVA_NOT_SUPPORTED 0x80 | ||
145 | #define ISER_SEND_W_INV_NOT_SUPPORTED 0x40 | ||
146 | |||
147 | struct iser_cm_hdr { | ||
148 | u8 flags; | ||
149 | u8 rsvd[3]; | ||
150 | } __packed; | ||
151 | |||
143 | /* Constant PDU lengths calculations */ | 152 | /* Constant PDU lengths calculations */ |
144 | #define ISER_HEADERS_LEN (sizeof(struct iser_hdr) + sizeof(struct iscsi_hdr)) | 153 | #define ISER_HEADERS_LEN (sizeof(struct iser_hdr) + sizeof(struct iscsi_hdr)) |
145 | 154 | ||
diff --git a/drivers/infiniband/ulp/iser/iser_verbs.c b/drivers/infiniband/ulp/iser/iser_verbs.c index 13838ad3ce76..5278916c3103 100644 --- a/drivers/infiniband/ulp/iser/iser_verbs.c +++ b/drivers/infiniband/ulp/iser/iser_verbs.c | |||
@@ -499,6 +499,7 @@ static int iser_route_handler(struct rdma_cm_id *cma_id) | |||
499 | { | 499 | { |
500 | struct rdma_conn_param conn_param; | 500 | struct rdma_conn_param conn_param; |
501 | int ret; | 501 | int ret; |
502 | struct iser_cm_hdr req_hdr; | ||
502 | 503 | ||
503 | ret = iser_create_ib_conn_res((struct iser_conn *)cma_id->context); | 504 | ret = iser_create_ib_conn_res((struct iser_conn *)cma_id->context); |
504 | if (ret) | 505 | if (ret) |
@@ -510,6 +511,12 @@ static int iser_route_handler(struct rdma_cm_id *cma_id) | |||
510 | conn_param.retry_count = 7; | 511 | conn_param.retry_count = 7; |
511 | conn_param.rnr_retry_count = 6; | 512 | conn_param.rnr_retry_count = 6; |
512 | 513 | ||
514 | memset(&req_hdr, 0, sizeof(req_hdr)); | ||
515 | req_hdr.flags = (ISER_ZBVA_NOT_SUPPORTED | | ||
516 | ISER_SEND_W_INV_NOT_SUPPORTED); | ||
517 | conn_param.private_data = (void *)&req_hdr; | ||
518 | conn_param.private_data_len = sizeof(struct iser_cm_hdr); | ||
519 | |||
513 | ret = rdma_connect(cma_id, &conn_param); | 520 | ret = rdma_connect(cma_id, &conn_param); |
514 | if (ret) { | 521 | if (ret) { |
515 | iser_err("failure connecting: %d\n", ret); | 522 | iser_err("failure connecting: %d\n", ret); |