Sean Hefty wrote:
-static int ucma_modify_qp_rtr(struct rdma_cm_id *id)
+static int ucma_modify_qp_rtr(struct rdma_cm_id *id,
+                             struct rdma_conn_param *conn_param)
{
        struct ibv_qp_attr qp_attr;
        int qp_attr_mask, ret;
@@ -634,6 +635,8 @@ static int ucma_modify_qp_rtr(struct rdma_cm_id *id)
        if (ret)
                return ret;

+       if (conn_param)
+               qp_attr.max_dest_rd_atomic = conn_param->responder_resources;
        return ibv_modify_qp(id->qp, &qp_attr, qp_attr_mask);

Can one of the iWarp providers explain how IRD and ORD get set for both
userspace and the kernel?


They're set by the application via the rdma_conn_param on the active side, and they get set to the device max values by default on the passive side. There is currently no matching of these by the iwcm or any of the driver code: its up to the ULP/application to negotiate this via private data or some other way.

Is that what you're asking?

At some point IBM posted a patch to add fields to the private data to allow negotiating this as part of iwarp connection setup...


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

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to