On 22/01/2013 23:56, [email protected] wrote:
The AF_IB uses a 64-bit service id (SID), which the
user can control through the use of a mask. The rdma_cm
will assign values to the unmasked portions of the SID
based on the selected port space and port number.
Something here I am not sure to follow -- if AF_IB consumers are allowed
to provide 64-bit SID, how
the IB port space is expressed in their SIDs?
Wouldn't it make sense to use a simpler approach that has a dedicated
IB_PS in the port space
portion of the RDMA-CM IP IBTA annex and let the consumer provide 16
bits for their part of the SID?
Or.
Because the IB spec divides the SID range into several regions,
a SID/mask combination may fall into one of the existing
port space ranges as defined by the RDMA CM IP Annex. Map
the AF_IB SID to the correct RDMA port space.
[...]
--- a/include/rdma/rdma_cm.h
+++ b/include/rdma/rdma_cm.h
@@ -70,6 +70,11 @@ enum rdma_port_space {
RDMA_PS_UDP = 0x0111,
};
+#define RDMA_IB_IP_PS_MASK 0xFFFFFFFFFFFF0000ULL
+#define RDMA_IB_IP_PS_TCP 0x0000000001060000ULL
+#define RDMA_IB_IP_PS_UDP 0x0000000001110000ULL
+#define RDMA_IB_IP_PS_IB 0x00000000013F0000ULL
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html