[openib-general] [ANNOUNCE] Userspace Connection Manager

Libor Michalek libor at topspin.com
Fri Apr 22 17:57:19 PDT 2005


  I've made the initial check-in of the userspace connection manager
library. The kernel module that provides the access from userspace
to the kernel CM was checked in previously, and is already being built
as part of the core IB support. (ib_ucm.ko)

  To use the Userspace CM you'll need to create a single character
device file:

    mknod /dev/infiniband/ucm c 231 255

  There's a dependency on infiniband/verbs.h so you'll need libibverbs
installed on the same system. Check out src/userspace/libibcm and build:

    ./autogen.sh && ./configure && make && sudo make install

  The API is very similar to the kernel CM, as you will be able to tell
by looking at infiniband/cm.h, (thanks Sean.) with the one notable
exception being CM event notification. Unlike the kernel which delivers
events through a callback, the userspace CM does not deliver events, they
must be solicited. (ib_cm_event_get()) The file descriptor used by the
CM can be retreived for use in poll/select, so a user does not need to
block on event solicitation. Ideally an app should be able to use the
cm and verbs without needing to use threads for event handling.

  There exists a simple example, which drives the CM through the
standard connection states, but does not actually create any QPs.

  Next step is more testing and to create a real example which actually
uses libibverbs, moves data, and uses the real SA to get path records.


-Libor



  



More information about the general mailing list