e1000: Update copyrights and readme
Copyrights in sync with "cid-gigabit.2020.06.05.tar.gz released by ND" (from DPDK). README from the latest em-7.7.8 on intel.com Approved by: imp MFC after: 1 week
This commit is contained in:
parent
a4378873e9
commit
702cac6c6b
@ -1,6 +1,6 @@
|
||||
$FreeBSD$
|
||||
|
||||
Copyright (c) 2001-2010, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
@ -28,4 +28,3 @@ $FreeBSD$
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
@ -1,9 +1,8 @@
|
||||
$FreeBSD$
|
||||
FreeBSD* Driver for Intel Network Connection
|
||||
=============================================
|
||||
|
||||
May 30, 2007
|
||||
FreeBSD* Driver for Intel(R) Ethernet
|
||||
=====================================
|
||||
|
||||
August 7, 2019
|
||||
|
||||
Contents
|
||||
========
|
||||
@ -11,396 +10,424 @@ Contents
|
||||
- Overview
|
||||
- Identifying Your Adapter
|
||||
- Building and Installation
|
||||
- Speed and Duplex Configuration
|
||||
- Additional Configurations
|
||||
- Known Limitations
|
||||
- Additional Features and Configurations
|
||||
- Known Issues/Troubleshooting
|
||||
- Support
|
||||
- License
|
||||
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
This file describes the FreeBSD* driver for Intel Network Connection.
|
||||
This driver has been developed for use with FreeBSD, Release 7.x.
|
||||
This file describes the FreeBSD* driver for Intel(R) Ethernet. This driver has
|
||||
been developed for use with all community-supported versions of FreeBSD.
|
||||
|
||||
For questions related to hardware requirements, refer to the documentation
|
||||
supplied with your Gigabit adapter. All hardware requirements listed
|
||||
supplied with your Intel Ethernet Adapter. All hardware requirements listed
|
||||
apply to use with FreeBSD.
|
||||
|
||||
|
||||
Identifying Your Adapter
|
||||
========================
|
||||
This release includes two gigabit FreeBSD base Drivers for Intel(R) Ethernet.
|
||||
These drivers are em and igb.
|
||||
|
||||
For information on how to identify your adapter, go to the Adapter &
|
||||
Driver ID Guide at:
|
||||
- The igb driver supports all 82575 and 82576-based gigabit network connections.
|
||||
- The em driver supports all other gigabit network connections.
|
||||
- Gigabit devices base on the Intel(R) Ethernet Controller X722 are supported by
|
||||
the ixl driver.
|
||||
|
||||
http://support.intel.com/support/network/sb/cs-012904.htm
|
||||
|
||||
|
||||
For the latest Intel network drivers for FreeBSD, see:
|
||||
|
||||
http://downloadfinder.intel.com/scripts-df-external/support_intel.aspx
|
||||
|
||||
|
||||
NOTE: Mobile adapters are not fully supported.
|
||||
NOTE: The Intel(R) 82562v 10/100 Network Connection only provides 10/100
|
||||
support.
|
||||
|
||||
For information on how to identify your adapter, and for the latest Intel
|
||||
network drivers, refer to the Intel Support website:
|
||||
http://www.intel.com/support
|
||||
|
||||
|
||||
Building and Installation
|
||||
=========================
|
||||
NOTE: This driver package is to be used only as a standalone archive and the
|
||||
user should not attempt to incorporate it into the kernel source tree.
|
||||
|
||||
NOTE: The driver can be installed as a dynamic loadable kernel module or
|
||||
compiled into the kernel. 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.
|
||||
In the instructions below, x.x.x is the driver version as indicated in the name
|
||||
of the driver tar file.
|
||||
|
||||
1. Move the base driver tar file to the directory of your choice. For
|
||||
example, use /home/username/em or /usr/local/src/em.
|
||||
|
||||
2. Untar/unzip the archive:
|
||||
|
||||
tar xzvf em-x.x.x.tar.gz
|
||||
# tar xzf em-x.x.x.tar.gz
|
||||
|
||||
This will create an em-x.x.x directory.
|
||||
This will create the em-x.x.x directory.
|
||||
|
||||
3. To create a loadable module, perform the following steps.
|
||||
NOTE: To compile the driver into the kernel, go directly to step 4.
|
||||
3. To install man page:
|
||||
|
||||
a. To compile the module
|
||||
# cd em-x.x.x
|
||||
# gzip -c em.4 > /usr/share/man/man4/em.4.gz
|
||||
|
||||
cd em-x.x.x
|
||||
make
|
||||
4. To load the driver onto a running system:
|
||||
|
||||
b. To install the compiled module to the system directory:
|
||||
|
||||
make install
|
||||
|
||||
c. If you want the driver to load automatically when the system is booted:
|
||||
|
||||
1. Edit /boot/loader.conf, and add the following line:
|
||||
|
||||
if_em_load="YES"
|
||||
|
||||
4. To compile the driver into the kernel, enter:
|
||||
|
||||
cd em-x.x.x/src
|
||||
cp *.[ch] /usr/src/sys/dev/em
|
||||
|
||||
Edit the kernel configuration file (i.e., GENERIC or MYKERNEL) in
|
||||
/usr/src/sys/i386/conf, and ensure the following line is present:
|
||||
|
||||
device em
|
||||
|
||||
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.
|
||||
# cd em-x.x.x/src
|
||||
# make
|
||||
# kldload ./if_em.ko
|
||||
|
||||
5. To assign an IP address to the interface, enter the following:
|
||||
|
||||
ifconfig em<interface_num> <IP_address>
|
||||
# ifconfig em<interface_num> <IP_address>
|
||||
|
||||
6. 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>
|
||||
# ping <IP_address>
|
||||
|
||||
7. To configure the IP address to remain after reboot, edit /etc/rc.conf,
|
||||
and create the appropriate ifconfig_em<interface_num>entry:
|
||||
7. If you want the driver to load automatically when the system is booted:
|
||||
|
||||
ifconfig_em<interface_num>="<ifconfig_settings>"
|
||||
# cd em-x.x.x/src
|
||||
# make
|
||||
# make install
|
||||
|
||||
Example usage:
|
||||
Edit /boot/loader.conf, and add the following line:
|
||||
if_em_load="YES"
|
||||
|
||||
ifconfig_em0="inet 192.168.10.1 netmask 255.255.255.0"
|
||||
Edit /etc/rc.conf, and create the appropriate ifconfig_em<interface_num> entry:
|
||||
|
||||
NOTE: For assistance, see the ifconfig man page.
|
||||
ifconfig_em<interface_num>="<ifconfig_settings>"
|
||||
|
||||
Example usage:
|
||||
ifconfig_em0="inet 192.168.10.1 netmask 255.255.255.0"
|
||||
|
||||
NOTE: For assistance, see the ifconfig man page.
|
||||
|
||||
|
||||
Additional Features and Configurations
|
||||
======================================
|
||||
|
||||
Speed and Duplex Configuration
|
||||
==============================
|
||||
------------------------------
|
||||
In addressing speed and duplex configuration issues, you need to distinguish
|
||||
between copper-based adapters and fiber-based adapters.
|
||||
|
||||
By default, the adapter auto-negotiates the speed and duplex of the
|
||||
connection. If there is a specific need, the ifconfig utility can be used to
|
||||
configure the speed and duplex settings on the adapter. Example usage:
|
||||
In the default mode, an Intel(R) Ethernet Network Adapter using copper
|
||||
connections will attempt to auto-negotiate with its link partner to determine
|
||||
the best setting. If the adapter cannot establish link with the link partner
|
||||
using auto-negotiation, you may need to manually configure the adapter and link
|
||||
partner to identical settings to establish link and pass packets. This should
|
||||
only be needed when attempting to link with an older switch that does not
|
||||
support auto-negotiation or one that has been forced to a specific speed or
|
||||
duplex mode. Your link partner must match the setting you choose. 1 Gbps speeds
|
||||
and higher cannot be forced. Use the autonegotiation advertising setting to
|
||||
manually set devices for 1 Gbps and higher.
|
||||
|
||||
ifconfig em<interface_num> <IP_address> media 100baseTX mediaopt
|
||||
full-duplex
|
||||
Caution: Only experienced network administrators should force speed and duplex
|
||||
or change autonegotiation advertising manually. The settings at the switch must
|
||||
always match the adapter settings. Adapter performance may suffer or your
|
||||
adapter may not operate if you configure the adapter differently from your
|
||||
switch.
|
||||
|
||||
NOTE: Only use mediaopt to set the driver to full-duplex. If mediaopt is
|
||||
not specified and you are not running at gigabit speed, the driver
|
||||
defaults to half-duplex.
|
||||
An Intel(R) Ethernet Network Adapter using fiber-based connections, however,
|
||||
will not attempt to auto-negotiate with its link partner since those adapters
|
||||
operate only in full duplex and only at their native speed.
|
||||
|
||||
If the interface is currently forced to 100 full duplex, in order to change
|
||||
to half duplex you must use this command:
|
||||
By default, the adapter auto-negotiates the speed and duplex of the connection.
|
||||
If there is a specific need, the ifconfig utility can be used to configure the
|
||||
speed and duplex settings on the adapter.
|
||||
|
||||
ifconfig em<interface_num> <IP_address> media 100baseTX -mediaopt
|
||||
full-duplex
|
||||
Example usage:
|
||||
|
||||
# ifconfig emX <IP_address> media 100baseTX mediaopt full-duplex
|
||||
|
||||
NOTE: Only use mediaopt to set the driver to full-duplex. If mediaopt is not
|
||||
specified and you are not running at gigabit speed, the driver defaults to
|
||||
half-duplex.
|
||||
|
||||
If the interface is currently forced to 100 full duplex, you must use this
|
||||
command to change to half duplex:
|
||||
|
||||
# ifconfig emX <IP_address> media 100baseTX -mediaopt full-duplex
|
||||
|
||||
This driver supports the following media type options:
|
||||
|
||||
autoselect - Enables auto-negotiation for speed and duplex.
|
||||
|
||||
10baseT/UTP - Sets speed to 10 Mbps. Use the ifconfig mediaopt
|
||||
option to select full-duplex mode.
|
||||
|
||||
100baseTX - Sets speed to 100 Mbps. Use the ifconfig mediaopt
|
||||
option to select full-duplex mode.
|
||||
|
||||
1000baseTX - Sets speed to 1000 Mbps. In this case, the driver
|
||||
supports only full-duplex mode.
|
||||
|
||||
1000baseSX - Sets speed to 1000 Mbps. In this case, the driver
|
||||
supports only full-duplex mode.
|
||||
Media Type Description
|
||||
---------- -----------
|
||||
autoselect Enables auto-negotiation for speed and duplex.
|
||||
10baseT/UTP Sets speed to 10 Mbps. Use the ifconfig mediaopt
|
||||
option to select full-duplex mode.
|
||||
100baseTX Sets speed to 100 Mbps. Use the ifconfig mediaopt
|
||||
option to select full-duplex mode.
|
||||
1000baseTX Sets speed to 1000 Mbps. In this case, the driver
|
||||
supports only full-duplex mode.
|
||||
1000baseSX Sets speed to 1000 Mbps. In this case, the driver
|
||||
supports only full-duplex mode.
|
||||
|
||||
For more information on the ifconfig utility, see the ifconfig man page.
|
||||
|
||||
Jumbo Frames
|
||||
------------
|
||||
Jumbo Frames support is enabled by changing the Maximum Transmission Unit (MTU)
|
||||
to a value larger than the default value of 1500.
|
||||
|
||||
Additional Configurations
|
||||
=========================
|
||||
Use the ifconfig command to increase the MTU size. For example, enter the
|
||||
following where X is the interface number:
|
||||
|
||||
The driver supports Transmit/Receive Checksum Offload and Jumbo Frames on
|
||||
all but the 82542-based adapters. For specific adapters, refer to the
|
||||
Identifying Your Adapter section.
|
||||
# ifconfig emX mtu 9000
|
||||
|
||||
Jumbo Frames
|
||||
------------
|
||||
To enable Jumbo Frames, use the ifconfig utility to set the Maximum
|
||||
Transport Unit (MTU) frame size above its default of 1500 bytes.
|
||||
To confirm an interface's MTU value, use the ifconfig command.
|
||||
|
||||
The Jumbo Frames MTU range for Intel Adapters is 1500 to 16110. To modify
|
||||
the setting, enter the following:
|
||||
To confirm the MTU used between two specific devices, use:
|
||||
|
||||
ifconfig em<interface_num> <hostname or IP address> mtu 9000
|
||||
# route get <destination_IP_address>
|
||||
|
||||
To confirm the MTU used between two specific devices, use:
|
||||
NOTE: The maximum MTU setting for Jumbo Frames is 16110. This value coincides
|
||||
with the maximum Jumbo Frames size of 16132 bytes.
|
||||
|
||||
route get <destination_IP_address>
|
||||
NOTE: Using Jumbo frames at 10 or 100 Mbps is not supported and may result in
|
||||
poor performance or loss of link.
|
||||
|
||||
Notes:
|
||||
NOTE: Packet loss may have a greater impact on throughput when you use jumbo
|
||||
frames. If you observe a drop in performance after enabling jumbo frames,
|
||||
enabling flow control may mitigate the issue.
|
||||
|
||||
- Only enable Jumbo Frames if your network infrastructure supports them.
|
||||
NOTE: Some Intel gigabit adapters that support Jumbo Frames have a frame size
|
||||
limit of 9238 bytes, with a corresponding MTU size limit of 9216 bytes. The
|
||||
adapters with this limitation are based on the Intel(R) 82571EB, 82572EI,
|
||||
82573L, 82566, 82562, and 80003ES2LAN controller. These correspond to the
|
||||
following product names:
|
||||
Intel(R) PRO/1000 PT Server Adapter
|
||||
Intel(R) PRO/1000 PT Desktop Adapter
|
||||
Intel(R) PRO/1000 PT Network Connection
|
||||
Intel(R) PRO/1000 PT Dual Port Server Adapter
|
||||
Intel(R) PRO/1000 PT Dual Port Network Connection
|
||||
Intel(R) PRO/1000 PT Quad Port Server Adapter
|
||||
Intel(R) PRO/1000 PF Quad Port Server Adapter
|
||||
Intel(R) PRO/1000 PF Server Adapter
|
||||
Intel(R) PRO/1000 PF Network Connection
|
||||
Intel(R) PRO/1000 PF Dual Port Server Adapter
|
||||
Intel(R) PRO/1000 PB Server Connection
|
||||
Intel(R) PRO/1000 PL Network Connection
|
||||
Intel(R) PRO/1000 EB Network Connection with I/O Acceleration
|
||||
Intel(R) PRO/1000 EB Backplane Connection with I/O Acceleration
|
||||
Intel(R) 82566DM-2 Gigabit Network Connection
|
||||
Intel(R) 82574L Gigabit Network Connection
|
||||
Intel(R) Gigabit CT Desktop Adapter
|
||||
Intel(R) 82567LM-4 Gigabit Network Connection
|
||||
Intel(R) 82567LM-3 Gigabit Network Connection
|
||||
Intel(R) 82567LF-3 Gigabit Network Connection
|
||||
|
||||
- To enable Jumbo Frames, increase the MTU size on the interface beyond
|
||||
1500.
|
||||
|
||||
- The Jumbo Frames setting on the switch must be set to at least 22 bytes
|
||||
larger than that of the MTU.
|
||||
|
||||
- The maximum MTU setting for Jumbo Frames is 16110. This value coincides
|
||||
with the maximum Jumbo Frames size of 16128.
|
||||
|
||||
- Some Intel gigabit adapters that support Jumbo Frames have a frame size
|
||||
limit of 9238 bytes, with a corresponding MTU size limit of 9216 bytes.
|
||||
The adapters with this limitation are based on the Intel(R) 82571EB,
|
||||
82572EI, 82573L, 82566, 82562, and 80003ES2LAN controller. These
|
||||
correspond to the following product names:
|
||||
Intel(R) PRO/1000 PT Server Adapter
|
||||
Intel(R) PRO/1000 PT Desktop Adapter
|
||||
Intel(R) PRO/1000 PT Network Connection
|
||||
Intel(R) PRO/1000 PT Dual Port Server Adapter
|
||||
Intel(R) PRO/1000 PT Dual Port Network Connection
|
||||
Intel(R) PRO/1000 PT Quad Port Server Adapter
|
||||
Intel(R) PRO/1000 PF Quad Port Server Adapter
|
||||
Intel(R) PRO/1000 PF Server Adapter
|
||||
Intel(R) PRO/1000 PF Network Connection
|
||||
Intel(R) PRO/1000 PF Dual Port Server Adapter
|
||||
Intel(R) PRO/1000 PB Server Connection
|
||||
Intel(R) PRO/1000 PL Network Connection
|
||||
Intel(R) PRO/1000 EB Network Connection with I/O Acceleration
|
||||
Intel(R) PRO/1000 EB Backplane Connection with I/O Acceleration
|
||||
Intel(R) 82566DM-2 Gigabit Network Connection
|
||||
|
||||
- Adapters based on the Intel(R) 82542 and 82573V/E controller do not
|
||||
support Jumbo Frames. These correspond to the following product names:
|
||||
Intel(R) PRO/1000 Gigabit Server Adapter
|
||||
Intel(R) PRO/1000 PM Network Connection
|
||||
|
||||
- Using Jumbo Frames at 10 or 100 Mbps may result in poor performance or
|
||||
loss of link.
|
||||
|
||||
- The following adapters do not support Jumbo Frames:
|
||||
Intel(R) 82562V 10/100 Network Connection
|
||||
Intel(R) 82566DM Gigabit Network Connection
|
||||
Intel(R) 82566DC Gigabit Network Connection
|
||||
Intel(R) 82566MM Gigabit Network Connection
|
||||
Intel(R) 82566MC Gigabit Network Connection
|
||||
Intel(R) 82562GT 10/100 Network Connection
|
||||
Intel(R) 82562G 10/100 Network Connection
|
||||
Intel(R) 82566DC-2 Gigabit Network Connection
|
||||
Intel(R) 82562V-2 10/100 Network Connection
|
||||
Intel(R) 82562G-2 10/100 Network Connection
|
||||
Intel(R) 82562GT-2 10/100 Network Connection
|
||||
|
||||
VLANs
|
||||
-----
|
||||
To create a new VLAN interface:
|
||||
|
||||
ifconfig <vlan_name> create
|
||||
|
||||
To associate the VLAN interface with a physical interface and
|
||||
assign a VLAN ID, IP address, and netmask:
|
||||
|
||||
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 em0
|
||||
|
||||
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:
|
||||
|
||||
Intel Network Connection ifconfig <vlan_name> destroy
|
||||
NOTE: The following adapters limit Jumbo Frames sized packets to a maximum of
|
||||
4088 bytes:
|
||||
- Intel(R) 82578DM Gigabit Network Connection
|
||||
- Intel(R) 82577LM Gigabit Network Connection
|
||||
- The following adapters do not support Jumbo Frames:
|
||||
- Intel(R) PRO/1000 Gigabit Server Adapter
|
||||
- Intel(R) PRO/1000 PM Network Connection
|
||||
- Intel(R) 82562G 10/100 Network Connection
|
||||
- Intel(R) 82562G-2 10/100 Network Connection
|
||||
- Intel(R) 82562GT 10/100 Network Connection
|
||||
- Intel(R) 82562GT-2 10/100 Network Connection
|
||||
- Intel(R) 82562V 10/100 Network Connection
|
||||
- Intel(R) 82562V-2 10/100 Network Connection
|
||||
- Intel(R) 82566DC Gigabit Network Connection
|
||||
- Intel(R) 82566DC-2 Gigabit Network Connection
|
||||
- Intel(R) 82566DM Gigabit Network Connection
|
||||
- Intel(R) 82566MC Gigabit Network Connection
|
||||
- Intel(R) 82566MM Gigabit Network Connection
|
||||
- Intel(R) 82567V-3 Gigabit Network Connection
|
||||
- Intel(R) 82577LC Gigabit Network Connection
|
||||
- Intel(R) 82578DC Gigabit Network Connection
|
||||
- Jumbo Frames cannot be configured on an 82579-based Network device if
|
||||
MACSec is enabled on the system.
|
||||
|
||||
|
||||
Polling
|
||||
-------
|
||||
VLANS
|
||||
-----
|
||||
To create a new VLAN interface:
|
||||
|
||||
To enable polling in the driver, add the following options to the kernel
|
||||
configuration, and then recompile the kernel:
|
||||
# ifconfig <vlan_name> create
|
||||
|
||||
options DEVICE_POLLING
|
||||
options HZ=1000
|
||||
To associate the VLAN interface with a physical interface and assign a VLAN ID,
|
||||
IP address, and netmask:
|
||||
|
||||
At runtime use:
|
||||
ifconfig emX polling (to turn polling on)
|
||||
and:
|
||||
ifconfig emX -polling (to turn it off)
|
||||
# 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 em0
|
||||
|
||||
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
|
||||
|
||||
|
||||
Checksum Offload
|
||||
----------------
|
||||
Checksum offloading is not supported on 82542 Gigabit adapters.
|
||||
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.
|
||||
To enable polling in the driver, add the following options to the kernel
|
||||
configuration, and then recompile the kernel:
|
||||
|
||||
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.
|
||||
options DEVICE_POLLING
|
||||
options HZ=1000
|
||||
|
||||
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.
|
||||
At runtime use:
|
||||
ifconfig emX polling (to turn polling on)
|
||||
and:
|
||||
ifconfig emX -polling (to turn it off)
|
||||
|
||||
|
||||
TSO
|
||||
---
|
||||
The FreeBSD driver offers support for TSO (TCP Segmentation Offload).
|
||||
Checksum Offload
|
||||
----------------
|
||||
Checksum offloading is not supported on 82542 Gigabit adapters.
|
||||
|
||||
You can enable/disable it in two ways/places:
|
||||
Checksum offloading supports both TCP and UDP packets and is supported for both
|
||||
transmit and receive.
|
||||
|
||||
- sysctl net.inet.tcp.tso=0 (or 1 to enable it)
|
||||
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.
|
||||
|
||||
Doing this disables TSO in the stack and will affect all adapters.
|
||||
To enable checksum offloading:
|
||||
|
||||
- ifconfig emX -tso
|
||||
# ifconfig emX rxcsum
|
||||
|
||||
Doing this will disable TSO only for this adapter.
|
||||
To disable checksum offloading:
|
||||
|
||||
To enable:
|
||||
# ifconfig emX -rxcsum
|
||||
|
||||
- ifconfig emX tso
|
||||
To confirm the current setting:
|
||||
|
||||
NOTES: By default only PCI-Express adapters are ENABLED to do TSO. Others
|
||||
can be enabled by the user at their own risk
|
||||
TSO is not supported on 82547 and 82544-based adapters, as well as older adapters.
|
||||
# ifconfig emX
|
||||
|
||||
Look for the presence or absence of the following line:
|
||||
options=3 <RXCSUM,TXCSUM>
|
||||
|
||||
See the ifconfig man page for further information.
|
||||
|
||||
|
||||
Known Limitations
|
||||
=================
|
||||
TSO
|
||||
---
|
||||
TSO (TCP Segmentation Offload) supports both IPv4 and IPv6. TSO can be disabled
|
||||
and enabled using the ifconfig utility or sysctl.
|
||||
|
||||
Detected Tx Unit Hang in Quad Port Adapters
|
||||
-------------------------------------------
|
||||
NOTE: TSO requires Tx checksum, if Tx checksum is disabled, TSO will also be
|
||||
disabled.
|
||||
|
||||
In some cases ports 3 and 4 wont pass traffic. Ports 1 and 2 don't show
|
||||
any errors and will pass traffic.
|
||||
NOTE: By default only PCI-Express adapters are ENABLED to do TSO. Others can be
|
||||
enabled by the user at their own risk. TSO is not supported on 82547 or
|
||||
82544-based adapters, as well as older adapters.
|
||||
|
||||
This issue MAY be resolved by updating to the latest BIOS. You can
|
||||
check your system's BIOS by downloading the Linux Firmware Developer Kit
|
||||
that can be obtained at http://www.linuxfirmwarekit.org/
|
||||
To enable/disable TSO in the stack:
|
||||
|
||||
# sysctl net.inet.tcp.tso=0 (or 1 to enable it)
|
||||
|
||||
Doing this disables/enables TSO in the stack and affects all installed adapters.
|
||||
|
||||
To disable BOTH TSO IPv4 and IPv6:
|
||||
|
||||
# ifconfig em<interface_num> -tso
|
||||
|
||||
To enable BOTH TSO IPv4 and IPv6:
|
||||
|
||||
# ifconfig em<interface_num> tso
|
||||
|
||||
You can also enable/disable IPv4 TSO or IPv6 TSO individually. Simply replace
|
||||
tso|-tso in the above command with tso4 or tso6. For example, to disable
|
||||
TSO IPv4:
|
||||
|
||||
# ifconfig em<interface_num> -tso4
|
||||
|
||||
To disable TSO IPv6:
|
||||
|
||||
# ifconfig em<interface_num> -tso6
|
||||
|
||||
|
||||
There are known performance issues with this driver when running UDP traffic
|
||||
with Jumbo Frames.
|
||||
----------------------------------------------------------------------------
|
||||
MSI-X
|
||||
-----
|
||||
MSI or MSI-X can be turned off by an entry in /etc/sysctl.conf
|
||||
|
||||
82541/82547 can't link or is slow to link with some link partners
|
||||
-----------------------------------------------------------------
|
||||
hw.em.enable_msi=0
|
||||
|
||||
There is a known compatibility issue where time to link is slow or link is not
|
||||
established between 82541/82547 controllers and some switches. Known switches
|
||||
include:
|
||||
Planex FXG-08TE
|
||||
I-O Data ETG-SH8
|
||||
Netgear GS105v3
|
||||
Unload and reload the driver.
|
||||
|
||||
The driver can be compiled with the following changes:
|
||||
|
||||
Known Issues/Troubleshooting
|
||||
============================
|
||||
|
||||
Detected Tx Unit Hang in Quad Port Adapters
|
||||
-------------------------------------------
|
||||
In some cases ports 3 and 4 don't pass traffic and report 'Detected Tx Unit
|
||||
Hang' followed by 'NETDEV WATCHDOG: emX: transmit timed out' errors. Ports 1
|
||||
and 2 do not show any errors and will pass traffic.
|
||||
|
||||
This issue may be resolved by updating to the latest kernel and BIOS. You
|
||||
should use an OS that fully supports Message Signaled Interrupts (MSI) and make
|
||||
sure that MSI is enabled in your system's BIOS.
|
||||
|
||||
|
||||
There are known performance issues with this driver when running UDP traffic
|
||||
with Jumbo Frames.
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
|
||||
82541/82547 can't link or is slow to link with some link partners
|
||||
-----------------------------------------------------------------
|
||||
There is a known compatibility issue where time to link is slow or link is not
|
||||
established between 82541/82547 controllers and some switches. Known switches
|
||||
include:
|
||||
Planex FXG-08TE
|
||||
I-O Data ETG-SH8
|
||||
|
||||
The driver can be compiled with the following changes:
|
||||
|
||||
Edit ./em.x.x.x/src/if_em.h to change the #define EM_MASTER_SLAVE
|
||||
For example, change from:
|
||||
|
||||
#define EM_MASTER_SLAVE e1000_ms_hw_default
|
||||
to:
|
||||
#define EM_MASTER_SLAVE 2
|
||||
For example, change from:
|
||||
|
||||
Use one of the following options:
|
||||
1 = Master mode
|
||||
2 = Slave mode
|
||||
3 = Auto master/slave
|
||||
Setting 2 is recommended.
|
||||
#define EM_MASTER_SLAVE e1000_ms_hw_default
|
||||
|
||||
Recompile the module:
|
||||
a. To compile the module
|
||||
cd em-x.x.x
|
||||
make clean
|
||||
make
|
||||
to:
|
||||
|
||||
b. To install the compiled module in system directory:
|
||||
make install
|
||||
#define EM_MASTER_SLAVE 2
|
||||
|
||||
Use one of the following options:
|
||||
1 = Master mode
|
||||
2 = Slave mode
|
||||
3 = Auto master/slave
|
||||
Setting 2 is recommended.
|
||||
|
||||
Recompile the module:
|
||||
a. To compile the module
|
||||
cd em-x.x.x
|
||||
make clean
|
||||
make
|
||||
b. To install the compiled module in system directory:
|
||||
make install
|
||||
|
||||
|
||||
Support
|
||||
=======
|
||||
For general information, go to the Intel support website at:
|
||||
http://www.intel.com/support/
|
||||
|
||||
For general information and support, go to the Intel support website at:
|
||||
|
||||
http://support.intel.com
|
||||
|
||||
If an issue is identified, support is through email only at:
|
||||
freebsd@intel.com
|
||||
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 freebsd@intel.com
|
||||
|
||||
|
||||
License
|
||||
=======
|
||||
Copyright(c) 1999-2019 Intel Corporation.
|
||||
|
||||
This software program is released under the terms of a license agreement
|
||||
between you ('Licensee') and Intel. Do not use or load this software or any
|
||||
associated materials (collectively, the 'Software') until you have carefully
|
||||
read the full terms and conditions of the LICENSE located in this software
|
||||
package. By loading or using the Software, you agree to the terms of this
|
||||
Agreement. If you do not agree with the terms of this Agreement, do not
|
||||
install or use the Software.
|
||||
|
||||
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.
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -1,7 +1,7 @@
|
||||
/******************************************************************************
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
Copyright (c) 2001-2015, Intel Corporation
|
||||
Copyright (c) 2001-2020, Intel Corporation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
Loading…
Reference in New Issue
Block a user