|
|
|
|
NOTE: CentOS Enterprise Linux is built from the Red Hat Enterprise Linux source code. Other than logo and name changes CentOS Enterprise Linux is compatible with the equivalent Red Hat version. This document applies equally to both Red Hat and CentOS Enterprise Linux.
|
Important |
|
Most modern Ethernet-based network interface cards (NICs), do
not require module parameters to alter settings. Instead, they can
be configured using ethtool or mii-tool. Only after these tools fail to work should
module parameters be adjusted. Module paramaters can be viewed
using the modinfo command.
|
|
Note |
|
For information about using these tools, consult the man pages
for ethtool, mii-tool, and modinfo.
|
Hardware |
Module |
Parameters |
3Com EtherLink PCI III/XL Vortex (3c590, 3c592, 3c595, 3c597)
Boomerang (3c900, 3c905, 3c595) |
3c59x.o |
full_duplex= |
0 is off |
1 is on |
|
RTL8139, SMC EZ Card Fast Ethernet, RealTek cards using
RTL8129, or RTL8139 Fast Ethernet chipsets |
8139too.o |
|
Intel Ether Express/100 driver |
e100.o |
e100_speed_duplex=X |
If X
= |
0 = autodetect speed and duplex |
1 = 10Mbps, half duplex |
2 = 10Mbps, full duplex |
3 = 100Mbps, half duplex |
4 = 100Mbps, full duplex |
|
Intel EtherExpress/1000 Gigabit |
e1000.o |
|
Intel i82557/i82558 PCI EtherExpressPro driver |
eepro100.o |
|
NatSemi DP83815 Fast Ethernet |
natsemi.o |
|
AMD PCnet32 and AMD PCnetPCI |
pcnet32.o |
|
SIS 900/701G PCI Fast Ethernet |
sis900.o |
|
ThunderLAN |
tlan.o |
|
Digital 21x4x Tulip PCI Ethernet cards SMC EtherPower 10
PCI(8432T/8432BT) SMC EtherPower 10/100 PCI(9332DST) DEC EtherWorks
100/10 PCI(DE500-XA) DEC EtherWorks 10 PCI(DE450) DEC QSILVER's,
Znyx 312 etherarray Allied Telesis LA100PCI-T Danpex EN-9400,
Cogent EM110 |
tulip.o |
io=io_port |
VIA Rhine PCI Fast Ethernet cards with either the VIA VT86c100A
Rhine-II PCI or 3043 Rhine-I D-Link DFE-930-TX PCI 10/100 |
via-rhine.o |
|
Table A-2. Ethernet Module Parameters
It is possible to use multiple Ethernet cards on a single
machine. For each card there must be an alias and, possibly, options lines for each card in /etc/modules.conf. Refer to the chapter titled
Kernel Modules in the Red Hat Enterprise Linux System Administration
Guide for more information.
For additional information about using multiple Ethernet cards,
refer to the Linux Ethernet-HOWTO online
at https://www.redhat.com/mirrors/LDP/HOWTO/Ethernet-HOWTO.html.
Red Hat Enterprise Linux allows administrators to bind NICs
together into a single channel using the bonding kernel module and a special network
interface, called a channel bonding
interface. Channel bonding enables two or more network
interfaces to act as one, simultaneously increasing the bandwidth
and providing redundancy.
To channel bond multiple network interfaces, the administrator
must perform the following steps:
-
Add the following line to /etc/modules.conf:
Replace <N> with the
interface number, such as 0. For each
configured channel bonding interface, there must be a corresponding
entry in /etc/modules.conf.
-
Configure a channel bonding interface as outlined in
Section 8.2.3 Channel Bonding Interfaces.
-
To enhance performance, adjust available module options to
ascertain what combination works best. Pay particular attention to
the miimon or arp_interval and the arp_ip_target parameters. Refer to Section
A.3.2.1 bonding Module
Directives for a listing of available options.
-
After testing, place preferred module options in /etc/modules.conf.
Before finalizing the settings for the bonding module, it is a good idea to test which
settings work best. To do this, open a shell prompt as root and
type:
tail -f /var/log/messages
|
Open another shell prompt and use the /sbin/insmod command to load the bonding module with different parameters while
observing the kernel messages for errors.
The /sbin/insmod command is issued in
the following format:
/sbin/insmod bond<N> <parameter=value>
|
Replace <N> with the number
for the bonding interface. Replace <parameter=value> with a space separated
list of desired parameters for the interface.
Once satisfied that there are no errors and after verifying the
performance of the bonding interface, add the appropriate
bonding module parameters to /etc/modules.conf.
The following is a list of available parameters for the
bonding module:
-
mode= — Specifies one of four
policies allowed for the bonding module.
Acceptable values for this parameter are:
-
0 — Sets a round-robin policy for
fault tolerance and load balancing. Transmissions are received and
sent out sequentially on each bonded slave interface beginning with
the first one available.
-
1 — Sets an active-backup policy
for fault tolerance. Transmissions are received and sent out via
the first available bonded slave interface. Another bonded slave
interface is only used if the active bonded slave interface
fails.
-
2 — Sets an XOR (exclusive-or)
policy for fault tolerance and load balancing. Using this method,
the interface matches up the incoming request's MAC address with
the MAC address for one of the slave NICs. Once this link is
established, transmissions are sent out sequentially beginning with
the first available interface.
-
3 — Sets a broadcast policy for
fault tolerance. All transmissions are sent on all slave
interfaces.
-
4 — Sets an IEEE 802.3ad dynamic
link aggregation policy. Creates aggregation groups that share the
same speed and duplex settings. Transmits and receives on all
slaves in the active aggregator. Requires a switch that is 802.3ad
compliant.
-
5 — Sets a Transmit Load
Balancing (TLB) policy for fault tolerance and load balancing. The
outgoing traffic is distributed according to the current load on
each slave interface. Incoming traffic is received by the current
slave. If the receiving slave fails, another slave takes over the
MAC address of the failed slave.
-
6 — Sets an Active Load Balancing
(ALB) policy for fault tolerance and load balancing. Includes
transmit and receive load balancing for IPV4 traffic. Receive load
balancing is achieved through ARP negotiation.
-
miimon= — Specifies (in
milliseconds) how often MII link monitoring occurs. This is useful
if high availability is required because MII is used to verify that
the NIC is active. To verify that the driver for a particular NIC
supports the MII tool, type the following command as root:
ethtool <interface-name> | grep "Link detected:"
|
In this command, replace <interface-name> with the name of the
device interface, such as eth0, not the
bond interface. If MII is supported, the
command returns:
If using a bonded interface for high availability, the module
for each NIC must support MII.
Setting the value to 0 (the default),
turns this feature off. When configuring this setting, a good
starting point for this parameter is 100.
-
downdelay= — Specifies (in
milliseconds) how long to wait after link failure before disabling
the link. The value must be a multiple of the value specified in
the miimon parameter. The value is set to
0 by default, which disables it.
-
updelay= — Specifies (in
milliseconds) how long to wait before enabling a link. The value
must be a multiple of the value specified in the miimon parameter. The value is set to 0 by default, which disables it.
-
arp_interval= — Specifies (in
milliseconds) how often ARP monitoring occurs.
If using this setting while in mode
0 or 2 (the two
load-balancing modes), the network switch must be configured to
distribute packets evenly across the NICs. For more information on
how to accomplish this, refer to
/usr/share/doc/kernel-doc-<kernel-version>/Documentation/networking/
bonding.txt
|
The value is set to 0 by default, which
disables it.
-
arp_ip_target= — Specifies the
target IP address of ARP requests when the arp_interval parameter is enabled. Up to 16 IP
addresses can be specified in a comma separated list.
-
primary= — Specifies the
interface name, such as eth0, of the
primary device. The primary device is the
first of the bonding interfaces to be used and is not abandoned
unless it fails. This setting is particularly useful when one NIC
in the bonding interface is faster and, therefore, able to handle a
bigger load.
This setting is only valid when the bonding interface is in
active-backup mode. Refer to
/usr/share/doc/kernel-doc-<kernel-version>/Documentation/networking/
bonding.txt
|
for more information.
-
multicast= — Specifies an integer
value for the type of multicast support desired.
Acceptable values for this parameter are:
-
0 — Disables multicast
support.
-
1 — Enables multicast support,
but only on the active slave.
-
2 — Enables multicast support on
all slaves (the default).
|
Important |
|
It is essential that either the arp_interval and arp_ip_target or miimon
parameters are specified. Failure to due so can cause degradation
of network performance in the event a link fails.
|
Refer to:
/usr/share/doc/kernel-doc-<kernel-version>/Documentation/networking/
bonding.txt
|
for detailed instructions regarding bonding interfaces.
|
|
|