This file describes the FreeBSD* driver, for the Intel® PRO/10GbE Server Adapter. Drivers has been developed for use with FreeBSD 6.x.
For questions related to hardware requirements, refer to the documentation supplied with your Intel PRO/10GbE server adapter. All hardware requirements listed apply to use with FreeBSD.
The following Intel network adapters are compatible with the drivers in this release:
Controller | Adapter Name | Physical Layer |
82597EX | Intel® PRO/10GbE SR Server Adapter | 10GBase-SR (850 nm optical fiber) |
82597EX | Intel® PRO/10GbE LR Server Adapter | 10GBase-LR (1310 nm optical fiber) |
82597EX | Intel® PRO/10GbE CX4 Server Adapter | 10GBase-CX4 (twin-axial copper cabling) |
To verify that your Intel adapter is supported, find the board ID number on the adapter. Look for a label that has a barcode and a number in the format of 123456-001 (six digits hyphen three digits). For more information on how to identify your adapter, go to the Adapter & Driver ID Guide at:
For the latest Intel network drivers for FreeBSD, see:
http://downloadfinder.intel.com/scripts-df-external/support_intel.aspx
![]() |
NOTE: You must have kernel sources installed in order to compile the driver module. |
In the instructions below, x.x.x is the driver version as indicated in the name of the driver tar file.
Move the base driver tar file to the directory of your choice. For example, use /home/username/ixgb or /usr/local/src/ixgb.
Untar/unzip the archive:
tar xfz ixgb-x.x.x.tar.gz
This will create an ixgb-x.x.x directory.
To install man page:
cd ixgb-x.x.x
gzip -c ixgb.4 > /usr/share/man/man4/ixgb.4.gz
To load the driver onto a running system, perform the following steps:
cd ixgb-x.x.x/src
make load
To assign an IP address to the interface, enter the following:
ifconfig ixgb<interface_num>
<IP_address>
Verify that the interface works. Enter the following, where <IP_address>
is the IP address for another machine on the same subnet as the interface
that is being tested:
ping <IP_address>
If you want the driver to load automatically when the system is booted:
cd ixgb-x.x.x/src
make
make install
Edit /boot/loader.conf, and add the following line:
if_ixgb_load="YES"
OR
compile the driver into the kernel (see item 8).
Edit /etc/rc.conf, and create the appropriate
ifconfig_ixgb<interface_num>
entry:
ifconfig_ixgb<interface_num>="<ifconfig_settings>"
Example usage:
ifconfig_ixgb0="inet 192.168.10.1 netmask 255.255.255.0"
NOTE: For assistance, see the ifconfig man page.
If you want to compile the driver into the kernel, enter:
cd ixgb-x.x.x/src
mkdir -p /usr/src/sys/dev/ixgb
cp if_ixgb* /usr/src/sys/dev/ixgb
cp ixgb* /usr/src/sys/dev/ixgb
mkdir -p /usr/src/sys/modules/ixgb
cp Makefile.kernel /usr/src/sys/modules/ixgb/Makefile
If you have an i386 platform: Edit the kernel configuration
file (i.e., GENERIC or MYKERNEL) in /usr/src/sys/i386/conf (replace
"i386" with the appropriate system architecture if necessary), and
ensure the following line is present:
device ixgb
Compile and install the kernel. The system must be rebooted for the kernel
updates to take effect.
For additional information on compiling the kernel, consult the FreeBSD
operating system documentation.
The driver supports Transmit/Receive Checksum Offload and Jumbo Frames on all PRO/10GbE adapters.
To enable Jumbo Frames, use the ifconfig utility to increase the MTU beyond 1500 bytes.
![]() |
NOTES: Only enable Jumbo Frames if your network infrastructure, including switches, supports them. |
The Jumbo Frames setting on the switch must be
set to at least 22 bytes larger than that of the MTU.
There are known performance issues with this driver when running UDP traffic with Jumbo Frames. |
The Jumbo Frames MTU range for Intel Adapters is 1500 to 16114. The default MTU range is 1500. To modify the setting, enter the following:
ifconfig ixgb<interface_num> <hostname or IP address> mtu 9000
To confirm an interface's MTU value, use the ifconfig command. To confirm the MTU used between two specific devices, use:
route get <destination_IP_address>
To create a new VLAN interface:
ifconfig <vlan_name> create
To associate the VLAN interface with a physical interface and assign an IP address, netmask, and VLAN ID:
ifconfig <vlan_name> <ip_address> netmask <subnet_mask> vlan <vlan_id> vlandev <physical_interface>
Example:
ifconfig vlan10 10.0.0.1 netmask 255.255.255.0 vlan 10 vlandev ixgb0
In this example, all packets will be marked on egress with 802.1Q VLAN tags, specifying a VLAN ID of 10.
To remove a VLAN interface:
ifconfig <vlan_name> destroy
To enable polling in the driver, add the following options to the kernel configuration, and then recompile the kernel:
options DEVICE_POLLING
options HZ=1000
To turn on polling::
ifconfig <interface_num> polling
To turn off polling:
ifconfig <interface_num> -polling
![]() |
NOTES: DEVICE POLLING is only
valid for non-SMP kernels. The driver has to be built into the kernel for DEVICE POLLING to be enabled in the driver. |
Checksum offloading supports both TCP and UDP packets and is supported for
both transmit and receive.
Checksum offloading can be enabled or disabled using ifconfig. Both transmit and
receive offloading will be either enabled or disabled together. You cannot
enable/disable one without the other.
To enable checksum offloading:
ifconfig <interface_num> rxcsum
To disable checksum offloading:
ifconfig <interface_num> -rxcsum
To confirm the current setting:
ifconfig <interface_num>
Look for the presence or absence of the following line:
options=3 <RXCSUM,TXCSUM>
See the ifconfig man page for further information.
Under small packets UDP stress test with the 10GbE driver, the FreeBSD system will drop UDP packets, due to socket buffers being full. You may want to change the driver's Flow Control variables to the minimum value for controlling packet reception.
For general information and support, go to the support website
If an issue is identified, support is through email only at: freebsdnic@mailbox.intel.com.
Last modified on 6/19/06 9:38a Revision 17