File size: 6,270 Bytes
516a027 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 |
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. |