Skip to contentSkip to conversation

cxgb4/i40iw interoperability fixes

PATCH Superseded Steve Wise 2 participants 5 messages Aug 16, 2016 – Aug 18, 2016 2 messages not in the archive

Subsystems (2)

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore

Steve Wise

author
#0 lore raw

cover cxgb4/i40iw interoperability fixes

Doug, these would be good for 4.8-rc. They fix some interoperability problems between Intel and Chelsio iWARP devices.

Thanks,

Steve.

----

Steve Wise (2):
iw_cxgb4: limit IRD/ORD advertised to ULP by device max.
iw_cxgb4: use the MPA initiator's IRD if < our ORD

 drivers/infiniband/hw/cxgb4/cm.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
Signature · 6 lines
2.7.0

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): cover.1471453661.git.swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org

author
#2 lore raw

PATCH 1/2 iw_cxgb4: limit IRD/ORD advertised to ULP by device max.

Problem Description: i40iw initiator sends MPA-request with ird = 63, ord = 63. The cxgb4 responder sends a RST. Since the inbound ord=63 and it exceeds the max_ird/c4iw_max_read_depth (=32 default), chelsio decides to abort.

Instead, cxgb4 should adjust the ord/ird down before presenting it to the ULP.

---
 drivers/infiniband/hw/cxgb4/cm.c | 4 ++++
 1 file changed, 4 insertions(+)
drivers/infiniband/hw/cxgb4/cm.c +4 -0
index 3aca7f6..a698efc 100644
@@ -1827,8 +1827,12 @@ static int process_mpa_request(struct c4iw_ep *ep, struct sk_buff *skb)
 				(ep->mpa_pkt + sizeof(*mpa));
 			ep->ird = ntohs(mpa_v2_params->ird) &
 				MPA_V2_IRD_ORD_MASK;
+			ep->ird = min_t(u32, ep->ird,
+					cur_max_read_depth(ep->com.dev));
 			ep->ord = ntohs(mpa_v2_params->ord) &
 				MPA_V2_IRD_ORD_MASK;
+			ep->ord = min_t(u32, ep->ord,
+					cur_max_read_depth(ep->com.dev));
 			PDBG("%s initiator ird %u ord %u\n", __func__, ep->ird,
 			     ep->ord);
 			if (ntohs(mpa_v2_params->ird) & MPA_V2_PEER2PEER_MODEL)
Signature · 6 lines
2.7.0

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
author
#3 lore raw

PATCH 2/2 iw_cxgb4: use the MPA initiator's IRD if < our ORD

In reply to a message not in the archive

Problem Description: The i40iw initiator sends an MPA-request with ird=16 and ord=16. The cxgb4 responder sends an MPA-reply with ord = 32 causing i40iw to terminate due to insufficient resources.

The logic to reduce the ORD to <= peer's IRD was wrong.

---
 drivers/infiniband/hw/cxgb4/cm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/infiniband/hw/cxgb4/cm.c +1 -1
index a698efc..b6a953a 100644
@@ -3140,7 +3140,7 @@ int c4iw_accept_cr(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
 	if (ep->mpa_attr.version == 2 && ep->mpa_attr.enhanced_rdma_conn) {
 		if (conn_param->ord > ep->ird) {
 			if (RELAXED_IRD_NEGOTIATION) {
-				ep->ord = ep->ird;
+				conn_param->ord = ep->ird;
 			} else {
 				ep->ird = conn_param->ird;
 				ep->ord = conn_param->ord;
Signature · 6 lines
2.7.0

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#4 lore raw
In reply to a message not in the archive
Quoted 2 lines · Steve Wise

Doug, these would be good for 4.8-rc. They fix some interoperability problems between Intel and Chelsio iWARP devices.

Hi Steve,
Is there any chance you could remove "Problem description:" words from commit messages?

Thanks

Quoted 21 lines

Thanks,

Steve.

----

Steve Wise (2):
iw_cxgb4: limit IRD/ORD advertised to ULP by device max.
iw_cxgb4: use the MPA initiator's IRD if < our ORD

 drivers/infiniband/hw/cxgb4/cm.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
Signature · 6 lines
2.7.0

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): [email protected]

#6 lore raw
Quoted 9 lines · Steve Wise
Quoted 7 lines · Steve Wise
Quoted 2 lines

Doug, these would be good for 4.8-rc. They fix some interoperability problems between Intel and Chelsio iWARP devices.

Hi Steve,
Is there any chance you could remove "Problem description:" words from commit messages?

I can. But why is that a problem? (pun intended :) )

It is not a problem if you can. We are thrilled to see it happening, please show us :)

Quoted 3 lines

Steve.