On Wed, Feb 13, 2013 at 05:44:58PM +0000, Hefty, Sean wrote: > Ultimately, IB establishes communication using 64-bit service IDs, which is > what sockaddr_ib exposes. > > The SID mask was proposed by Jason as a way to simplify things. > Conceptually, AF_IB has a single port space range, the 64-bit SID. > The mask helps us break the SID into the various ranges, so we can > clearly know which parts of the SID are fixed, and which can be > variable. E.g. when connecting, the entire SID must be provided. > However, when binding we want to support binding to a specific SID > or only to a SID range (i.e. port space).
Right. AF_IB is about exposing the native IB CM, rather than a cooked version of it, so allowing user space to control the entire SID is desirable. The intent of the masking was to provide a means for the kernel to atomically select a process-unique ID (such as the 16 bits the IP varient requires) for listening. Other uses of IB CM would use a different prefix, but will still fundamentally require a machine unique portion. This addresses a fundamental problem in ib_ucm - there is no way for multiple processes to co-ordinate on unique SIDs. Sean, I've lost track of all this over time, but just to check in, with this new interface, would it be possible to obsolete ib_ucm? That seems desirable to me, as it is so flawed.. Jason -- 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
