Cheat sheet

Cisco EtherChannel Cheat Sheet (LACP and PAgP)

EtherChannel turns two or more physical links into one logical interface, so Spanning Tree stops blocking the spares and the bandwidth adds up. These are the commands in configuration order, plus the two ordering rules that silently break a bundle. Verified on Cisco IOS 17.16 — commands the image rejects are not listed.

1. Bundle the physical links

Configure the SAME mode, speed, duplex and VLAN settings on every member, and on both switches. IOS creates the Port-channel interface for you the moment the first channel-group command lands.

CommandWhat it does
interface range <type/first> - <last>Select the member interfaces together so their settings cannot drift apart.
channel-group <1-N> mode activeLACP, and actively asks the far end to bundle. The usual choice.
channel-group <1-N> mode passiveLACP, but only responds — it never initiates.
channel-group <1-N> mode desirablePAgP (Cisco-proprietary), actively negotiating.
channel-group <1-N> mode autoPAgP, responds only.
channel-group <1-N> mode onNo negotiation at all. Both ends must be 'on' — it will not talk to LACP or PAgP.
channel-protocol lacp | pagpPin the protocol explicitly, so a later mode keyword cannot switch it by accident.

2. Which mode combinations actually form a bundle

Two passive ends never start the conversation, and neither do two auto ends. 'on' is not a protocol — it refuses to negotiate, so pairing it with LACP or PAgP leaves the link down.

Switch ASwitch BForms?Protocol
activeactiveYesLACP
activepassiveYesLACP
passivepassiveNo — nobody initiatesLACP
desirabledesirableYesPAgP
desirableautoYesPAgP
autoautoNo — nobody initiatesPAgP
ononYesNone (static)
onactive or desirableNo — 'on' will not negotiateMismatched

3. Configure the Port-channel as a trunk

Order matters here. 'switchport mode trunk' is rejected outright until the encapsulation is set, with the device saying: An interface whose trunk encapsulation is "Auto" can not be configured to "trunk" mode. Configure the Port-channel, not the members — IOS copies these settings down onto every member interface for you.

CommandWhat it does
interface Port-channel <n>Configure the logical interface. Changes here propagate to the physical members.
switchport trunk encapsulation dot1qRequired FIRST on this platform; without it the next command is rejected.
switchport mode trunkMake the bundle a trunk.
switchport trunk native vlan <id>Set the untagged VLAN. It must match on the far end.
switchport trunk allowed vlan <list>Restrict which VLANs cross the bundle, e.g. 10,20.

4. Layer 3 (routed) EtherChannel

The trap: put 'no switchport' on the MEMBER interfaces before adding them to the channel group. With the members left as switchports the channel-group does not stay applied — the ports drop out of the bundle and end up shut down, and IOS prints no error explaining it.

CommandWhat it does
interface range <type/first> - <last>Select the members first.
no switchportMake each member a routed port BEFORE bundling it.
channel-group <n> mode onNow bundle them. Negotiated modes work here too.
interface Port-channel <n>Then configure the logical interface.
no switchportMake the Port-channel itself routed.
ip address <ip> <mask>Give the bundle its IP address — one Layer 3 interface over many links.

5. Verify and troubleshoot

The most common failure is a one-sided bundle. If you configure 'active' and the far end has nothing, the port is suspended and the log says so: %ETC-5-L3DONTBNDL2: Et0/0 suspended: LACP currently not enabled on the remote port.

CommandWhat it does
show etherchannel summaryThe one command to run first: every port-channel, its protocol, and each member's state flags.
show lacp neighborConfirm the far end is actually speaking LACP, and see what it is advertising.
show running-config interface Port-channel <n>Check the logical interface's settings, which are the ones that propagate to members.
show running-config interface <member>Compare a member against the Port-channel — mismatched settings are what keep a port out.

Frequently asked questions

Why is my EtherChannel not coming up?

Usually one of three things. The two ends are in incompatible modes — two passive or two auto ends never start negotiating, and an 'on' end refuses to talk to LACP or PAgP at all. Or the member interfaces differ in speed, duplex, or VLAN configuration. Or only one side is configured, in which case the log tells you plainly: 'Et0/0 suspended: LACP currently not enabled on the remote port.' Start with 'show etherchannel summary' on both switches.

Should I configure the Port-channel or the physical interfaces?

The Port-channel. Settings applied to the logical interface are copied down onto every member, which keeps them consistent by construction — configure trunking on Port-channel1 and you will find the same lines on each member interface afterwards. The one thing you apply to the physical ports is the channel-group command itself.

Why was my 'switchport mode trunk' rejected on the Port-channel?

Because the trunk encapsulation is still 'Auto'. On a switch that supports more than one trunking encapsulation you must set 'switchport trunk encapsulation dot1q' before 'switchport mode trunk', or IOS refuses with: An interface whose trunk encapsulation is "Auto" can not be configured to "trunk" mode.

What is the difference between LACP and PAgP?

LACP is the IEEE standard (802.3ad) and works between vendors; its modes are active and passive. PAgP is Cisco-proprietary and its modes are desirable and auto. Both negotiate the bundle. 'on' is neither — it forces the bundle up with no negotiation, so a misconfigured far end can create a loop instead of failing safely. Prefer LACP unless you have a reason not to.

Now build it

Labs that drill this on real Cisco IOS — configure it yourself, then grade your config against the answer key.

Browse every lab →

Stop memorizing — configure it on real Cisco IOS

A cheat sheet gets you unstuck; a graded lab makes it stick. Edit a real Cisco config and grade it instantly — free, no signup.