The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
Note | Stacking is supported only on Catalyst 2960-S switches running the LAN base image. |
The following are restrictions for EtherChannels:
EtherChannel provides fault-tolerant high-speed links between switches, routers, and servers. You can use the EtherChannel to increase the bandwidth between the wiring closets and the data center, and you can deploy it anywhere in the network where bottlenecks are likely to occur. EtherChannel provides automatic recovery for the loss of a link by redistributing the load across the remaining links. If a link fails, EtherChannel redirects traffic from the failed link to the remaining links in the channel without intervention.
An EtherChannel consists of individual Ethernet links bundled into a single logical link.
The EtherChannel provides full-duplex bandwidth up to 8 Gb/s (Gigabit EtherChannel) or 80 Gb/s (10-Gigabit EtherChannel) between your switch and another switch or host.
Each EtherChannel can consist of up to eight compatibly configured Ethernet ports.
The number of EtherChannels is limited to 128.
All ports in each EtherChannel must be configured as either Layer 2 or Layer 3 ports. The EtherChannel Layer 3 ports are made up of routed ports. Routed ports are physical ports configured to be in Layer 3 mode by using the no switchport interface configuration command.
You can configure an EtherChannel in one of these modes: Port Aggregation Protocol (PAgP), Link Aggregation Control Protocol (LACP), or On. Configure both ends of the EtherChannel in the same mode:
You can create an EtherChannel on a controller, on a single controller in the stack, or on multiple controllers in the stack (known as cross-stack EtherChannel).
This figure shows the recommended cross-stack EtherChannel configuration with three active links and three standby links.
If a link within an EtherChannel fails, traffic previously carried over that failed link moves to the remaining links within the EtherChannel. If traps are enabled on the switch, a trap is sent for a failure that identifies the switch, the EtherChannel, and the failed link. Inbound broadcast and multicast packets on one link in an EtherChannel are blocked from returning on any other link of the EtherChannel.
An EtherChannel comprises a channel group and a port-channel interface. The channel group binds physical ports to the port-channel interface. Configuration changes applied to the port-channel interface apply to all the physical ports bound together in the channel group.
The channel-group command binds the physical port and the port-channel interface together. Each EtherChannel has a port-channel logical interface numbered from 1 to 128. This port-channel interface number corresponds to the one specified with the channel-group interface configuration command.
The Port Aggregation Protocol (PAgP) is a Cisco-proprietary protocol that can be run only on Cisco controllers and on those controllers licensed by vendors to support PAgP. PAgP facilitates the automatic creation of EtherChannels by exchanging PAgP packets between Ethernet ports.
By using PAgP, the controller or controller stack learns the identity of partners capable of supporting PAgP and the capabilities of each port. It then dynamically groups similarly configured ports (on a single controller in the stack) into a single logical link (channel or aggregate port). Similarly configured ports are grouped based on hardware, administrative, and port parameter constraints. For example, PAgP groups the ports with the same speed, duplex mode, native VLAN, VLAN range, and trunking status and type. After grouping the links into an EtherChannel, PAgP adds the group to the spanning tree as a single controller port.
Mode |
Description |
---|---|
auto |
Places a port into a passive negotiating state, in which the port responds to PAgP packets it receives but does not start PAgP packet negotiation. This setting minimizes the transmission of PAgP packets. |
desirable |
Places a port into an active negotiating state, in which the port starts negotiations with other ports by sending PAgP packets. |
Switch ports exchange PAgP packets only with partner ports configured in the auto or desirable modes. Ports configured in the on mode do not exchange PAgP packets.
Both the auto and desirable modes enable ports to negotiate with partner ports to form an EtherChannel based on criteria such as port speed. and for Layer 2 EtherChannels, based on trunk state and VLAN numbers.
Ports can form an EtherChannel when they are in different PAgP modes as long as the modes are compatible. For example:
A port in the auto mode cannot form an EtherChannel with another port that is also in the auto mode because neither port starts PAgP negotiation.
If your switch is connected to a partner that is PAgP-capable, you can configure the switch port for nonsilent operation by using the non-silent keyword. If you do not specify non-silent with the auto or desirable mode, silent mode is assumed.
Use the silent mode when the switch is connected to a device that is not PAgP-capable and seldom, if ever, sends packets. An example of a silent partner is a file server or a packet analyzer that is not generating traffic. In this case, running PAgP on a physical port connected to a silent partner prevents that switch port from ever becoming operational. However, the silent setting allows PAgP to operate, to attach the port to a channel group, and to use the port for transmission.
Network devices are classified as PAgP physical learners or aggregate-port learners. A device is a physical learner if it learns addresses by physical ports and directs transmissions based on that knowledge. A device is an aggregate-port learner if it learns addresses by aggregate (logical) ports. The learn method must be configured the same at both ends of the link.
When a device and its partner are both aggregate-port learners, they learn the address on the logical port-channel. The device sends packets to the source by using any of the ports in the EtherChannel. With aggregate-port learning, it is not important on which physical port the packet arrives.
PAgP cannot automatically detect when the partner device is a physical learner and when the local device is an aggregate-port learner. Therefore, you must manually set the learning method on the local device to learn addresses by physical ports. You also must set the load-distribution method to source-based distribution, so that any given source MAC address is always sent on the same physical port.
You also can configure a single port within the group for all transmissions and use other ports for hot-standby. The unused ports in the group can be swapped into operation in just a few seconds if the selected single port loses hardware-signal detection. You can configure which port is always selected for packet transmission by changing its priority with the pagp port-priority interface configuration command. The higher the priority, the more likely that the port will be selected.
Note | The controller supports address learning only on aggregate ports even though the physical-port keyword is provided in the CLI. The pagp learn-method command and the pagp port-priority command have no effect on the controller hardware, but they are required for PAgP interoperability with devices that only support address learning by physical ports, such as the Catalyst 1900 switch. When the link partner of the controller is a physical learner, we recommend that you configure the controller as a physical-port learner by using the pagp learn-method physical-port interface configuration command. Set the load-distribution method based on the source MAC address by using the port-channel load-balance src-mac global configuration command. The controller then sends packets to the physcial learner using the same port in the EtherChannel from which it learned the source address. Only use the pagp learn-method command in this situation. |
The Dynamic Trunking Protocol (DTP) and the Cisco Discovery Protocol (CDP) send and receive packets over the physical ports in the EtherChannel. Trunk ports send and receive PAgP protocol data units (PDUs) on the lowest numbered VLAN.
In Layer 2 EtherChannels, the first port in the channel that comes up provides its MAC address to the EtherChannel. If this port is removed from the bundle, one of the remaining ports in the bundle provides its MAC address to the EtherChannel. For Layer 3 EtherChannels, the MAC address is allocated by the active controller as soon as the interface is created (through the interface port-channel global configuration command).
PAgP sends and receives PAgP PDUs only from ports that are up and have PAgP enabled for the auto or desirable mode.
The LACP is defined in IEEE 802.3ad and enables Cisco controllers to manage Ethernet channels between controllers that conform to the IEEE 802.3ad protocol. LACP facilitates the automatic creation of EtherChannels by exchanging LACP packets between Ethernet ports.
By using LACP, the controller or controller stack learns the identity of partners capable of supporting LACP and the capabilities of each port. It then dynamically groups similarly configured ports into a single logical link (channel or aggregate port). Similarly configured ports are grouped based on hardware, administrative, and port parameter constraints. For example, LACP groups the ports with the same speed, duplex mode, native VLAN, VLAN range, and trunking status and type. After grouping the links into an EtherChannel, LACP adds the group to the spanning tree as a single controller port.
Mode |
Description |
---|---|
active |
Places a port into an active negotiating state in which the port starts negotiations with other ports by sending LACP packets. |
passive |
Places a port into a passive negotiating state in which the port responds to LACP packets that it receives, but does not start LACP packet negotiation. This setting minimizes the transmission of LACP packets. |
Both the active and passive LACP modes enable ports to negotiate with partner ports to an EtherChannel based on criteria such as port speed, and for Layer 2 EtherChannels, based on trunk state and VLAN numbers.
Ports can form an EtherChannel when they are in different LACP modes as long as the modes are compatible. For example:
LACP port-channel operation, bandwidth availability, and link redundancy can be further refined with the LACP port-channel min-links and the LACP max-bundle features.
The LACP port-channel min-links feature:
The LACP max-bundle feature:
The DTP and the CDP send and receive packets over the physical ports in the EtherChannel. Trunk ports send and receive LACP PDUs on the lowest numbered VLAN.
In Layer 2 EtherChannels, the first port in the channel that comes up provides its MAC address to the EtherChannel. If this port is removed from the bundle, one of the remaining ports in the bundle provides its MAC address to the EtherChannel. For Layer 3 EtherChannels, the MAC address is allocated by the active controller as soon as the interface is created through the interface port-channel global configuration command.
LACP sends and receives LACP PDUs only from ports that are up and have LACP enabled for the active or passive mode.
EtherChannel on mode can be used to manually configure an EtherChannel. The on mode forces a port to join an EtherChannel without negotiations. The on mode can be useful if the remote device does not support PAgP or LACP. In the on mode, a usable EtherChannel exists only when the controllers at both ends of the link are configured in the on mode.
Ports that are configured in the on mode in the same channel group must have compatible port characteristics, such as speed and duplex. Ports that are not compatible are suspended, even though they are configured in the on mode.
Caution | You should use care when using the on mode. This is a manual configuration, and ports on both ends of the EtherChannel must have the same configuration. If the group is misconfigured, packet loss or spanning-tree loops can occur. |
EtherChannel balances the traffic load across the links in a channel by reducing part of the binary pattern formed from the addresses in the frame to a numerical value that selects one of the links in the channel. You can specify one of several different load-balancing modes, including load distribution based on MAC addresses, IP addresses, source addresses, destination addresses, or both source and destination addresses. The selected mode applies to all EtherChannels configured on the controller.
You configure the load-balancing and forwarding method by using the port-channel load-balance and the port-channel load-balance extendedglobal configuration commands.
With source-MAC address forwarding, when packets are forwarded to an EtherChannel, they are distributed across the ports in the channel based on the source-MAC address of the incoming packet. Therefore, to provide load-balancing, packets from different hosts use different ports in the channel, but packets from the same host use the same port in the channel.
With destination-MAC address forwarding, when packets are forwarded to an EtherChannel, they are distributed across the ports in the channel based on the destination host’s MAC address of the incoming packet. Therefore, packets to the same destination are forwarded over the same port, and packets to a different destination are sent on a different port in the channel.
With source-and-destination MAC address forwarding, when packets are forwarded to an EtherChannel, they are distributed across the ports in the channel based on both the source and destination MAC addresses. This forwarding method, a combination source-MAC and destination-MAC address forwarding methods of load distribution, can be used if it is not clear whether source-MAC or destination-MAC address forwarding is better suited on a particular controller. With source-and-destination MAC-address forwarding, packets sent from host A to host B, host A to host C, and host C to host B could all use different ports in the channel.
With source-IP address-based forwarding, packets are distributed across the ports in the EtherChannel based on the source-IP address of the incoming packet. To provide load balancing, packets from different IP addresses use different ports in the channel, and packets from the same IP address use the same port in the channel.
With destination-IP address-based forwarding, packets are distributed across the ports in the EtherChannel based on the destination-IP address of the incoming packet. To provide load balancing, packets from the same IP source address sent to different IP destination addresses could be sent on different ports in the channel. Packets sent from different source IP addresses to the same destination IP address are always sent on the same port in the channel.
With source-and-destination IP address-based forwarding, packets are distributed across the ports in the EtherChannel based on both the source and destination IP addresses of the incoming packet. This forwarding method, a combination of source-IP and destination-IP address-based forwarding, can be used if it is not clear whether source-IP or destination-IP address-based forwarding is better suited on a particular controller. In this method, packets sent from the IP address A to IP address B, from IP address A to IP address C, and from IP address C to IP address B could all use different ports in the channel.
Different load-balancing methods have different advantages, and the choice of a particular load-balancing method should be based on the position of the controller in the network and the kind of traffic that needs to be load-distributed.
Use the option that provides the greatest variety in your configuration. For example, if the traffic on a channel is going only to a single MAC address, using the destination-MAC address always chooses the same link in the channel. Using source addresses or IP addresses might result in better load-balancing.
If a stack member that has ports participating in an EtherChannel fails or leaves the stack, the active controller removes the failed stack member controller ports from the EtherChannel. The remaining ports of the EtherChannel, if any, continue to provide connectivity.
When a controller is added to an existing stack, the new controller receives the running configuration from the active controller and updates itself with the EtherChannel-related stack configuration. The stack member also receives the operational information (the list of ports that are up and are members of a channel).
When two stacks merge that have EtherChannels configured between them, self-looped ports result. Spanning tree detects this condition and acts accordingly. Any PAgP or LACP configuration on a winning controller stack is not affected, but the PAgP or LACP configuration on the losing controller stack is lost after the stack reboots.
With PAgP, if the active controller fails or leaves the stack, the standby controller becomes the new active controller. The new active controller synchronizes the configuration of the stack members to that of the active controller. The PAgP configuration is not affected after an active controller change unless the EtherChannel has ports residing on the old active controller.
With LACP, the system ID uses the stack MAC address from the active controller. When an active controller fails or leaves the stack and the standby controller becomes the new active controller change, the LACP system ID is unchanged. By default, the LACP configuration is not affected after the active controller changes.
Feature |
Default Setting |
---|---|
Channel groups |
None assigned. |
Port-channel logical interface |
None defined. |
PAgP mode |
No default. |
PAgP learn method |
Aggregate-port learning on all ports. |
PAgP priority |
128 on all ports. |
LACP mode |
No default. |
LACP learn method |
Aggregate-port learning on all ports. |
LACP port priority |
32768 on all ports. |
LACP system priority |
32768. |
LACP system ID |
LACP system priority and the controller or stack MAC address. |
Load-balancing |
Load distribution on the controller is based on the source-MAC address of the incoming packet. |
If improperly configured, some EtherChannel ports are automatically disabled to avoid network loops and other problems. Follow these guidelines to avoid configuration problems:
When configuring Layer 2 EtherChannels, follow these guidelines:
After you configure an EtherChannel, configuration changes applied to the port-channel interface apply to all the physical ports assigned to the port-channel interface, and configuration changes applied to the physical port affect only the port where you apply the configuration.
You configure Layer 2 EtherChannels by assigning ports to a channel group with the channel-group interface configuration command. This command automatically creates the port-channel logical interface.
2.
interface
interface-id
3.
switchport mode {access
|
trunk}
4.
switchport access
vlan
vlan-id
5.
channel-group
channel-group-number
mode
{auto [non-silent] |
desirable [non-silent ] |
on } |
{
active
|
passive}
6.
end
Beginning in privileged EXEC mode, follow these steps to assign an Ethernet port to a Layer 3 EtherChannel. This procedure is required.
1.
configure terminal
2.
interface
interface-id
3.
no ip address
4.
no switchport
5.
channel-group
channel-group-number
mode
{
auto
[
non-silent
] |
desirable
[
non-silent
] |
on
} | {
active
|
passive
}
6.
end
You can configure EtherChannel load-balancing to use one of several different forwarding methods.
This task is optional.
1.
configure terminal
2.
port-channel load-balance
{
dst-ip
|
dst-mac
| dst-mixed-ip-port | dst-port
| extended [dst-ip |
dst-mac | dst-port | ipv6-label | l3-proto | src-ip |
src-mac | src-port ] | src-dst-ip | src-dst-mac src-dst-mixed-ip-port src-dst-portsrc-ip
|
src-mac
| src-mixed-ip-port | src-port}
3.
end
Configure EtherChannel extended load-balancing when you want to use a combination of load-balancing methods.
This task is optional.
1.
configure terminal
2.
port-channel load-balance extended
[
dst-ip
|
dst-mac
dst-port
| ipv6-label | l3-proto | src-ip |
src-mac | src-port ]
3.
end
This task is optional.
1.
configure terminal
2.
interface
interface-id
3.
pagp learn-method
physical-port
4.
pagp port-priority
priority
5.
end
When LACP is enabled, the software, by default, tries to configure the maximum number of LACP-compatible ports in a channel, up to a maximum of 16 ports. Only eight LACP links can be active at one time; the remaining eight links are placed in hot-standby mode. If one of the active links becomes inactive, a link that is in the hot-standby mode becomes active in its place.
You can override the default behavior by specifying the maximum number of active ports in a channel, in which case, the remaining ports become hot-standby ports. For example, if you specify a maximum of five ports in a channel, up to 11 ports become hot-standby ports.
If you configure more than eight links for an EtherChannel group, the software automatically decides which of the hot-standby ports to make active based on the LACP priority. To every link between systems that operate LACP, the software assigns a unique priority made up of these elements (in priority order):
In priority comparisons, numerically lower values have higher priority. The priority decides which ports should be put in standby mode when there is a hardware limitation that prevents all compatible ports from aggregating.
Determining which ports are active and which are hot standby is a two-step procedure. First the system with a numerically lower system priority and system ID is placed in charge of the decision. Next, that system decides which ports are active and which are hot standby, based on its values for port priority and port number. The port priority and port number values for the other system are not used.
You can change the default values of the LACP system priority and the LACP port priority to affect how the software selects active and standby links.
When you specify the maximum number of bundled LACP ports allowed in a port channel, the remaining ports in the port channel are designated as hot-standby ports.
Beginning in privileged EXEC mode, follow these steps to configure the maximum number of LACP ports in a port channel. This procedure is optional.
1.
configure terminal
2.
interface port-channel
channel-number
3.
lacp max-bundle max-bundle-number
You can specify the minimum number of active ports that must be in the link-up state and bundled in an EtherChannel for the port channel interface to transition to the link-up state.
Beginning in privileged EXEC mode, follow these steps to configure the minimum number of links that are required for a port channel. This procedure is optional.
1.
configure terminal
2.
interface port-channel
channel-number
3.
port-channel min-links min-links-number
You can configure the system priority for all the EtherChannels that are enabled for LACP by using the lacp system-priority global configuration command. You cannot configure a system priority for each LACP-configured channel. By changing this value from the default, you can affect how the software selects active and standby links.
You can use the show etherchannel summary privileged EXEC command to see which ports are in the hot-standby mode (denoted with an H port-state flag).
Beginning in privileged EXEC mode, follow these steps to configure the LACP system priority. This procedure is optional.
1.
configure terminal
2.
lacp system-priority
priority
3.
end
By default, all ports use the same port priority. If the local system has a lower value for the system priority and the system ID than the remote system, you can affect which of the hot-standby links become active first by changing the port priority of LACP EtherChannel ports to a lower value than the default. The hot-standby ports that have lower port numbers become active in the channel first. You can use the show etherchannel summary privileged EXEC command to see which ports are in the hot-standby mode (denoted with an H port-state flag).
Note | If LACP is not able to aggregate all the ports that are compatible (for example, the remote system might have more restrictive hardware limitations), all the ports that cannot be actively included in the EtherChannel are put in the hot-standby state and are used only if one of the channeled ports fails. |
Beginning in privileged EXEC mode, follow these steps to configure the LACP port priority. This procedure is optional.
1.
configure terminal
2.
interface
interface-id
3.
lacp port-priority
priority
4.
end
Command |
Description |
---|---|
clear lacp { channel-group-number counters | counters } |
Clears LACP channel-group information and traffic counters. |
clear pagp { channel-group-number counters | counters } |
Clears PAgP channel-group information and traffic counters. |
show etherchannel [ channel-group-number { detail | port | port-channel | protocol | summary }] [ detail | load-balance | port | port-channel | protocol | summary ] |
Displays EtherChannel information in a brief, detailed, and one-line summary form. Also displays the load-balance or frame-distribution scheme, port, port-channel, and protocol information. |
show pagp [ channel-group-number ] { counters | internal | neighbor } |
Displays PAgP information such as traffic information, the internal PAgP configuration, and neighbor information. |
show pagp [ channel-group-number ] dual-active |
Displays the dual-active detection status. |
show lacp [ channel-group-number ] { counters | internal | neighbor | sys-id} |
Displays LACP information such as traffic information, the internal LACP configuration, and neighbor information. |
show running-config |
Verifies your configuration entries. |
show etherchannel load-balance |
Displays the load balance or frame distribution scheme among ports in the port channel. |
This example shows how to configure an EtherChannel on a single controller in the stack. It assigns two ports as static-access ports in VLAN 10 to channel 5 with the PAgP mode desirable:
Controller# configure terminal Controller(config)# interface range gigabitethernet2/0/1 -2 Controller(config-if-range)# switchport mode access Controller(config-if-range)# switchport access vlan 10 Controller(config-if-range)# channel-group 5 mode desirable non-silent Controller(config-if-range)# end
This example shows how to configure an EtherChannel on a single controller in the stack. It assigns two ports as static-access ports in VLAN 10 to channel 5 with the LACP mode active:
Controller# configure terminal Controller(config)# interface range gigabitethernet2/0/1 -2 Controller(config-if-range)# switchport mode access Controller(config-if-range)# switchport access vlan 10 Controller(config-if-range)# channel-group 5 mode active Controller(config-if-range)# end
This example shows how to configure a cross-stack EtherChannel. It uses LACP passive mode and assigns two ports on stack member 1 and one port on stack member 2 as static-access ports in VLAN 10 to channel 5:
Controller# configure terminal Controller(config)# interface range gigabitethernet2/0/4 -5 Controller(config-if-range)# switchport mode access Controller(config-if-range)# switchport access vlan 10 Controller(config-if-range)# channel-group 5 mode passive Controller(config-if-range)# exit Controller(config)# interface gigabitethernet3/0/3 Controller(config-if)# switchport mode access Controller(config-if)# switchport access vlan 10 Controller(config-if)# channel-group 5 mode passive Controller(config-if)# exit
This example shows how to configure a Layer 3 EtherChannel. It assigns two ports to channel 5 with the LACP mode active:
Controller# configure terminal Controller(config)# interface range gigabitethernet2/0/1 -2 Controller(config-if-range)# no ip address Controller(config-if-range)# no switchport Controller(config-if-range)# channel-group 5 mode active Controller(config-if-range)# end
This example shows how to configure a cross-stack Layer 3 EtherChannel. It assigns two ports on stack member 2 and one port on stack member 3 to channel 7 using LACP active mode:
Controller# configure terminal Controller(config)# interface range gigabitethernet2/0/4 -5 Controller(config-if-range)# no ip address Controller(config-if-range)# no switchport Controller(config-if-range)# channel-group 7 mode active Controller(config-if-range)# exit Controller(config)# interface gigabitethernet3/0/3 Controller(config-if)# no ip address Controller(config-if)# no switchport Controller(config-if)# channel-group 7 mode active Controller(config-if)# exit
This example shows how to configure an Etherchannel (port channel 2) that will be active when there are at least three active ports, will comprise up to seven active ports and the remaining ports (up to nine) as hot-standby ports :
Controller# configure terminal Controller(config)# interface port-channel 2 Controller(config-if)# port-channel min-links 3 Controller(config-if)# lacp max-bundle 7
Related Topic | Document Title |
---|---|
Layer 2 command reference | Layer 2 Command Reference (Cisco WLC 5700 Series) |
Description | Link |
---|---|
To help you research and resolve system error messages in this release, use the Error Message Decoder tool. |
https://www.cisco.com/cgi-bin/Support/Errordecoder/index.cgi |
Standard/RFC | Title |
---|---|
None |
— |
MIB | MIBs Link |
---|---|
All supported MIBs for this release. |
To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL: |
Description | Link |
---|---|
The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies. To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds. Access to most tools on the Cisco Support website requires a Cisco.com user ID and password. |
Release |
Modification |
---|---|
Cisco IOS XE 3.2SE |
This feature was introduced. |
Cisco IOS XE 3.3SE |
Support for the LACP max-bundle feature and the port channel min-links features was added. |