[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