uDAPL (user-level Direct Access Programming Library)

uDAPL (user Direct Access Programming Library) is a direct access framework to be run on transports that support direct data access like InfiniBand , RNIC etc.

The DAT Collaborative specifies the uDAPL API http://www.datcollaborative.org .

The uDAPL codebase from Open Fabrics is ported to AIX® and is currently supported over GX++ HCA and 4X DDR Expansion card (CFFh) InfiniBand adapters.

uDAPL 1.2 version is supported on AIX 6.1 with 6100-06 and later. The uDAPL install image is shipped on the expansion pack as udapl.rte. This image ships the DAT header files, located under /usr/include/dat. The install image also ships two libraries, libdat.a and libdapl.a.

Applications include the DAT header files and link with the DAT library (libdat.a in /usr/include/dat). The DAT layer determines the appropriate underlying transport-specific libraries.

An AIX uDAPL Provider registers itself with the DAT registry using dat.conf entries. The /etc/dat.conf file is shipped with default entries and the file has details on the format of the entry.

For debugging purposes, the uDAPL libraries support AIX system trace. uDAPL system trace hook ids include 5C3 (for DAPL events), 5C4 (for DAPL error events), 5C7 (for DAT events), and 5C8 (for DAT error events). The initial trace level can be modified using the environment variables DAT_TRACE_LEVEL and DAPL_TRACE_LEVEL which could take the numeric values ranging from 0 to 10. The number of events and amount of data traced increases with the level, with the key trace levels being

 TRC_LVL_ERROR  = 1,
 TRC_LVL_NORMAL = 3,
 TRC_LVL_DETAIL = 7

Other standard AIX serviceability features, such as the AIX error log, can be useful for problem determination. And the serviceability features of the underlying transport layer, such as the ibstat command and InfiniBand component trace, are also helpful for diagnosing issues.

The DAT APIs return the standard return codes that can be decoded with the help of the /usr/include/dat/dat_error.h file. The detailed explanation of the return codes is located in the uDAPL specification from the DAT Collaborative.

Internet Protocol over InfiniBand (IPoIB)