[openib-general] some CM/CMA clarfications/questions related to listener impl.
Or Gerlitz
ogerlitz at voltaire.com
Sat Jul 29 22:55:57 PDT 2006
Sean Hefty wrote:
>> Does the the code below is what needs to be done by a CMA
>> consumer to listen on a SID based on <port-space,port> over
>> all the active IB ports of this node?
> Your code should be sufficient to listen across all RDMA devices.
OK, thanks for confirming that.
>> What's most important for me now is to understand that the code
>> below does what i expect, however looking in ib_cm.h and the cma
>> code while coding the example, one point that i run into was the
>> granularity the IB CM allows consumers "bind" objects to.
> The <port-space, port> binding is unique system wide if an IP address of 0 is
> specified, so the generated SID will also be unique system wide.
OK
>> I see that CM IDs are bounded to **device** and not to
>> <device,port> couple? if indeed, what was the rational?
> Basically, the implementation was easier, and I didn't see a need to track
> listens per port.
OK, given the below info it makes sense
>> It means that we don't support a config of a node connected to
>> two IP subnets each over a different port of the same device,
>> and two processes, each attempting to listen over the same port,
>> but with different ip.
> As long as the processes bind to different IP addresses, this is supported.
> Rdma_bind() allows binding to the same port if the IP addresses are different.
> Rdma_listen() will map both requests to the same SID, but distinguishes them
> using the private data carried in the REQ.
wow! i was not aware to that, thanks
Or.
More information about the general
mailing list