[openib-general] librdmacm ABI issues with OFED 1.1

Sean Hefty sean.hefty at intel.com
Wed Aug 23 22:33:05 PDT 2006


>I have some rdma_cm test code and when I run with the OFED 1.1 code (running on
>2.6.9 U3 based kernel) I got the following error.
>
>librdmacm: couldn't read ABI version.
>librdmacm: assuming: 2

The RDMA CM places the abi_version file in /sys/class/misc/rdma_cm.  The misc
class didn't exist in 2.6.9, which is why it was removed from the OFED code.

>The code seems to run (as it really does nothing) fine but I was wondering if I
>could fix this just to clean up the output.  I found that the following patch
>removes the code which creates the abi_version file.

If you look at Woody's backport patches, I believe that he moves the RDMA CM
files to /sys/class/infiniband/rdma_cm and updates the librdmacm to read the
abi_version from there.

Or you could just remove the prints from the library.

>How bad is it that the user space is assuming version 2 of the interface and
>the modules are at version 1?

It should work fine for apps using RC QPs.

Version 1 assumed that the port space was RDMA TCP for RC QPs.  Version 2 added
support for UD QPs through the RDMA's UDP port space.  The port space
information was added to the end of a structure, so if an older kernel is used,
it simply won't read in the port space data, and will assume TCP.

An application that was expecting to use UD QP will simply get an error on some
operation, likely when it tries to actually connect to a remote UD QP.

- Sean




More information about the general mailing list