irdma RDMA FreeBSD* user space driver for Intel(R) Ethernet Controller E810
===========================================================================
January 14, 2022

Contents
========

- Prerequisites
- Building and Installation
- Testing
- Configuration
- Interoperability
- Known Issues
- Support

================================================================================


Prerequisites
-------------

- All prerequisities for irdma kernel driver applies.


Building and Installation
-------------------------

1. Untar irdma-<version>.tar.gz
     tar -xf irdma-<version>.tar.gz
2. Copy libirdma dir into /usr/src/contrib/ofed/ directory
     cp -r libirdma /usr/src/contrib/ofed/
3. Create /usr/src/lib/ofed/libirdma and copy lib_Makefile as Makefile into that directory
     mkdir /usr/src/lib/ofed/libirdma
     cp lib_Makefile /usr/src/lib/ofed/libirdma/Makefile
4. Patch exisiting system user space code to accept libirdma for building:
     patch -d /usr/src < patches/intree_lib_compile.diff
5. Rebuild the ofed user space:
     cd /usr/src/lib/ofed
     make clean
     make
     make install
   Consider using -j parameter for faster compilation
6. To take full advantage of ibv tools do:
     cd /usr/src/usr.bin/ofed/libibverbs/
     make clean
     make
     make install
   This will rebuild all tools that can be used with libirdma, i.e. ibv_devices and
   ibv_devinfo

Testing
-------
1. When the irdma kernel driver is loaded, that is there are mutliple records when
   attempting to execute:
     sysctl sys.class.infiniband
   The libirdma properly load can be verified with running ibv_devinfo or ibv_devices
   tools:
     ibv_devinfo
     ibv_devices
   Both should report irdma devices available
2. See perftest_readme.txt to check details on how to perform verification with
   the perftest tool.
==============================================================================


Configuration
-------------

Interoperability
----------------

Known Issues
------------

Support
-------
For general information, go to the Intel support website at:
www.intel.com/support/

or the Intel Wired Networking project hosted by Sourceforge at:
http://sourceforge.net/projects/e1000

If an issue is identified with the released source code on a supported
kernel with a supported adapter, email the specific information related to the
issue to e1000-rdma@lists.sourceforge.net



================================================================================


License
-------

This software is available to you under a choice of one of two
licenses. You may choose to be licensed under the terms of the GNU
General Public License (GPL) Version 2, available from the file
COPYING in the main directory of this source tree, or the
OpenFabrics.org BSD license below:

  Redistribution and use in source and binary forms, with or
  without modification, are permitted provided that the following
  conditions are met:

  - Redistributions of source code must retain the above
    copyright notice, this list of conditions and the following
    disclaimer.

  - Redistributions in binary form must reproduce the above
    copyright notice, this list of conditions and the following
    disclaimer in the documentation and/or other materials
    provided with the distribution.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


================================================================================


Trademarks
----------

(c) Intel Corporation. Intel, the Intel logo, and other Intel marks are
trademarks of Intel Corporation or its subsidiaries. 
Other names and brands may be claimed as the property of others. 


