08-08-2013
Bonding a Bond with LACP
Does anyone know if it's possible to bond two bonds together? My situation is I have two older Cisco switches that cannot carry a LACP (bond level 4) aggregated between them, but separate aggregates can be setup on the switches themselves. In order to have redundancy of two switches I would normally just setup a regular bond going to both switches, but in this situation I need to setup LACP with two ethernet connections. So this means I need one LACP bond for each switch, followed by bonding each of those two bonds into a single bond.
In other words, four connections -- two connections in LACP (bond level 4) to each switch, and then bonding those bonds together in a master (default level 0) bond. The only information I've found for bonding LACP (level 4) is below, but nothing mentions if it's even possible to wrap a bond around other bonds.
TipsAndTricks/BondingInterfaces - CentOS Wiki
Configure Bonding / Link-Aggregation using LACP under RHEL 5.4 (or CentOS) | itground
How to configure network bonding in Linux | Backdrift
I've done this successfully many times with Solaris by creating separate aggregate devices (using dladm), and then putting the aggregates together for redundancy via IPMP. I'm basically wondering if that's even possible with Red Hat Linux.
I'm using Red Hat Enterprise 6.4
Any suggestions / ideas?
---------- Post updated 08-08-13 at 08:26 AM ---------- Previous update was 08-07-13 at 10:23 PM ----------
Well, it looks like I found the answer to my own question finally. While this is possible in Solaris, Linux just isn't capable of it.
https://access.redhat.com/site/solutions/24528
9 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Hi there
I have a requirement to provide failover to our customer boxes in case of interface / switch failure, I have been looking at Solaris Link Aggregation with LACP and I wanted to ask a question
Ive seen multiple websites that say the following
Does this also mean that if the... (1 Reply)
Discussion started by: hcclnoodles
1 Replies
2. IP Networking
Hello, I am trying to get clarity on a few things and am looking for some info.
In every article I have read about link aggregation and lacp, it can be used combine physical links to create 1 logical link for increased bandwidth.
But what it doesn't say is if this is limited by source/dst. ... (1 Reply)
Discussion started by: jaredo
1 Replies
3. UNIX for Advanced & Expert Users
All, I have a quad NIC on a V880 running Solaris 9. I've heard you can bond interfaces together and get better throughput. I found this link that seems to describe the process well. However, the command mentioned (dladm) is missing. Is there some package I need to install to get this command? Thx.... (2 Replies)
Discussion started by: agcodba
2 Replies
4. Solaris
Hello,
I have these S10 boxes with LACP using the L4 policy. Does the L4 policy create a lot more overhead as opposed to using the L2?
I'm noticing that my traffic does not seem to be very well load balanced accross the NIC's, and I am wondering if the policy I'm using has anything else to do... (1 Reply)
Discussion started by: BG_JrAdmin
1 Replies
5. Solaris
Hi,
I'm not from the Solaris world and some of these things are new to me. Can someone tell me if it is possible to configure link aggregation without using LACP?
I am told etherchannel was setup without LACP. (3 Replies)
Discussion started by: techy1
3 Replies
6. IP Networking
HI all,
First post on the forum, and my first proper project on the Paspberry Pi, so sorry if this is in the wrong place.
I am trying to turn my Pi in to a 3G/4G Bonding router. I have been researching and trying this for a week or so now. The basic plan is to have up to 6 ZTE MF823 USB... (0 Replies)
Discussion started by: elliottlc
0 Replies
7. Red Hat
I have changed bond configuration(mode) from TLB to ALB in modprobe.conf file.
But after the restart of machine the change is not reflected in the system.While doing a >>cat /sys/class/net/bond0/bonding/mode, it shows TLB mode, where as in modprobe.conf file alb exists.Can somebody help me out to... (1 Reply)
Discussion started by: Anjan Ganguly
1 Replies
8. UNIX for Advanced & Expert Users
Hi All,
I have done IEEE 802.3ad Dynamic link aggregation bond configuration with name bond0 which has 4 slaves (each 25GB/s) in it on cent os 6.8. Issue i am facing is bonding throughput is only 50GB/s not 100GB/s. below are the configuration files :
DEVICE=bond0
IPADDR=xx.xx.xx.xx... (1 Reply)
Discussion started by: omkar.jadhav
1 Replies
9. IP Networking
Hello my dears,
I preparing system running linux. I found that team is advantage than bond with the option "load-balancing for LACP support" and some minor advantages.
8.3. Comparison of Network Teaming to Bonding - Red Hat Customer Portal.
But what exactly meaning of this option I don't... (1 Reply)
Discussion started by: tien86
1 Replies
LAGG(4) BSD Kernel Interfaces Manual LAGG(4)
NAME
lagg -- link aggregation and link failover interface
SYNOPSIS
To compile this driver into the kernel, place the following line in your kernel configuration file:
device lagg
Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):
if_lagg_load="YES"
DESCRIPTION
The lagg interface allows aggregation of multiple network interfaces as one virtual lagg interface for the purpose of providing fault-toler-
ance and high-speed links.
A lagg interface can be created using the ifconfig laggN create command. It can use different link aggregation protocols specified using the
laggproto proto option. Child interfaces can be added using the laggport child-iface option and removed using the -laggport child-iface
option.
The driver currently supports the aggregation protocols failover (the default), fec, lacp, loadbalance, roundrobin, and none. The protocols
determine which ports are used for outgoing traffic and whether a specific port accepts incoming traffic. The interface link state is used
to validate if the port is active or not.
failover Sends traffic only through the active port. If the master port becomes unavailable, the next active port is used. The first
interface added is the master port; any interfaces added after that are used as failover devices.
By default, received traffic is only accepted when they are received through the active port. This constraint can be relaxed by
setting the net.link.lagg.failover_rx_all sysctl(8) variable to a nonzero value, which is useful for certain bridged network
setups.
fec Supports Cisco EtherChannel. This is a static setup and does not negotiate aggregation with the peer or exchange frames to mon-
itor the link.
lacp Supports the IEEE 802.3ad Link Aggregation Control Protocol (LACP) and the Marker Protocol. LACP will negotiate a set of aggre-
gable links with the peer in to one or more Link Aggregated Groups. Each LAG is composed of ports of the same speed, set to
full-duplex operation. The traffic will be balanced across the ports in the LAG with the greatest total speed, in most cases
there will only be one LAG which contains all ports. In the event of changes in physical connectivity, Link Aggregation will
quickly converge to a new configuration.
loadbalance Balances outgoing traffic across the active ports based on hashed protocol header information and accepts incoming traffic from
any active port. This is a static setup and does not negotiate aggregation with the peer or exchange frames to monitor the
link. The hash includes the Ethernet source and destination address, and, if available, the VLAN tag, and the IP source and
destination address.
roundrobin Distributes outgoing traffic using a round-robin scheduler through all active ports and accepts incoming traffic from any active
port.
none This protocol is intended to do nothing: it disables any traffic without disabling the lagg interface itself.
Each lagg interface is created at runtime using interface cloning. This is most easily done with the ifconfig(8) create command or using the
cloned_interfaces variable in rc.conf(5).
The MTU of the first interface to be added is used as the lagg MTU. All additional interfaces are required to have exactly the same value.
EXAMPLES
Create a 802.3ad link aggregation using LACP with two bge(4) Gigabit Ethernet interfaces:
# ifconfig bge0 up
# ifconfig bge1 up
# ifconfig lagg0 laggproto lacp laggport bge0 laggport bge1
192.168.1.1 netmask 255.255.255.0
The following example uses an active failover interface to set up roaming between wired and wireless networks using two network devices.
Whenever the wired master interface is unplugged, the wireless failover device will be used:
# ifconfig em0 up
# ifconfig ath0 ether 00:11:22:33:44:55
# ifconfig create wlan0 wlandev ath0 ssid my_net up
# ifconfig lagg0 laggproto failover laggport em0 laggport wlan0
192.168.1.1 netmask 255.255.255.0
(Note the mac address of the wireless device is forced to match the wired device as a workaround.)
SEE ALSO
ng_fec(4), ng_one2many(4), sysctl(8), ifconfig(8)
HISTORY
The lagg device first appeared in FreeBSD 6.3.
AUTHORS
The lagg driver was written under the name trunk by Reyk Floeter <reyk@openbsd.org>. The LACP implementation was written by YAMAMOTO Takashi
for NetBSD.
BUGS
There is no way to configure LACP administrative variables, including system and port priorities. The current implementation always performs
active-mode LACP and uses 0x8000 as system and port priorities.
BSD
October 18, 2010 BSD