The ULP decides if this MR is going to be used as a lkey or rkey by passing IB_REG_LKEY or IB_REG_RKEY. The HCA driver will then fill mr->key by the lkey or rkey based on that and everything will work fine.
But the ULP *can* register a memory buffer with local and remote access permissions. One example is ImmediateData or a FirstBurst implementation where an initiator sends the first burst of data and the target reads the rest of it. My concern is that a device that uses different keys would not be able to support that (or we make the ULP perform two registrations). -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html