[openib-general] connection management

Sean Hefty mshefty at ichips.intel.com
Mon May 22 11:29:30 PDT 2006


amit byron wrote:
>  o to make multiple connections using ib_send_cm_req()
>    i would have make connection requests using
>    ib_send_cm_req() with different service id. is this
>    sufficient, or i missed something? i can use the
>    same port number, correct?

You need one service ID per connection.  You would call ib_send_cm_req() with 
each service id.

>  o machine A is connected to machine B using ib_cm's
>    request, response, ready to use protocol (machine A
>    initiates the connection request). the question i
>    have: for machine B to send message to machine A,
>    is it sufficient for machine B to do a lookup using
>    ib_sa_path_rec_get(), and then do ib_post_send()?
>    if no, then what else needs to be done?

I'm assuming that machine B performed a listen.  It can send a message to A 
immediately after receiving an RTU or a message from A.  There's no need to get 
a path record.  You will need to transition the QPs on both sides.

You can also refer to svn/gen2/utils/src/linux-kernel/infiniband/util/cmpost for 
a kernel test utility that operates over the ib_cm.  A userspace test utility is 
svn/gen2/trunk/src/userspace/libibcm/examples/cmpost.c.

There's also an alternate connection manager that uses IP addressing available 
as the rdma_cm for both user/kernel clients if you're interested.

- Sean



More information about the general mailing list