About Us
 Working Groups
 How to Join
 Email Reflector
 Ref Implement
 Contributions  Test
 Conference Calls
 Next Meeting
 Past Meetings
 Press Releases

Ref Implementations

DAT Collaborative makes available an open source implementation of uDAPL and kDAPL. This implementation has been developed by NetApp (formerly Network Appliance) with significant contributions from JNI, IBM, Mellanox, Sun, Voltaire, and a number of other DAT Collaborative member companies.

The uDAPL and kDAPL source code is available on Source Forge under the DAPL foundry, see

Both kDAPL and uDAPL exist in this source tree for Linux and Windows.

Source Forge is the world's largest Open Source development Web site and provides a number of services to developers and the Open Source community.

The DAPL source code is being provided free to all interested parties. The license provisions for this project is designed to encourage commercial development and products based upon this source code. There are no known intellectual property claims attached to this code. See the project Web page above for hyperlinks pointing to the license.

Obtain the Code
To obtain the tree for your local machine you can check it out of the source repository using CVS tools. CVS is common on UNIX systems and available as freeware on Windows machines. The command to anonymously obtain the source code from Source Forge (with no password) is:
cvs login
cvs -z3 co
When prompted for a password, simply press the Enter key.

Source Forge also contains explicit directions on how to become a developer, as well as how to use different CVS commands. You may also browse the source code using the URL:

System Requirements
The DAPL Reference Implementation is avialable for variety of Linux as well as Window 2000. The structure of the code is designed to allow other operating systems to easily be adapted.

The DAPL Reference Implementation has been demonstrated and tested on InfiniBand HCAs from IBM, Infinicon, JNI, Mellanox, TopSpin, Voltaire and others, as well as Ammasso, Siliquent, NetEffect and other iWARP vendors. The structure of the DAPL source allows other provider API sets to be easily integrated.

The development team uses any one of three topologies: a single HCA with a wrap plug (loopback) device; two HCAs in a single machine; a single HCA in each of two machines as well as switch topologies with various different IB switches.

Explicit machine configurations are available upon request.

In the Tree
The DAPL tree contains source code for the uDAPL and kDAPL implementation, and also includes tests and documentation. Also included are a growing number of DAPL design documents which lead the reader through specific DAPL subsystems.

A small number of test applications and a unit test framework are also included. dapltest is the primary testing application used by the DAPL team, it is capable of simulating a variety of loads and exercises a large number of interfaces. Full documentation is included for each of the tests. The uDAPL conformance test for uDAPL 1.1 is also part of the source tree.

Makefile Notes
There are a number #ifdef's in the code that were necessary during early development. They are disappearing as we have time to take advantage of features and work available from newer releases of provider software. You may notice an #ifdef <something>_BUSTED, which indicates a particular feature was not working at the time the code was written and the DAPL team developed a work-around.

As is common to Source Forge projects, there are a small number of developers directly associated with the source tree and having privileges to change the tree. Requested updates, changes, bug fixes, enhancements, or contributions should be submitted following the guidelines specified in for review. We welcome your contributions and expect the quality of the project will improve thanks to your help.

Maintenance and Development
Linux and Windows uDAPL maintenance and development is now being discussed and conducted on the general@lists.openfabrics and reflectors, respectively.

Ongoing Work
Not all of the DAPL spec is implemented at this time. The DAPL team continues to develop and test the tree with the intent of completing the specification.

—The DAPL Team