2 FreeBSD Driver for Intel(R) PRO/10GbE Server Adapters
3 =====================================================
13 - Building and Installation
14 - Additional Configurations
20 This file describes the FreeBSD* driver, version 1.0.x, for the Intel(R)
21 PRO/10GbE Family of Adapters. This driver has been developed for use with
22 FreeBSD, version 4.8 and later.
24 For questions related to hardware requirements, refer to the documentation
25 supplied with your Intel PRO/10GbE adapter. All hardware requirements listed
26 apply to use with FreeBSD.
33 The following Intel network adapters are compatible with the drivers in this
36 Controller Adapter Name Physical Layer
37 ---------- ------------ --------------
39 82597EX PRO/10GbE LR/SR Server Adapter 10G Base -LR and -SR
40 850 and 1310 nm optical fiber
43 Building and Installation
44 =========================
46 NOTE: You must have kernel sources installed in order to compile the driver
49 In the instructions below, x.x.x is the driver version as indicated in
50 the name of the driver tar.
53 1. Move the base driver tar file to the directory of your choice. For
54 example, use /home/username/ixgb or /usr/local/src/ixgb.
56 2. Untar/unzip the archive:
57 tar xfz ixgb-x.x.x.tar.gz
59 3. To install man page:
61 gzip -c ixgb.4 > /usr/share/man/man4/ixgb.4.gz
63 4. To load the driver onto a running system:
67 5. To assign an IP address to the interface, enter the following:
68 ifconfig ixgb<interface_num> <IP_address>
70 6. 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
75 7. If you want the driver to load automatically when the system is booted:
79 cp if_ixgb.ko /modules
81 Edit /boot/loader.conf, and add the following line:
86 compile the driver into the kernel (see item 7).
89 Edit /etc/rc.conf, and create the appropriate ifconfig_ixgb<interface_num>
92 ifconfig_ixgb<interface_num>="<ifconfig_settings>"
96 ifconfig_ixgb0="inet 192.168.10.1 netmask 255.255.255.0"
98 NOTE: For assistance, see the ifconfig man page.
100 8. If you want to compile the driver into the kernel, enter:
104 mkdir /usr/src/sys/dev/ixgb
106 cp if_ixgb* /usr/src/sys/dev/ixgb
108 cp ixgb* /usr/src/sys/dev/ixgb
110 cp Makefile.kernel /usr/src/sys/modules/ixgb/Makefile
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:
116 dev/ixgb/ixgb_hw.c optional ixgb
117 dev/ixgb/ixgb_ee.c optional ixgb
118 dev/ixgb/if_ixgb.c optional ixgb
121 Remove the following lines from the files.i386 file, if they exist:
123 /dev/ixgb/if_ixgb_fx_hw.c optional ixgb
124 /dev/ixgb/if_ixgb_phy.c optional ixgb
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:
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.
137 Additional Configurations
138 =========================
140 The driver supports Transmit/Receive Checksum Offload and Jumbo Frames on
141 all PRO/10GbE adapters.
145 To enable Jumbo Frames, use the ifconfig utility to increase the MTU
149 - Only enable Jumbo Frames if your network infrastructure supports
152 - The Jumbo Frames setting on the switch must be set to at least
153 22 bytes larger than that of the adapter.
155 - There are known performance issues with this driver when running
156 UDP traffic with Jumbo Frames.
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:
161 ifconfig ixgb<interface_num> <hostname or IP address> mtu 9000
163 To confirm an interface's MTU value, use the ifconfig command. To confirm
164 the MTU used between two specific devices, use:
166 route get <destination_IP_address>
170 To create a new VLAN pseudo-interface:
172 ifconfig <vlan_name> create
174 To associate the VLAN pseudo-interface with a physical interface and
175 assign a VLAN ID, IP address, and netmask:
177 ifconfig <vlan_name> <ip_address> netmask <subnet_mask> vlan
178 <vlan_id> vlandev <physical_interface>
182 ifconfig vlan10 10.0.0.1 netmask 255.255.255.0 vlan10 vlandev ixgb0
184 In this example, all packets will be marked on egress with 802.1Q VLAN
185 tags, specifying a VLAN ID of 10.
187 To remove a VLAN pseudo-interface:
189 ifconfig <vlan_name> destroy
193 To enable polling in the driver, add the following options to the kernel
194 configuration, and then recompile the kernel:
196 options DEVICE_POLLING
199 At runtime, use the following command to turn on polling mode.
201 ifconfig ixgb0 polling
203 Similarly, turn off polling mode by removing IFCAP_POLLING flag from
206 ifconfig ixgb0 -polling
208 The driver has to be built into the kernel for DEVICE POLLING to be
209 enabled in the driver.
214 For general information and support, go to the Intel support website at:
216 http://support.intel.com
218 If an issue is identified with the released source code on the supported
219 kernel with a supported adapter, email the specific information related to
220 the issue to freebsd@intel.com.
227 This software program is released under the terms of a license agreement
228 between you ('Licensee') and Intel. Do not use or load this software or any
229 associated materials (collectively, the 'Software') until you have carefully
230 read the full terms and conditions of the LICENSE located in this software
231 package. By loading or using the Software, you agree to the terms of this
232 Agreement. If you do not agree with the terms of this Agreement, do not
233 install or use the Software.
235 * Other names and brands may be claimed as the property of others.