Mixtral_ether / readme.txt
jeduardogruiz's picture
Upload 22 files
516a027 verified
raw
history blame
6.27 kB
ixl iWARP FreeBSD* driver for Intel(R) Ethernet Connection X722
================================================================
July 9, 2019
Contents
========
- Prerequisites
- Building and Installation
- Testing
- Configuration
- Interoperability
- Known Issues
Prerequisites
=============
- FreeBSD version 11.2
- Kernel configuration:
Please add the following kernel configuration options:
include GENERIC
options COMPAT_LINUXKPI
options IPOIB_CM
options IXL_IW
nodevice ixl
nodevice iavf
Note: IXL_IW is required for FreeBSD-CURRENT branch.
- For the iw_ixl driver to work, an if_ixl driver with iwarp interface
is required. The interface is available in if_ixl version 1.7.12 or later.
It should be enabled prior to usage, as the setting is switched off by
default. To enable iwarp compatibility, add
hw.ixl.enable_iwarp=1
to
/boot/loader.conf
The lan driver can be downloaded from
https://downloadcenter.intel.com/download/25160/Ethernet-Intel-Network-Adapter-D
river-for-PCIe-40-Gigabit-Ethernet-Network-Connection-under-FreeBSD
Or search on downloadcenter.intel.com using '40 Gigabit Ethernet Network
Connection under FreeBSD'. Newer OS releases contain the if_ixl driver in
the ixl driver version 1.7.12-k or later.
There are some known issues with the interface on if_ixl-1.7.12. Please
use version 1.7.13 or later.
- fastreg memory mode in krping needs a patch applied to krping.
Refer to the 'Testing' and 'Known Issues' sections for details.
Building and Installation
=========================
1. Untar ixl-<version>.tar.gz and iw_ixl-<version>.tar.gz
# tar -xf ixl-<version>.tar.gz
# tar -xf iw_ixl-<version>.tar.gz
2. Install the if_ixl driver:
# cd ixl-<version>/src directory
# make
# make install
3. Install the iw_ixl driver:
# cd iw_ixl-<version>/src
# make clean
# make IXL_DIR=$PATH_TO_IXL/ixl-<version>/src
# make install
4. Install the man page for the iw_ixl driver by copying the iw_ixl.4.gz file
to the directory where manual pages are held on your system. For instance:
# cp iw_ixl-<version>/doc/iw_ixl.4.gz /usr/share/man/man4/
For in-tree driver if_ixl-1.7.12-k or later, it is sufficient to follow
the instruction from point 3 but ensure the correct path to if_ixl source
folder is supplied. For instance:
IXL_DIR=/usr/src/sys/dev/ixl/
Testing
-------
1. To load the iw_ixl driver, call:
# kldload iw_ixl
If if_ixl is not already loaded, the system will load it on its own.
Please remember to add
hw.ixl.enable_iwarp=1
to /boot/loader.conf file prior to if_ixl loading, to ensure the ixl
driver has the iwarp interface enabled.
2. To validate the load of the driver, check:
# sysctl -a | grep infiniband
A number of sys.class.infiniband should appear, provided at least one
port of the X722 is up.
3. The source code for krping software is provided with the kernel in
/usr/src/sys/contrib/rdma/krping/. To compile the software, change directory
to /usr/src/sys/modules/rdma/krping/ and invoke the following:
# make clean
# make
# make install
4. Start krping server on one machine:
# echo size=64,count=1,port=6601,addr=100.0.0.189,server > /dev/krping
5. Connect client from another machine:
# echo size=64,count=1,port=6601,addr=100.0.0.189,client > /dev/krping
Configuration
=============
The following sysctl options are visible:
- hw.iw_ixl.max_ceq
determines the maximum number of msix vectors available to the driver
for CEQ usage.
- hw.iw_ixl.debug
defines level of debug messages.
- hw.iw_ixl.mpa_version
shows the current MPA version used.
The max_ceq setting may be changed by adding:
hw.iw_ixl.max_ceq=$value
to /boot/loader.conf file. The final number of CEQ is evaluated depending
on the available msix vectors, number of cpu cores, and hardware limits.
If max_ceq=0, the value is ignored.
The debug setting may be changed either by adding:
hw.iw_ixl.debug=$value
to the /boot/loader.conf file or by calling
sysctl hw.iw_ixl.debug=$value
The mpa_version may be changed by adding:
hw.iw_ixl.mpa_version=$value
to the /boot/loader.conf file.
Interoperability
================
To interoperate with Chelsio iWARP devices:
1. Load the ixl driver with parameter mpa_version set to 1. Add the line:
hw.iw_ixl.mpa_version=1
to /boot/loader.conf
2. Load Chelsio T4/T5 RDMA driver (iw_cxgb4) with parameter dack_mode set to 0.
Known Issues
============
- Loopback is not supported.
- MTU changes are not supported.
- IPv6 is not supported.
- MW memory mode is not supported.
- MR memory mode supports only single buffer.
- The function ib_cq_resize is not supported.
- The max number of registered cq, qp, pd or mr reported by the device may
differ from the actual number of registrations achievable.
- A kernel crash may occur when trying to run krping without ensuring that the
two machines are able to ping each other.
- A kernel crash may occur when trying to load the iw_ixl driver when
hw.ixl.enable_iwarp=0 (fixed with if_ixl 1.7.13).
- A kernel crash may occur when loading the iw_ixl driver on a card that is
supported by if_ixl driver, but does not have iWARP capability (fixed with
if_ixl 1.7.13).
- Krping with fastreg memory mode will not work unless some changes are made
to krping. To work around the issue, modify the krping_rdma_rkey function
such that, in the case of FASTREG memory mode, the ib_post_send function
with &cd->invalidate_wr parameter is not called during the first run of
the function.
Support
=======
For general information, go to the Intel support website at:
http://www.intel.com/support/
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 [email protected]
Copyright(c) 2017-2019 Intel Corporation.
Trademarks
==========
Intel is a trademark or registered trademark of Intel Corporation or its
subsidiaries in the United States and/or other countries.
* Other names and brands may be claimed as the property of others.