cxgb4/i40iw interoperability fixes
Subsystems (2)
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
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
@@ -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
PATCH 2/2 iw_cxgb4: use the MPA initiator's IRD if < our ORD
In reply to a message not in the archiveProblem 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
@@ -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
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 ORDdrivers/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]
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.