Imagine a server with two 10G links, but you're hitting a 10 Gbps bottleneck. LACP combines them into one logical 20 Gbps channel — and if one link fails, the connection stays up. Recently, a client came to us after a firmware update on their switch caused half the links to stop aggregating. The LACP mode had been reset. We restored it within an hour. We've encountered dozens of such cases. Our team has configured similar bundles on 50+ projects: from budget office networks to data centers demanding 99.999% uptime. The cost of setting up one LACP channel starts at a fixed rate, and the reliability savings pay off within half a year.
What Problems Does LACP Aggregation Solve?
- Bandwidth. Two 1 Gbps ports yield a 2 Gbps aggregated channel — not arithmetic addition, but a real gain for multi-flow traffic.
- Fault tolerance. If one link fails, only its portion of traffic drops. Failover takes seconds.
- Load balancing. A hash algorithm distributes flows evenly across physical links.
LACP (IEEE 802.3ad) is an industry standard, unlike proprietary solutions. Static EtherChannel (without LACP) does not negotiate and can create loops if misconfigured. LACP is 2-3 times more reliable.
Why Is LACP Better Than Manual Bonding?
Manual bonding (mode=balance-rr) uses no negotiation — both ends must be configured identically. If you forget to sync VLANs, you'll get a broadcast storm. LACP itself negotiates parameters: the switch and host exchange packets and confirm the configuration. This eliminates human error.
How Load Balancing Works
An important point: LACP aggregates bandwidth, but a single TCP session is not split across links. The hash algorithm determines which physical link a specific flow uses — and the whole flow goes over that one link.
Hashing algorithms (configurable on both switch and host):
-
src-mac/dst-mac— L2 only, poor when few MACs -
src-dst-ip— IP pair, standard for router uplinks -
src-dst-port(L4) — TCP/UDP ports, best distribution for multi-flow traffic
| Algorithm | Layer | Recommendation |
|---|---|---|
| src-mac | L2 | Only if many MACs |
| src-dst-ip | L3 | Good for routing |
| src-dst-port | L4 | Best for multi-threading |
If the switch and server use different algorithms, there's no error but balancing is suboptimal. In our projects, we always set layer3+4 on Linux and src-dst-port on Cisco.
LACP active and passive modes — details
mode active on Cisco forces the port to initiate negotiation by sending LACP PDU every second (if lacp-rate fast). mode passive responds to incoming PDU but does not initiate. If both ends are passive, aggregation won't form. Recommendation: one end active, the other passive, or both active. On Linux, mode is set via lacp_rate in Netplan.
How to Configure LACP on Cisco?
Follow these steps:
- Create a port-channel interface with the required VLANs.
- Assign physical ports to the channel-group in
activemode. - Verify with
show etherchannel summary.
! Создаём Port-Channel интерфейс
interface Port-channel1
description "Server ESXi-01 uplink"
switchport mode trunk
switchport trunk native vlan 999
switchport trunk allowed vlan 10,20,30
!
! Физические интерфейсы в group
interface GigabitEthernet1/0/1
description "ESXi-01 NIC1"
switchport mode trunk
switchport trunk native vlan 999
switchport trunk allowed vlan 10,20,30
channel-group 1 mode active
interface GigabitEthernet1/0/2
description "ESXi-01 NIC2"
switchport mode trunk
switchport trunk native vlan 999
switchport trunk allowed vlan 10,20,30
channel-group 1 mode active
!
! Проверка
show etherchannel summary
show interfaces port-channel 1 How to Configure LACP on Linux (Ubuntu, Netplan)?
# /etc/netplan/01-bonding.yaml
network:
version: 2
ethernets:
enp3s0:
dhcp4: false
enp4s0:
dhcp4: false
bonds:
bond0:
interfaces:
- enp3s0
- enp4s0
parameters:
mode: 802.3ad # LACP
lacp-rate: fast # LACP PDU every second (slow = 30 sec)
mii-monitor-interval: 100
transmit-hash-policy: layer3+4 # src-dst IP + port hash
addresses: [192.168.10.5/24]
routes:
- to: default
via: 192.168.10.1
mtu: 9000
Check bond status:
cat /proc/net/bonding/bond0 # Shows: mode, active slaves, LACP state
ip link show bond0
ip -d link show bond0 # detailed info including xmit_hash_policy VMware ESXi vSwitch with LACP
On VMware ESXi, LACP is only configurable via vSphere Distributed Switch (vDS). On Standard Switch, only active-passive or active-active without real LACP (IP Hash without negotiation) is available.
# vSphere CLI for vDS LAG esxcli network vswitch dvs vmware lacp status get -v dvs-name On the switch, use mode active on all ESXi host uplink ports for vDS LACP.
Common Problems
Most frequent: LACP doesn't come up even though physical links are UP. Diagnosis:
-
show lacp neighboron Cisco — checks if switch sees LACP PDUs from host - On Linux:
cat /proc/net/bonding/bond0— showsLACP partnerstatus - Mismatched VLAN configuration on two physical ports in the same channel-group
Second scenario: server aggregates 2×10G, but all traffic goes over one link. show etherchannel load-balance on Cisco shows algorithm. cat /proc/net/bonding/bond0 on Linux shows transmit hash policy. If both show src-mac and all servers are behind one MAC, change to layer3+4.
| Problem | Cause | Solution |
|---|---|---|
| LACP not coming up | VLAN/trunk mismatch | Check port settings |
| Traffic only on one link | src-mac algorithm | Switch to layer3+4 |
| Link drop when cable pulled | LACP not enabled | Enable active/passive |
What's Included in Our Work
We perform turnkey LACP setup in 1-2 days (single node) or up to 5 days (clustered scheme). We document the configuration, provide a runbook and monitoring parameters. On-site support 24/7 upon request. Our engineers have 5+ years of experience and are vendor-certified (Cisco, VMware). Contact us for an infrastructure assessment. Order LACP configuration — get a ready solution with performance guarantee. Receive an engineer consultation — we'll choose the optimal hashing algorithm and LACP mode for your network.







