1/*$FreeBSD$*/ 2FreeBSD Driver for Intel(R) PRO/10GbE Server Adapters 3===================================================== 4 5March 10, 2004 6 7 8Contents 9======== 10 11- Overview 12- Supported Adapters 13- Building and Installation 14- Additional Configurations 15 16 17Overview 18======== 19 20This file describes the FreeBSD* driver, version 1.0.x, for the Intel(R) 21PRO/10GbE Family of Adapters. This driver has been developed for use with 22FreeBSD, version 4.8 and later. 23 24For questions related to hardware requirements, refer to the documentation 25supplied with your Intel PRO/10GbE adapter. All hardware requirements listed 26apply to use with FreeBSD. 27 28 29 30Supported Adapters 31================== 32 33The following Intel network adapters are compatible with the drivers in this 34release: 35 36 Controller Adapter Name Physical Layer 37 ---------- ------------ -------------- 38 39 82597EX PRO/10GbE LR/SR Server Adapter 10G Base -LR and -SR 40 850 and 1310 nm optical fiber 41 42 43Building and Installation 44========================= 45 46NOTE: You must have kernel sources installed in order to compile the driver 47 module. 48 49 In the instructions below, x.x.x is the driver version as indicated in 50 the name of the driver tar. 51 52 531. Move the base driver tar file to the directory of your choice. For 54 example, use /home/username/ixgb or /usr/local/src/ixgb. 55 562. Untar/unzip the archive: 57 tar xfz ixgb-x.x.x.tar.gz 58 593. To install man page: 60 cd ixgb-x.x.x 61 gzip -c ixgb.4 > /usr/share/man/man4/ixgb.4.gz 62 634. To load the driver onto a running system: 64 cd ixgb-x.x.x/src 65 make load 66 675. To assign an IP address to the interface, enter the following: 68 ifconfig ixgb<interface_num> <IP_address> 69 706. Verify that the interface works. Enter the following, where <IP_address> 71 is the IP address for another machine on the same subnet as the interface 72 that is being tested: 73 ping <IP_address> 74 757. If you want the driver to load automatically when the system is booted: 76 77 cd ixgb-x.x.x/src 78 make load 79 cp if_ixgb.ko /modules 80 81 Edit /boot/loader.conf, and add the following line: 82 if_ixgb_load="YES" 83 84 OR 85 86 compile the driver into the kernel (see item 7). 87 88 89 Edit /etc/rc.conf, and create the appropriate ifconfig_ixgb<interface_num> 90 entry: 91 92 ifconfig_ixgb<interface_num>="<ifconfig_settings>" 93 94 Example usage: 95 96 ifconfig_ixgb0="inet 192.168.10.1 netmask 255.255.255.0" 97 98 NOTE: For assistance, see the ifconfig man page. 99 1008. If you want to compile the driver into the kernel, enter: 101 102 cd ixgb-x.x.x/src 103 104 mkdir /usr/src/sys/dev/ixgb 105 106 cp if_ixgb* /usr/src/sys/dev/ixgb 107 108 cp ixgb* /usr/src/sys/dev/ixgb 109 110 cp Makefile.kernel /usr/src/sys/modules/ixgb/Makefile 111 112 If you have an i386 platform, you will need to edit the files.i386 file. 113 This is usually in /usr/src/sys/conf/; actual locations wil vary depending 114 on platform. Add the following lines: 115 116 dev/ixgb/ixgb_hw.c optional ixgb 117 dev/ixgb/ixgb_ee.c optional ixgb 118 dev/ixgb/if_ixgb.c optional ixgb 119 120 121 Remove the following lines from the files.i386 file, if they exist: 122 123 /dev/ixgb/if_ixgb_fx_hw.c optional ixgb 124 /dev/ixgb/if_ixgb_phy.c optional ixgb 125 126 Edit the kernel configuration file (i.e., GENERIC or MYKERNEL) in 127 /usr/src/sys/i386/conf, and ensure the following line is present: 128 129 device ixgb 130 131 Compile and install the kernel. The system must be reboot for the kernel 132 updates to take affect. For additional information on compiling the kernel, 133 consult the FreeBSD operating system documentation. 134 135 136 137Additional Configurations 138========================= 139 140The driver supports Transmit/Receive Checksum Offload and Jumbo Frames on 141all PRO/10GbE adapters. 142 143 Jumbo Frames 144 ------------ 145 To enable Jumbo Frames, use the ifconfig utility to increase the MTU 146 beyond 1500 bytes. 147 148 NOTES: 149 - Only enable Jumbo Frames if your network infrastructure supports 150 them. 151 152 - The Jumbo Frames setting on the switch must be set to at least 153 22 bytes larger than that of the adapter. 154 155 - There are known performance issues with this driver when running 156 UDP traffic with Jumbo Frames. 157 158 The Jumbo Frames MTU range for Intel Adapters is 1500 to 16114. The default 159 MTU range is 1500. To modify the setting, enter the following: 160 161 ifconfig ixgb<interface_num> <hostname or IP address> mtu 9000 162 163 To confirm an interface's MTU value, use the ifconfig command. To confirm 164 the MTU used between two specific devices, use: 165 166 route get <destination_IP_address> 167 168 VLANs 169 ----- 170 To create a new VLAN pseudo-interface: 171 172 ifconfig <vlan_name> create 173 174 To associate the VLAN pseudo-interface with a physical interface and 175 assign a VLAN ID, IP address, and netmask: 176 177 ifconfig <vlan_name> <ip_address> netmask <subnet_mask> vlan 178 <vlan_id> vlandev <physical_interface> 179 180 Example: 181 182 ifconfig vlan10 10.0.0.1 netmask 255.255.255.0 vlan10 vlandev ixgb0 183 184 In this example, all packets will be marked on egress with 802.1Q VLAN 185 tags, specifying a VLAN ID of 10. 186 187 To remove a VLAN pseudo-interface: 188 189 ifconfig <vlan_name> destroy 190 191 Polling 192 ------- 193 To enable polling in the driver, add the following options to the kernel 194 configuration, and then recompile the kernel: 195 196 options DEVICE_POLLING 197 options HZ=1000 198 199 At runtime, use the following command to turn on polling mode. 200 201 ifconfig ixgb0 polling 202 203 Similarly, turn off polling mode by removing IFCAP_POLLING flag from 204 interface: 205 206 ifconfig ixgb0 -polling 207 208 The driver has to be built into the kernel for DEVICE POLLING to be 209 enabled in the driver. 210 211Support 212======= 213 214For general information and support, go to the Intel support website at: 215 216 http://support.intel.com 217 218If an issue is identified with the released source code on the supported 219kernel with a supported adapter, email the specific information related to 220the issue to freebsd@intel.com. 221 222 223 224License 225======= 226 227This software program is released under the terms of a license agreement 228between you ('Licensee') and Intel. Do not use or load this software or any 229associated materials (collectively, the 'Software') until you have carefully 230read the full terms and conditions of the LICENSE located in this software 231package. By loading or using the Software, you agree to the terms of this 232Agreement. If you do not agree with the terms of this Agreement, do not 233install or use the Software. 234 235* Other names and brands may be claimed as the property of others. 236 237 238