[ofa-general] Re: setting iWarp IRD and ORD

Steve Wise swise at opengridcomputing.com
Thu Jan 3 16:39:09 PST 2008


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.



More information about the general mailing list