channel-protocol [lacp|pagp]
Specifies the EtherChannel protocol (LACP or PAgP) to be used on an interface for link aggregation.
Definition: channel-protocol [lacp|pagp] is a Cisco IOS interface config command. Specifies the EtherChannel protocol (LACP or PAgP) to be used on an interface for link aggregation.
Overview
The `channel-protocol` command, used in interface configuration mode on Cisco IOS devices, specifies the link aggregation control protocol to be applied on an interface for EtherChannel bundling. EtherChannel technology allows grouping multiple physical Ethernet links into a single logical link, providing increased bandwidth and redundancy. The command accepts two options: `lacp` (Link Aggregation Control Protocol, IEEE 802.3ad) or `pagp` (Port Aggregation Protocol, Cisco proprietary).
This command is critical when configuring port channels because it determines how the switch negotiates and maintains the bundle with the neighboring device. Without specifying a protocol, the interface may not form an EtherChannel, or it may use the default protocol (PAgP on older Cisco switches). Network engineers reach for this command when they need to ensure interoperability with non-Cisco devices (requiring LACP) or when they want to leverage Cisco-specific features like PAgP's additional port negotiation states.
The command fits into the broader configuration workflow after creating the port-channel interface and before assigning member interfaces; typically, you first create the port-channel logical interface, then enter each physical interface, set the channel-group number, and optionally specify the protocol. Important IOS behavior: the command is available in interface configuration mode, requires at least privilege level 15, and its effect is immediate in the running configuration. If the protocol is not explicitly set, the interface will use the default protocol (PAgP on most Catalyst switches running IOS).
Changing the protocol on an active member interface may cause the EtherChannel to renegotiate, potentially causing traffic disruption. The command is saved to the running configuration and can be written to startup configuration. Understanding this command is essential for CCNA and CCNP candidates as EtherChannel is a fundamental high-availability and bandwidth-aggregation technique in campus networks.
channel-protocol [lacp|pagp]When to Use This Command
- Configuring LACP on a trunk port connecting to a switch that supports only LACP
- Setting PAgP on a port channel between two Cisco switches that use Cisco proprietary PAgP
- Changing the protocol from PAgP to LACP to interoperate with a non-Cisco switch
- Ensuring both sides of an EtherChannel use the same protocol to avoid negotiation failures
Parameters
| Parameter | Syntax | Description |
|---|---|---|
| lacp | lacp | Specifies that the interface will use the IEEE 802.3ad Link Aggregation Control Protocol (LACP) for EtherChannel negotiation. LACP is an open standard, allowing interoperability with non-Cisco devices. When configured, the interface will exchange LACP frames to negotiate the bundle. Common mistake: forgetting to also configure the same protocol on the neighbor; mismatched protocols prevent the EtherChannel from forming. |
| pagp | pagp | Specifies that the interface will use the Cisco proprietary Port Aggregation Protocol (PAgP) for EtherChannel negotiation. PAgP offers additional port negotiation states (auto, desirable) and is simpler to configure on all-Cisco networks. Common mistake: using PAgP when connecting to a non-Cisco device, which does not support it, causing the EtherChannel to fail. |
Command Examples
Enable LACP on an interface
interface GigabitEthernet0/1
channel-protocol lacpSwitch(config-if)# channel-protocol lacp Switch(config-if)#
The command sets the EtherChannel protocol to LACP on interface GigabitEthernet0/1. No output is displayed if successful.
Enable PAgP on an interface
interface GigabitEthernet0/2
channel-protocol pagpSwitch(config-if)# channel-protocol pagp Switch(config-if)#
Sets the EtherChannel protocol to PAgP. No output indicates success.
Understanding the Output
The command does not produce any output on success; it simply configures the protocol. To verify, use 'show etherchannel summary' or 'show running-config interface'. In 'show etherchannel summary', the protocol column shows 'LACP' or 'PAgP' for each port-channel.
If the protocol mismatches between ends, the port will not bundle. Ensure both sides use the same protocol and compatible modes (active/passive for LACP, desirable/auto for PAgP).
Configuration Scenarios
Configure LACP EtherChannel between two Cisco switches
A network administrator needs to aggregate two GigabitEthernet links between a distribution switch and an access switch to increase bandwidth and provide redundancy. The switches are from different vendors (Cisco and a third-party), so LACP must be used for interoperability.
Topology
Dist-SW (Gi0/1, Gi0/2) --- LACP --- (Gi0/1, Gi0/2) Acc-SWSteps
- 1.Step 1: On Dist-SW, create port-channel interface 1: Dist-SW(config)# interface port-channel 1
- 2.Step 2: Set the port-channel as a trunk (optional): Dist-SW(config-if)# switchport mode trunk
- 3.Step 3: Exit and enter interface GigabitEthernet0/1: Dist-SW(config)# interface gigabitethernet0/1
- 4.Step 4: Assign this interface to channel-group 1 and specify LACP: Dist-SW(config-if)# channel-group 1 mode active
- 5.Step 5: Optionally, set the channel protocol to LACP: Dist-SW(config-if)# channel-protocol lacp
- 6.Step 6: Repeat steps 3-5 for interface GigabitEthernet0/2
- 7.Step 7: On Acc-SW, repeat steps 1-6 with the same channel-group number and LACP mode (active or passive)
! Dist-SW configuration interface Port-channel1 switchport mode trunk ! interface GigabitEthernet0/1 channel-group 1 mode active channel-protocol lacp ! interface GigabitEthernet0/2 channel-group 1 mode active channel-protocol lacp
Verify: Use 'show etherchannel summary' to verify the bundle is up. Expected output shows 'SU' (layer2) for the port-channel and 'P' for member ports. Also 'show etherchannel port-channel' displays details.
Watch out: If the neighbor is not configured with LACP (or uses PAgP), the EtherChannel will not form. Ensure both sides use the same protocol and compatible modes (active/active or active/passive).
Configure PAgP EtherChannel between two Cisco switches
In a pure Cisco environment, an engineer wants to bundle two FastEthernet links between a core switch and a distribution switch using PAgP for simplicity and faster convergence.
Topology
Core-SW (Fa0/1, Fa0/2) --- PAgP --- (Fa0/1, Fa0/2) Dist-SWSteps
- 1.Step 1: On Core-SW, create port-channel interface 1: Core-SW(config)# interface port-channel 1
- 2.Step 2: Set the port-channel as trunk: Core-SW(config-if)# switchport mode trunk
- 3.Step 3: Exit and enter interface FastEthernet0/1: Core-SW(config)# interface fastethernet0/1
- 4.Step 4: Assign to channel-group 1 and set PAgP mode desirable: Core-SW(config-if)# channel-group 1 mode desirable
- 5.Step 5: Optionally, set channel-protocol pagp: Core-SW(config-if)# channel-protocol pagp
- 6.Step 6: Repeat for FastEthernet0/2
- 7.Step 7: On Dist-SW, configure similarly, but can use mode auto (passive) if desired
! Core-SW configuration interface Port-channel1 switchport mode trunk ! interface FastEthernet0/1 channel-group 1 mode desirable channel-protocol pagp ! interface FastEthernet0/2 channel-group 1 mode desirable channel-protocol pagp
Verify: Use 'show etherchannel summary' to see the bundle state. For PAgP, the output shows 'SU' for layer2. Also 'show pagp neighbor' displays PAgP neighbor details.
Watch out: PAgP is Cisco proprietary; if the neighbor is non-Cisco, the EtherChannel will not form. Also, ensure both sides have compatible PAgP modes (desirable/desirable or desirable/auto).
Troubleshooting with This Command
When troubleshooting EtherChannel issues, the `channel-protocol` command itself is not a troubleshooting command, but its configuration is critical. The first step is to verify that the protocol is correctly set on all member interfaces using `show running-config interface [interface]`. A common symptom is that the EtherChannel does not come up, and the `show etherchannel summary` output shows member ports in a 'D' (down) or 'I' (individual) state.
If the protocol is mismatched (e.g., one side LACP, the other PAgP), the bundle will not form. Use `show etherchannel detail` to see the protocol in use and the port state. For LACP, `show lacp neighbor` displays LACP neighbor information; if no neighbor is seen, check that LACP is enabled and the mode is compatible (active/active or active/passive).
For PAgP, `show pagp neighbor` shows PAgP neighbors; if no neighbor, check PAgP mode (desirable/desirable or desirable/auto). Another common issue is that the channel-protocol command may be missing, causing the interface to use the default protocol (PAgP on most IOS). If the neighbor expects LACP, the bundle fails.
To fix, ensure both sides explicitly set the same protocol. Also, verify that the port-channel interface exists and is not shutdown. Use `show interfaces port-channel 1` to check the logical interface status.
If the physical interfaces have different speeds or duplex, the EtherChannel may not form; check with `show interfaces status`. The `debug etherchannel` command can provide real-time negotiation details, but use with caution in production. A step-by-step diagnostic flow: 1) Check `show etherchannel summary` for overall status. 2) Check `show running-config interface` for each member to confirm channel-group and channel-protocol. 3) Check `show lacp neighbor` or `show pagp neighbor` to see if the peer is detected. 4) Verify physical layer (cables, speed/duplex). 5) Check for any port-channel interface misconfiguration (e.g., VLAN mismatch).
Correlate with `show interfaces` for errors or discards. Remember that changing the channel-protocol on a live interface may cause a brief outage as the bundle renegotiates.
CCNA Exam Tips
CCNA exam tip: LACP is IEEE standard (active/passive modes); PAgP is Cisco proprietary (desirable/auto modes).
CCNA exam tip: You must set the same protocol on all interfaces in the bundle.
CCNA exam tip: The 'channel-protocol' command is optional if you use 'channel-group' with mode; the protocol is inferred from the mode keyword.
CCNA exam tip: Know that 'channel-protocol' is used before 'channel-group' to explicitly set the protocol.
Common Mistakes
Mistake 1: Setting different protocols on interfaces in the same port-channel, causing the bundle to fail.
Mistake 2: Forgetting to set the protocol on both sides; one side may default to PAgP while the other uses LACP.
Mistake 3: Using 'channel-protocol' after 'channel-group' — the command must be issued before 'channel-group' to take effect.
channel-protocol [lacp|pagp] vs channel-group [id] mode [mode]
The channel-protocol and channel-group commands are both used in EtherChannel configuration at interface level, but they serve distinct roles. channel-protocol selects the link aggregation protocol (LACP or PAgP), while channel-group actually bundles the interface into a port-channel and sets the negotiation mode. They are often confused because both appear in the same configuration context.
| Aspect | channel-protocol [lacp|pagp] | channel-group [id] mode [mode] |
|---|---|---|
| Purpose | Specifies the protocol for link aggregation negotiation (LACP or PAgP) | Assigns interface to a port-channel and defines the negotiation mode (active, passive, desirable, auto, on) |
| Scope | Per-interface protocol selection | Per-interface membership in a channel-group |
| Prerequisite | Can be set before or after channel-group; affects protocol compatibility | Must be applied for the interface to participate in EtherChannel |
| Interaction | Does not create a port-channel; only sets protocol preference | May automatically create a port-channel interface if it doesn't exist |
| Typical Use | Used when mixing Cisco and non-Cisco switches to enforce a specific protocol | Used to enable link aggregation with desired mode (e.g., active for LACP) |
| Precedence | If omitted, default is PAgP on Cisco switches; LACP requires explicit setting | Required for actual link aggregation; channel-protocol alone does nothing |
Use channel-protocol [lacp|pagp] when you need to enforce a specific link aggregation protocol on an interface, especially for interoperability with non-Cisco devices.
Use channel-group [id] mode [mode] when you want to assign an interface to a port-channel and specify the negotiation mode to form an EtherChannel bundle.
Platform Notes
In IOS-XE (e.g., Catalyst 3650/3850/9300), the `channel-protocol` command is available in interface configuration mode and behaves similarly to classic IOS. However, on some newer platforms, the command may be deprecated in favor of the `channel-group` command's mode parameter, which implicitly sets the protocol (e.g., `mode active` implies LACP, `mode desirable` implies PAgP). In NX-OS (e.g., Nexus 9000), the equivalent command is `channel-group [number] mode [active|passive|on]` under interface configuration; there is no separate `channel-protocol` command because the protocol is determined by the mode (active/passive for LACP, 'on' for static).
For ASA firewalls, EtherChannel is configured using the `port-channel` interface and `channel-group` commands, but the protocol is always LACP (no PAgP support). In IOS-XR (e.g., ASR 9000), the command is `bundle [id] mode [active|passive|on]` under interface configuration, and the protocol is LACP by default; there is no separate protocol command. Between IOS versions, the syntax and output format have remained largely consistent, but in IOS 15.x and later, the `channel-protocol` command is still supported but often optional if the mode is specified.
In older IOS 12.x, the command was more commonly required. Always check the specific platform documentation, as some switches may not support PAgP (e.g., some 2960-X models only support LACP).
Related Commands
channel-group [id] mode [mode]
Assigns an interface to an EtherChannel bundle with a specified channel-group number and mode (active, passive, or desirable) to aggregate multiple physical links into a single logical link for redundancy and increased bandwidth.
show etherchannel summary
Displays the status and configuration of all EtherChannel interfaces on the switch, used to verify channel bundling, port membership, and protocol state.
Practice for the CCNA 200-301
Test your knowledge with practice questions covering all CCNA 200-301 exam domains.
Practice CCNA 200-301 Questions