[openib-general] Re: [RFC] change to ib_create_cm_id()

Sean Hefty mshefty at ichips.intel.com
Thu Sep 1 09:27:11 PDT 2005


Michael S. Tsirkin wrote:
>>This will bind all cm_id's to a specific device, including cm_id's 
>>associated with listens.  This will help prevent the CM from returning a 
>>cm_id associated with a device that a consumer may have already seen as 
>>removed.
> 
> Looking at the API, cm_ids are not currently associated with a specific device.
> What am I missing?

The proposal is to change the cm_id's so that they become associated with a 
specific device.  Currently, they are not visibly associated with a device.

> So, I gather a ULP would need a list of cm_ids per connection, scanning
> all of them on each cm operation, scanning and updating
> these lists in all listening connections on each hotplug event.

I'm not following you here.  For active connections, clients already need to 
create a QP that is associated with a device.  This simply binds the cm_id to 
that same device.  On passive connection callbacks, the created cm_id would 
likewise be associated with the same device.

> I wander whether cm can do the same thing internally, making the list
> part of the cm id object?

The intent is to make the associated between a cm_id and a device explicit.  A 
client would then be able to destroy all cm_id's associated with a device that 
was being removed.

The change affects listeners the most.  Instead of calling listen once, it would 
need to be called once for each device.  Since most clients have per device 
context, the listen cm_id would need to move from a single global structure into 
  the per device structures maintained by the client.

- Sean





More information about the general mailing list