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
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general