[openib-general] [PATCH] [RFC] RDMA generic CMA updates

Sean Hefty mshefty at ichips.intel.com
Mon Sep 26 14:03:38 PDT 2005


James Lentini wrote:
> - move listen declaration closer to accept and reject

Accepted - will be pushed in with next version.

> - add private data and new cma_id fields to event structure

Added private_data_len field to cma_id structure.  Would like to get some 
additional feedback before adding the new_cma_id field.  If there are no 
objections, I'll add this.

> - record need to address information in the event structure

The address information is only sent in the CM REQ.  There shouldn't be a need 
to carry it back in the CM REP.

> - implement private data handling for IB_CM_REQ_RECEIVED and 
>   IB_CM_REP_RECEIVED

See below.

> @@ -177,8 +177,6 @@
>  	if (!route->path_rec)
>  		goto err;
>  
> -	ib_event->private_data += sizeof *addr;

Used to skip address information sent in CM REQ.

>  	case IB_CM_REQ_RECEIVED:
> -		cma_id_priv = cma_req_recv(cma_id_priv, ib_event);
> -		if (!cma_id_priv)
> +		new_cma_id_priv = cma_req_recv(cma_id_priv, ib_event);
> +		if (!new_cma_id_priv)
>  			return -ENOMEM;
>  		event.event = RDMA_CMA_EVENT_CONNECT_REQUEST;
> +		event.private_data = ib_event->private_data + 
> +				     sizeof struct cma_addr;
private_data pointer is set at the end of this routine.

> +		event.private_data_len = IB_CM_REQ_PRIVATE_DATA_SIZE - 
> +					 sizeof struct cma_addr;
added this.

> +		event.private_data = ib_event->private_data + 
> +				     sizeof struct cma_addr;
> +		event.private_data_len = IB_CM_REQ_PRIVATE_DATA_SIZE - 
> +					 sizeof struct cma_addr;
Set private_data_len = IB_CM_ *REP* _PRIVATE_DATA_SIZE.

> -int rdma_cma_reject(struct rdma_cma_id *cma_id,
> -		    const void *private_data, u8 private_data_len)
> +int rdma_cma_reject(struct rdma_cma_id *cma_id, const void *private_data, 
> +		    u8 private_data_len)

I prefer that the private data variables appear together...

- Sean



More information about the general mailing list