This section describes the configuration of Layer 2 EtherChannels by unconditionally forcing the selected interfaces to establish an EtherChannel.
-
The first configuration step is to enter interface configuration mode for the desired EtherChannel interface(s) via the interface [name] or interface range [range] global configuration commands.
-
The second configuration step is to configure the interfaces as Layer 2 switch ports via the switchportinterface configuration command.
-
The third configuration step is to configure the switch ports as either trunk or access links via theswitchport mode [access|trunk] interface configuration command.
-
Optionally, if the interface or interfaces have been configured as access ports, assign them to the same VLAN using the switchport access vlan [number] command. If the interface or interfaces have been configured as a trunk port, select the VLANs allowed to traverse the trunk by issuing the switchport trunk allowed vlan [range] interface configuration command; if VLAN 1 will not be used as the native VLAN (for 802.1Q), enter the native VLAN by issuing the switchport trunk native vlan [number] interface configuration command. This configuration must be the same on all of the port channel member interfaces.
-
The next configuration step is to configure the interfaces to unconditionally trunk via the channel-group [number] mode on interface configuration command.
The configuration of unconditional EtherChannel using the steps described above will be based on the network topology illustrated in Figure 5-12 below:

Fig. 5-12. Network Topology for EtherChannel Configuration Output Examples
The following output illustrates how to configure unconditional channeling on Switch 1 and Switch 2 based on the network topology depicted in Figure 5-12. The EtherChannel will be configured as a Layer 2 802.1Q trunk using default parameters:
| Switch-1#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch-1(config)#interface range fa0/1 – 3 Switch-1(config-if-range)#no shutdown Switch-1(config-if-range)#switchport Switch-1(config-if-range)#switchport trunk encapsulation dot1q Switch-1(config-if-range)#switchport mode trunk Switch-1(config-if-range)#channel-group 1 mode on Creating a port-channel interface Port-channel 1 Switch-1(config-if-range)#exit Switch-1(config)#exit |
NOTE: Notice that the switch automatically creates interface port-channel 1 by default. No explicit user configuration is required to configure this interface.
| Switch-2#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch-2(config)#interface range fa0/1 – 3 Switch-2(config-if-range)#switchport Switch-2(config-if-range)#switchport trunk encapsulation dot1q Switch-2(config-if-range)#switchport mode trunk Switch-2(config-if-range)#channel-group 1 mode on Creating a port-channel interface Port-channel 1 Switch-2(config-if-range)#exit Switch-2(config)#exit |
The show EtherChannel [options] command can then be used to verify the configuration of the EtherChannel. The available options (which may vary depending on platform) are printed in the following output:
| Switch-2#show EtherChannel ? <1-6> Channel group number detail Detail information load-balance Load-balance/frame-distribution scheme among ports in port- channel port Port information port-channel Port-channel information protocol protocol enabled summary One-line summary per channel-group | Output modifiers <cr> |
The following output illustrates the show EtherChannel summary command:
| Switch-2#show EtherChannel summary Flags: D – down P – in port-channel I – stand-alone s – suspended H – Hot-standby (LACP only) R – Layer3 S – Layer2 u – unsuitable for bundling U – in use f – failed to allocate aggregator d – default portNumber of channel-groups in use: 1 Number of aggregators: 1Group Port-channel Protocol Ports ——+————-+———–+——————————————– 1 Po1(SU) – Fa0/1(Pd) Fa0/2(P) Fa0/3(P) |
In the output above, we can determine that there are three links in channel group 1. Interface FastEthernet0/1 is the default port; this port will be used to send STP packets, for example. If this port fails, FastEthernet0/2 will be designated as the default port, and so forth. We can also determine that this is an active Layer 2 EtherChannel by looking at the SU flags next to Po1. The following output shows the information printed by the show EtherChannel detail command:
| Switch-2#show EtherChannel detail Channel-group listing: ———————-Group: 1 ———- Group state = L2 Ports: 3 Maxports = 8 Port-channels: 1 Max Port-channels = 1 Protocol: – Ports in the group: ——————- Port: Fa0/1 ————Port state = Up Mstr In-Bndl Channel group = 1 Mode = On/FEC Gcchange = – Port-channel = Po1 GC = – Pseudo port-channel = Po1 Port index = 0 Load = 0x00 Protocol = – Age of the port in the current state: 0d:00h:20m:20s Port: Fa0/2 Port state = Up Mstr In-Bndl Age of the port in the current state: 0d:00h:21m:20s Port: Fa0/3 Port state = Up Mstr In-Bndl Age of the port in the current state: 0d:00h:21m:20s Port-channels in the group: Port-channel: Po1 Age of the Port-channel = 0d:00h:26m:23s Ports in the Port-channel: Index Load Port EC state No of bits Time since last port bundled: 0d:00h:21m:20s Fa0/3 |
In the output above, we can determine that this is a Layer 2 EtherChannel with three out of a maximum of eight possible ports in the channel group. We can also determine that the EtherChannel mode is on, based on the protocol being denoted by a dash (-). In addition to this, we can also determine that this is a FastEtherChannel (FEC).
Finally, we can also verify the Layer 2 operational status of the logical port-channel interface by issuing the show interfaces port-channel [number] switchport command. This is illustrated in the following output:
| Switch-2#show interfaces port-channel 1 switchport Name: Po1 Switchport: Enabled Administrative Mode: trunk Operational Mode: trunk Administrative Trunking Encapsulation: dot1q Operational Trunking Encapsulation: dot1q Negotiation of Trunking: On Access Mode VLAN: 1 (default) Trunking Native Mode VLAN: 1 (default) Voice VLAN: none Administrative private-vlan host-association: none Administrative private-vlan mapping: none Administrative private-vlan trunk native VLAN: none Administrative private-vlan trunk encapsulation: dot1q Administrative private-vlan trunk normal VLANs: none Administrative private-vlan trunk private VLANs: none Operational private-vlan: none Trunking VLANs Enabled: ALL Pruning VLANs Enabled: 2-1001 Protected: false Appliance trust: none |
Configuring and Verifying PAgP EtherChannels
This section describes the configuration of PAgP Layer 2 EtherChannels. The following steps need to be executed in order to configure and establish a PAgP EtherChannel.
-
The first configuration step is to enter interface configuration mode for the desired EtherChannel interface(s) via the interface [name] or interface range [range] global configuration commands.
-
The second configuration step is to configure the interfaces as Layer 2 switch ports via the switchportinterface configuration command.
-
The third configuration step is to configure the switch ports as either trunk or access links via theswitchport mode [access|trunk] interface configuration command.
-
Optionally, if the interface or interfaces have been configured as access ports, assign them to the same VLAN using the switchport access vlan [number] command. If the interface or interfaces have been configured as a trunk port, select the VLANs allowed to traverse the trunk by issuing the switchport trunk allowed vlan [range] interface configuration command; if VLAN 1 will not be used as the native VLAN (for 802.1Q), enter the native VLAN by issuing the switchport trunk native vlan [number] interface configuration command. This configuration must be the same on all of the port channel member interfaces.
-
Optionally, configure PAgP as the EtherChannel protocol by issuing the channel-protocol pagp interface configuration command. Because EtherChannels default to PAgP, this command is considered optional and is not required. It is considered good practice to issue this command just to be absolutely sure of your configuration.
-
The next configuration step is to configure the interfaces to unconditionally trunk via the channel-group [number] mode on interface configuration command.
The following output illustrates how to configure PAgP channeling on Switch 1 and Switch 2 based on the network topology depicted in Figure 5-12 above. The EtherChannel will be configured as a Layer 2 802.1Q trunk using default parameters:
| Switch-1#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch-1(config)#interface range fa0/1 – 3 Switch-1(config-if-range)#switchport Switch-1(config-if-range)#switchport trunk encap dot1q Switch-1(config-if-range)#switchport mode trunk Switch-1(config-if-range)#channel-group 1 mode desirable Creating a port-channel interface Port-channel 1 Switch-1(config-if-range)#exit |
NOTE: In the above output, the port channel desirable mode has been selected. An additional keyword (non-silent) may also be appended to the end of this command. This is because, by default, PAgP auto and desirable modes default to a silent mode. The silent mode is used when the switch is connected to a device that is not PAgP-capable and seldom, if ever, transmits packets. An example of a silent partner is a file server or a packet analyzer that is not generating traffic. It is also used if a device will not be sending PAgP packets (such as in auto mode).
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 interface to a channel group, and to use the interface for transmission. In this example, because Switch 2 will be configured for auto mode (passive mode), it is preferred that the port uses the default silent mode operation. This is illustrated in the PAgP EtherChannel configuration output below:
| Switch-1#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch-1(config)#interface range fa0/1 – 3 Switch-1(config-if-range)#switchport Switch-1(config-if-range)#switchport trunk encap dot1q Switch-1(config-if-range)#switchport mode trunk Switch-1(config-if-range)#channel-group 1 mode desirable ? non-silent Start negotiation only after data packets received <cr> Switch-1(config-if-range)#channel-group 1 mode desirable non-silent Creating a port-channel interface Port-channel 1 Switch-1(config-if-range)#exit |
Proceeding with PAgP EtherChannel configuration, Switch 2 is configured as follows:
| Switch-2#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch-2(config)#int range fa0/1 – 3 Switch-2(config-if-range)#switchport Switch-2(config-if-range)#switchport trunk encapsulation dot1q Switch-2(config-if-range)#switchport mode trunk Switch-2(config-if-range)#channel-group 1 mode auto Creating a port-channel interface Port-channel 1 Switch-2(config-if-range)#exit |
The following output illustrates how to verify the PAgP EtherChannel configuration by using the show EtherChannel summary command on Switch 1 and Switch 2:
| Switch-1#show EtherChannel summary Flags: D – down P – in port-channel I – stand-alone s – suspended H – Hot-standby (LACP only) R – Layer3 S – Layer2 u – unsuitable for bundling U – in use f – failed to allocate aggregator d – default portNumber of channel-groups in use: 1 Number of aggregators: 1Group Port-channel Protocol Ports ——+————-+———–+——————————————– 1 Po1(SU) PAgP Fa0/1(Pd) Fa0/2(P) Fa0/3(P) |
PAgP EtherChannel configuration and statistics may also be viewed by issuing the show pagp [options]command. The options available with this command are illustrated in the following output:
| Switch-1#show pagp ? <1-6> Channel group number counters Traffic information internal Internal information neighbor Neighbor information |
NOTE: Entering the desired port channel number provides the same options as the last three options printed above. This is illustrated in the following output:
| Switch-1#show pagp 1 ? counters Traffic information internal Internal information neighbor Neighbor information |
The counters keyword provides information on PAgP sent and received packets. The internal keyword provides information such as the port state, Hello Interval, PAgP port priority, and the port learning method, for example. Using the show pagp internal command, this is illustrated in the following output:
| Switch-1#show pagp 1 internal Flags: S – Device is sending Slow hello. C – Device is in Consistent state. A – Device is in Auto mode. d – PAgP is down. Timers: H – Hello timer is running. Q – Quit timer is running. S – Switching timer is running. I – Interface timer is running.Channel group 1 Hello Partner PAgP Learning Group Port Flags State Timers Interval Count Priority Method Ifindex Fa0/1 SC U6/S7 H 30s 1 128 Any 29 Fa0/2 SC U6/S7 H 30s 1 128 Any 29 Fa0/3 SC U6/S7 H 30s 1 128 Any 29 |
The neighbor keyword prints out the neighbor name, ID of the PAgP neighbor, the neighbor device ID (MAC) and the neighbor port. The flags also indicate the mode the neighbor is operating in as well as if it is a physical learner, for example. Using the show pagp neighbor command, this is illustrated in the following output:
| Switch-1#show pagp 1 neighbor Flags: S – Device is sending Slow hello. C – Device is in Consistent state. A – Device is in Auto mode. P – Device learns on physical port.Channel group 1 neighbors Partner Partner Partner Partner Group Port Name Device ID Port Age Flags Cap. Fa0/1 Switch-2 0014.a9e5.d640 Fa0/1 19s SAC 10001 Fa0/2 Switch-2 0014.a9e5.d640 Fa0/2 24s SAC 10001 Fa0/3 Switch-2 0014.a9e5.d640 Fa0/3 18s SAC 10001 |
Configuring and Verifying LACP EtherChannels
This section describes the configuration of LACP Layer 2 EtherChannels. The following steps need to be executed in order to configure and establish an LACP EtherChannel.
-
The first configuration step is to enter interface configuration mode for the desired EtherChannel interface(s) via the interface [name] or interface range [range] global configuration commands.
-
The second configuration step is to configure the interfaces as Layer 2 switch ports via the switchportinterface configuration command.
-
The third configuration step is to configure the switch ports as either trunk or access links via theswitchport mode [access|trunk] interface configuration command.
-
Optionally, if the interface or interfaces have been configured as access ports, assign them to the same VLAN using the switchport access vlan [number] command. If the interface or interfaces have been configured as a trunk port, select the VLANs allowed to traverse the trunk by issuing the switchport trunk allowed vlan [range] interface configuration command; if VLAN 1 will not be used as the native VLAN (for 802.1Q), enter the native VLAN by issuing the switchport trunk native vlan [number] interface configuration command. This configuration must be the same on all of the port channel member interfaces.
-
Configure LACP as the EtherChannel protocol by issuing the channel-protocol lacp interface configuration command. Because EtherChannels default to PAgP, this command is considered mandatory for LACP and is required.
-
The next configuration step is to configure the interfaces to unconditionally trunk via the channel-group [number] mode on interface configuration command.
In the above output illustrating how to configure PAgP channeling on Switch 1 and Switch 2 based on the network topology depicted in Figure 5-12, the EtherChannel will be configured as a Layer 2 802.1Q trunk using default parameters, as shown in the following outputs:
| Switch-1#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch-1(config)#int range fastethernet 0/1 – 3 Switch-1(config-if-range)#switchport Switch-1(config-if-range)#switchport trunk encapsulation dot1q Switch-1(config-if-range)#switchport mode trunk Switch-1(config-if-range)#channel-protocol lacp Switch-1(config-if-range)#channel-group 1 mode active Creating a port-channel interface Port-channel 1 Switch-1(config-if-range)#exit |
| Switch-2#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch-2(config)#interface ra fast 0/1 – 3 Switch-2(config-if-range)#switchport Switch-2(config-if-range)#switchport trunk encap dot1q Switch-2(config-if-range)#switchport mode trunk Switch-2(config-if-range)#channel-protocol lacp Switch-2(config-if-range)#channel-group 1 mode passive Creating a port-channel interface Port-channel 1 Switch-2(config-if-range)#exit |
The following output illustrates how to verify the LACP EtherChannel configuration by using the show EtherChannel summary command on Switch 1 and Switch 2:
| Switch-1#show EtherChannel summary Flags: D – down P – in port-channel I – stand-alone s – suspended H – Hot-standby (LACP only) R – Layer3 S – Layer2 u – unsuitable for bundling U – in use f – failed to allocate aggregator d – default portNumber of channel-groups in use: 1 Number of aggregators: 1Group Port-channel Protocol Ports ——+————-+———–+——————————————– 1 Po1(SU) LACP Fa0/1(Pd) Fa0/2(P) Fa0/3(P) |
By default, LACP allows up to 16 ports to be entered into a port channel group. The first eight operational interfaces will be used by LACP, while the remaining eight interfaces will be placed into the hot-standby state. The show EtherChannel detail command shows the maximum number of supported links in an LACP EtherChannel, as illustrated in the following output:
| Switch-1#show EtherChannel 1 detail Group state = L2 Ports: 3 Maxports = 16 Port-channels: 1 Max Port-channels = 16 Protocol: LACP Ports in the group: ——————- Port: Fa0/1 ————Port state = Up Mstr In-Bndl Channel group = 1 Mode = Active Gcchange = – Port-channel = Po1 GC = – Pseudo port-channel = Po1 Port index = 0 Load = 0x00 Protocol = LACPFlags: S – Device is sending Slow LACPDUs. F – Device is sending fast LACPDUs. A – Device is in active mode. P – Device is in passive mode. Local information: Partner’s information: Partner Partner Partner LACP Partner Partner Partner Age of the port in the current state: 00d:00h:00m:35s Port: Fa0/2 Port state = Up Mstr In-Bndl Flags: S – Device is sending Slow LACPDUs. F – Device is sending fast Local information: Partner’s information: Partner Partner Partner LACP Partner Partner Partner Age of the port in the current state: 00d:00h:00m:33s Port: Fa0/3 Port state = Up Mstr In-Bndl Flags: S – Device is sending Slow LACPDUs. F – Device is sending fast Local information: Partner’s information: Partner Partner Partner LACP Partner Partner Partner Age of the port in the current state: 00d:00h:00m:29s Port-channels in the group: Port-channel: Po1 (Primary Aggregator) ———— Age of the Port-channel = 00d:00h:13m:50s Ports in the Port-channel: Index Load Port EC state Time since last port bundled: 00d:00h:00m:32s Fa0/3 |
LACP configuration and statistics may also be viewed by issuing the show lacp [options] command. The options available with this command are illustrated in the following output:
| Switch-1#show lacp ? <1-6> Channel group number counters Traffic information internal Internal information neighbor Neighbor information sys-id LACP System ID |
The counters keyword provides information on LACP sent and received packets. The output printed by this command is illustrated below:
| Switch-1#show lacp counters LACPDUs Marker Marker Response LACPDUs Port Sent Recv Sent Recv Sent Recv Pkts Err ——————————————————————— Channel group: 1 Fa0/1 14 12 0 0 0 0 0 Fa0/2 21 18 0 0 0 0 0 Fa0/3 21 18 0 0 0 0 0 |
The internal keyword provides information such as the port state, administrative key, LACP port priority, and the port number, for example. This is illustrated in the following output:
| Switch-1#show lacp internal Flags: S – Device is sending Slow LACPDUs. F – Device is sending Fast LACPDUs. A – Device is in Active mode. P – Device is in Passive mode.Channel group 1 LACP port Admin Oper Port Port Port Flags State Priority Key Key Number State Fa0/1 SA bndl 32768 0x1 0x1 0x0 0x3D Fa0/2 SA bndl 32768 0x1 0x1 0x1 0x3D Fa0/3 SA bndl 32768 0x1 0x1 0x2 0x3D |
The neighbor keyword prints out the neighbor name, ID of the LACP neighbor, the neighbor device ID (MAC), and the neighbor port. The flags also indicate the mode the neighbor is operating in as well as whether it is a physical learner, for example. This is illustrated in the following output:
| Switch-1#show lacp neighbor Flags: S – Device is sending Slow LACPDUs. F – Device is sending Fast LACPDUs. A – Device is in Active mode. P – Device is in Passive mode.Channel group 1 neighborsPartner’s information: Partner Partner Partner LACP Partner Partner Partner Partner’s information: Partner Partner Partner LACP Partner Partner Partner Partner’s information: Partner Partner Partner LACP Partner Partner Partner |
And finally, the sys-id keyword provides the system ID of the local switch. This is a combination of the switch MAC and LACP priority as illustrated in the following output:
| Switch-1#show lacp sys-id 1 ,000d.bd06.4100 |
Configuring and Verifying the LACP System Priority
The LACP system priority, which is used in conjunction with the switch MAC address to form the LACP system ID, may be manually changed via the lacp system-priority [1-65535] global configuration command. The following output illustrates how to configure a system priority of 255 and verify this configuration using the show lacp sys-id command:
| Switch-1#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch-1(config)#lacp system-priority 255 Switch-1(config)#exit Switch-1# Switch-1#show lacp sys-id 255 ,000d.bd06.4100 |
Configuring and Verifying the LACP Port Priority
LACP uses the port priority to decide which ports should be put into standby mode when there is a hardware limitation that prevents all compatible ports from aggregating. The default port priority for all LACP ports is 32,768. However, this default value can be manually adjusted via the lacp port-priority [1-65535] interface configuration command. The lower the value, the more likely that the interface will be used for LACP transmission. The following output illustrates how to configure an interface with a port priority of 4000:
| Switch-1#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch-1(config)#int fa0/1 Switch-1(config-if)#lacp port-priority 4000 Switch-1(config-if)#exit Switch-1(config)#exit Switch-1# Switch-1#show lacp 1 internal Flags: S – Device is sending Slow LACPDUs. F – Device is sending Fast LACPDUs. A – Device is in Active mode. P – Device is in Passive mode.Channel group 1 LACP port Admin Oper Port Port Port Flags State Priority Key Key Number State Fa0/1 SA bndl 4000 0x1 0x1 0x0 0x3D Fa0/2 SA bndl 32768 0x1 0x1 0x1 0x3D Fa0/3 SA bndl 32768 0x1 0x1 0x2 0x3D |
Configuring and Verifying EtherChannel Load Balancing
EtherChannel load balancing, for both PAgP and LACP, is configured in global mode using the port-channel load-balance [src-mac | dst-mac | src-dst-mac | src-ip | dst-ip | src-dst-ip | src-port | dst-port | src-dst-port] command. The following output illustrates how to configure EtherChannel load distribution using the destination MAC address:
| Switch-1#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch-1(config)#port-channel load-balance dst-mac Switch-1(config)#exit |
The show EtherChannel load-balance command is used to verify the selected EtherChannel load-distribution method. This is illustrated in the following output:
| Switch-1#show EtherChannel load-balance Destination MAC address Switch-1# |