Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I know that you can use bonding mode 4 with 1 servers with 2 nic using 2 switch.

Bond 0 made of : Nic 1 port 1 -> switch A Nic 2 port 1 -> switch B

In this case I can loose a switch or a nic or a cable and still have my network working, if everything is working I will have link aggregation on the top of high availability .

My question is can you do the same but with 4 NIC to have more speed and still play it safe.

Bond 0 made of : Nic 1 port 1 -> switch A Nic 1 port 2 -> switch B Nic 2 port 1 -> switch A Nic 2 port 2 -> switch B

The switch will probably be CISCO.


share|improve this question
You'll need VSS-capable switches from Cisco to do this. –  Chopper3 Jun 26 '13 at 8:13

2 Answers 2

Bear in mind that with 802.3ad all of the links in your bond need to be connected to the same switch, unless the switch supports sharing the 802.3ad information with other switches through a stack/virtual switch type configuration.

That said, you could still achieve your configuration with 4 nics and two switches by just making a bond to each switch, for instance:

NIC1/port1 -> bond0 -> switch1
NIC1/port2 -> bond1 -> switch2
NIC2/port1 -> bond0 -> switch1
NIC2/port2 -> bond1 -> switch2

That way you get redundancy against a single NIC or switch failure, and increased bandwidth while the switches are working, but you'll have to manage the IP failover yourself.

Alternatively you could switch to bonding mode 6, drop the requirement for 802.3ad and run the configuration you suggested in your question.

share|improve this answer
2 issues with your setup, 2 bond and if switch 1 goes down, I will lose bond0. I will try to find out if CISCO support 802.3ad share (they must do) otherwise I will aim for mode 6. thx –  rnooooo May 11 '12 at 12:15
Looks like it's working : cisco.com/en/US/docs/switches/lan/catalyst3550/software/release/… –  rnooooo May 11 '12 at 12:19
Note, 802.3ad will provide higher (total) speed for multiple connections. Single connection will be still going through one interface only and have single link bandwidth. –  GioMac Aug 30 '13 at 21:54
An LACP bond does not need to be connected to the one switch, even if the two switches do not share LACP information through stack or VPC. This is one of the great strengths of LACP. See my answer for more detail. –  suprjami Jul 15 '14 at 15:12

You can actually configure an LACP bond to two separate switches.

Say you have the following:

+------+     +-----+
| eth0 =-----= sw1 |
| eth1 =-----=     |
|      |     +-----+
|      |     +-----+
| eth2 =-----= sw2 |
| eth3 =-----=     |
+------+     +-----+

With all ethX interfaces in bond0, and each switch with a separate active LACP port-channel.

The bond will work fine, and will recognize two different Aggregator IDs, however only one Aggregator be can active at once so only one switch will be used at any time.

So the bond comes up and has two Aggregators, one to sw1 and one to sw2. The first Aggregator is active by default, so all traffic will be between eth0/eth1 and sw1. eth2/eth3 and sw2 remain as idle standby.

Say sw1's port 1 failed, so the Aggregator to sw1 only has one port active. sw1 will continue to be the active Aggregator. However, you can make it fail over to sw2 with the ad_select=bandwidth (whichever Agg has most bandwidth) or ad_select=count (whichever Agg has most slaves) bonding module parameter.

Say sw1 failed altogether, then that Aggregator will go down, and sw2 will take over.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.