[openib-general] [PATCH] IPoIB: Add API to retrieve ib device, port, and pkey
Sean Hefty
mshefty at ichips.intel.com
Thu Oct 6 12:16:20 PDT 2005
Hal Rosenstock wrote:
>>The CMA maintains a list of devices. The address translation code takes an IP
>>address and returns the corresponding GID. The CMA looks up the GID against its
>>list of devices. All synchronization for device removal is handled by the CMA.
>
> The only way I see is that a user needs to register as a client and
> track device removals. Is there another way ?
The CMA will attempt to handle device removal internally. The basic operation
is this:
id = rdma_create_id();
rdma_resolve_addr(id...); /* associates a device with the ID */
/* wait for resolution to complete */
ib_alloc_pd(id->device...);
ib_create_cq(id->device...);
ib_create_qp(id->device...);
rdma_connect(id);
If a device is removed, the user will receive a callback with DEVICE_REMOVAL.
The user must free all resources created using id->device, and destroy the id.
The removal is blocked until the id is destroyed.
>>Right now, the CMA issues a path record request based on the SGID/DGID only. It
>>would be fairly easy to add the PKey to the request once the address translation
>>code returns it.
>
> How would the address translation code get it ?
Right now, it doesn't. But see Roland's message. It could be read directly
from the broadcast address.
- Sean
More information about the general
mailing list