summaryrefslogtreecommitdiffstats
path: root/source/n/network-scripts/README.bonding
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2021-03-01 20:10:44 +0000
committer Eric Hameleers <alien@slackware.com>2021-03-02 08:59:52 +0100
commit07ac5d43e50cb2039f37b4e9447c4e52789c9fb2 (patch)
tree9b2ebc687d19203f8b4ebe1ab2a0b6c485454a3b /source/n/network-scripts/README.bonding
parentfa458b65d9d4c5e933622574d999915ecda37a25 (diff)
downloadcurrent-07ac5d43e50cb2039f37b4e9447c4e52789c9fb2.tar.gz
current-07ac5d43e50cb2039f37b4e9447c4e52789c9fb2.tar.xz
Mon Mar 1 20:10:44 UTC 202120210301201044
a/e2fsprogs-1.46.2-x86_64-1.txz: Upgraded. a/etc-15.0-x86_64-14.txz: Rebuilt. /etc/hosts: added IPv6 loopback addresses. a/hwdata-0.345-noarch-1.txz: Upgraded. ap/hplip-3.20.6-x86_64-7.txz: Rebuilt. Fixed desktop file to show category and icon properly. Thanks to upnort and ArTourter. d/git-2.30.1-x86_64-3.txz: Rebuilt. Make sure the bash-completion file is installed in the proper location. Thanks to Robby Workman. d/python-setuptools-54.0.0-x86_64-1.txz: Upgraded. d/vala-0.50.4-x86_64-1.txz: Upgraded. l/imagemagick-7.0.11_2-x86_64-1.txz: Upgraded. l/python-pillow-8.1.1-x86_64-1.txz: Upgraded. n/network-scripts-15.0-noarch-13.txz: Rebuilt. Well, apparently there was a newer branch of this than the one that was sitting in my usual pending queue, so here it is. This also includes some additional documentation on the new features. NOTE: In order to use SLAAC to configure IPv6, you'll need to have USE_SLAAC[x]="yes" for the interface in rc.inet1.conf. This is to ensure that nobody is surprised to find their machine fully exposed to the internet - better safe than sorry. Thanks to Darren "Tadgy" Austin and Robby Workman. n/wireless_tools-30.pre9-x86_64-4.txz: Rebuilt. This package contains some updates to rc.wireless and rc.wireless.conf. Thanks to Darren "Tadgy" Austin. xfce/mousepad-0.5.3-x86_64-1.txz: Upgraded.
Diffstat (limited to 'source/n/network-scripts/README.bonding')
-rw-r--r--source/n/network-scripts/README.bonding129
1 files changed, 129 insertions, 0 deletions
diff --git a/source/n/network-scripts/README.bonding b/source/n/network-scripts/README.bonding
new file mode 100644
index 000000000..5f14e50c2
--- /dev/null
+++ b/source/n/network-scripts/README.bonding
@@ -0,0 +1,129 @@
+Bonding (link aggregation)
+==========================
+
+Features
+--------
+* Full support of features offered by the bonding kernel module.
+* Selectable bonding mode using a single parameter in rc.inet1.conf.
+* Easy addition of interfaces to the bond using a parameter in rc.inet1.conf.
+* Custom bonding module options can be provided using the generic parameter
+ IFOPTS[x] in the configuration file.
+
+Configuration
+-------------
+Bonding interfaces can be configured via two new bond specific parameters in
+rc.inet1.conf, plus use of the generic IFOPTS[x] parameter. New parameters
+are:
+ BONDNICS[x]="" The space delimited list of interfaces to add to this
+ bond. The interfaces will be brought up and configured
+ while bringing up the interface, so do not need to be
+ previously defined in rc.inet1.conf. A bond can be
+ created with only 1 interface, but does not become
+ useful until at least 2 interfaces are configured.
+
+ BONDMODE[x]="" This parameter sets the bonding mode for this
+ interface. If not specified when BONDNICS[x] has been
+ used, the default is 'balance-rr'. See below for a
+ list of all bonding modes available.
+
+The following bond modes are available:
+ balance-rr This mode is also known as round-robin mode. Packets
+ are sequentially transmitted and received through each
+ interface one by one. This mode provides load
+ balancing functionality along with fault tolerance.
+ active-backup When in this mode only one interface set to active,
+ while all other interfaces are in the backup state. If
+ the active interface fails, a backup interface replaces
+ it as the only active interface in the bond. This mode
+ only provides fault tolerance, no load balancing.
+ This mode requires that the 'primary <interface>'
+ option be configured with the IFOPTS[x] parameter.
+ balance-xor The source MAC address uses exclusive or (XOR) logic
+ with the destination MAC address. This calculation
+ ensures that the same slave interface is selected for
+ each destination MAC address. This mode provides fault
+ tolerance and load balancing.
+ broadcast All packets are sent to all the slaved interfaces. This
+ mode provides fault tolerance, but may result in
+ duplicate packets arriving at the destination.
+ 802.3ad Also known as LACP. This mode creates aggregation
+ groups that share the same speed and duplex settings,
+ and it requires a switch that supports an IEEE 802.3ad.
+ This mode uses all interfaces to form the aggregation
+ group and provides fault tolerance and load balancing.
+ balance-tlb This mode ensures that the outgoing traffic
+ distribution is set according to the load on each
+ interface and that the current interface receives all
+ the incoming traffic. If the assigned interface fails
+ to receive traffic, another interface is assigned to
+ the receiving role. This provides fault tolerance and
+ load balancing.
+ balance-alb The receiving packets are load balanced through Address
+ Resolution Protocol (ARP) negotiation. This mode
+ provides fault tolerance and load balancing.
+
+Module specific interface options can be set using the the IFOPTS[x] paramter,
+which takes a pipe (|) delimited list of options for the interface. The
+following are the most useful options which can be set with IFOPTS[x]:
+ miimon Specifies the MII link monitoring frequency in milliseconds.
+ This determines how often the link state of each slaved
+ interface is checked for link failures. A value of zero
+ disables MII link monitoring, but this is NOT advised. A value
+ of 100 is a good starting point. The default value is 0, so be
+ sure to set this option with ALL modes.
+ lacp_rate This option specifies the rate at which the host will ask the
+ link partner to transmit LACPDU packets in 802.3ad mode.
+ Possible values are:
+ slow Transmit LACPDUs every 30 seconds.
+ fast Transmit LACPDUs every 1 second.
+ The default is slow, but fast is recommended.
+ primary The interface (eth0, eth2, ...) selecting which slave is the
+ primary device. The specified interface will always be the
+ active slave while it is available. Only when the primary is
+ off-line will alternate interfaces be used. This is useful
+ when one interface is preferred over another (e.g. when one
+ interface has higher throughput than another). This option
+ is only valid for active-backup, balance-tlb, and balance-alb
+ modes.
+ xmit_hash_policy
+ Selects the transmit hash policy to use for interface selection
+ in balance-xor, 802.3ad, and balance-tlb modes. Possible
+ values are:
+ layer2 Use XOR of source/dest hardware MAC addresses
+ and packet type ID fields to generate the hash.
+ This algorithm will place all traffic to a
+ particular network peer on the same slave.
+ layer2+3 Use a combination of layer2 and layer3 protocol
+ information (hardware MAC addresses and IP
+ addresses) to generate the hash.
+ This algorithm will place all traffic to a
+ particular network peer on the same slave.
+ This policy is intended to provide a more
+ balanced distribution of traffic than layer2
+ alone, especially in environments where a
+ layer3 gateway device is required to reach most
+ destinations.
+ layer3+4 This policy uses upper layer protocol
+ information, when available, to generate the
+ hash. This allows for traffic to a particular
+ network peer to span multiple slave interfaces,
+ although a single connection will not span
+ multiple slaves.
+ The default value is layer2. Additional (lesser used) policies
+ are available, and documented in kernel source documentation:
+ /usr/src/linux/Documentation/networking/bonding.txt
+
+The IFOPTS[x] option should always include the 'miimon' option - not using this
+option will result in network degradation.
+In 'active-backup' mode, the 'primary' option should also be supplied.
+When using '802.3ad mode', set "lacp_rate fast" for faster recovery from an
+interface failure.
+In other modes, the 'xmit_hash_policy' should be set.
+
+Full documentation of the bonding layer is available in the kernel source
+documentation: /usr/src/linux/Documentation/networking/bonding.txt.
+
+
+--
+Darren 'Tadgy' Austin.
+<darren (at) afterdark.org.uk>