The INDAdapter::Query implementation doesn't set the maximum transfer lengths 
properly.  This patch fixes this, and allows MSMPI to chunk large transfers 
properly.

Note that the changes to ib_port_attr_t to support RoCEE (the transport enum) 
broke my testing because I tried updating only the ND provider without updating 
the kernel drivers.  This sucked, and the transport field should be moved as 
Sean pointed out (and provided a patch.)

Signed-off-by: Fab Tillier <[email protected]>

Index: ulp/nd/user/NdAdapter.cpp
===================================================================
--- ulp/nd/user/NdAdapter.cpp   (revision 2676)
+++ ulp/nd/user/NdAdapter.cpp   (working copy)
@@ -256,12 +256,14 @@ HRESULT CAdapter::Query(
         return hr;
     }
 
+    pInfo->VendorId = pAttr->vend_id;
+    pInfo->DeviceId = pAttr->dev_id;
     pInfo->MaxInboundSge = pAttr->max_sges;
     pInfo->MaxInboundRequests = pAttr->max_wrs;
-    pInfo->MaxInboundLength = INT_MAX;
+    pInfo->MaxInboundLength = pAttr->p_port_attr[m_PortNum - 1].max_msg_size;
     pInfo->MaxOutboundSge = pAttr->max_sges;
     pInfo->MaxOutboundRequests = pAttr->max_wrs;
-    pInfo->MaxOutboundLength = INT_MAX;
+    pInfo->MaxOutboundLength = pAttr->p_port_attr[m_PortNum - 1].max_msg_size;
     pInfo->MaxInboundReadLimit = pAttr->max_qp_resp_res;
     pInfo->MaxOutboundReadLimit = pAttr->max_qp_init_depth;
     pInfo->MaxCqEntries = pAttr->max_cqes;

Attachment: nd.patch
Description: nd.patch

_______________________________________________
ofw mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw

Reply via email to