Configure LACP EtherChannel in Cisco IOS Switch

Link Aggregation or Ether Channel is a technology which allows for two or more physical ports to combine into one logical port providing high availability and increased bandwidth. Link Aggregation Control Protocol (LACP) is a industry standard (IEEE 802.3ad) protocol that is used to bundle two or more links and can work with devices from different vendors. If you are using PAgP protocol then you must use Cisco switches because PAgP is Cisco proprietary protocol. In this post, I will show steps to Configure LACP EtherChannel in Cisco IOS Switch.

Configure LACP EtherChannel in Cisco IOS Switch

The physical switch ports running LACP protocol can be either in active or passive mode. In active mode, the port actively tries to form LACP EtherChannel with remote switch port. Whereas, in passive mode, the port just waits for remote switch port to initiate LACP negotiation. The diagram below shows a simple scenario with two Cisco switches, Switch-A and Switch-B. The switches are connected with two switch ports Fa0/1 and Fa0/2. We can bundle these two switch ports into one logical EtherChannel using Link Aggregation Control Protocol (LACP) protocol. The links between the switches are TRUNKS so we have to configure TRUNK in the LACP bundled port as well.

Let’s start configuring LACP in Switch-A. It is better to start the configuration after shutting down the switch ports to avoid any negotiation issues while configuring LACP.

Switch-A(config)#interface range fastEthernet 0/1 - 2
Switch-A(config-if-range)#channel-group 1 mode active 
Switch-A(config-if-range)#channel-protocol lacp 

The command channel-group 1 mode active means the physical interfaces Fa0/1 and Fa0/2 will be member of logical EtherChannel interface Port-Channel 1 and the physical ports will actively try to negotiate with remote switch ports to form LACP EtherChannel interface. Here is same configuration for Switch-B.

Switch-B(config)#interface range fastEthernet 0/1 - 2
Switch-B(config-if-range)#channel-group 1 mode active 
Switch-B(config-if-range)#channel-protocol lacp

To verify the EtherChannel, type show etherchannel summary as shown below.

Switch-A#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 - in use      f - failed to allocate aggregator
        u - unsuitable for bundling
        w - waiting to be aggregated
        d - default port


Number of channel-groups in use: 1
Number of aggregators:           1

Group  Port-channel  Protocol    Ports
------+-------------+-----------+----------------------------------------------

1      Po1(SU)           LACP   Fa0/1(P) Fa0/2(P)

Above output shows, Port-Channel Po1 has been created, the protocol is LACP and ports Fa0/1 and Fa0/2 are member of the Port-Channel 1 interface. Regarding flags, Po1(SU) – S means it is operating at layer 2 and U means it is in use. Similarly, flags regarding ports Fa0/1(P) and Fa0/2(P) – P means these physical ports are member of port-channel 1 (Po1) interface.

You can also verify creation of Port-Channel interface by issuing, show ip interface brief command,

Switch-A#show ip interface brief | inc Po1
Interface              IP-Address      OK? Method Status                Protocol
 
Port-channel 1         unassigned      YES unset  up                    up

So, Port-Channel interface running LACP protocol has been created. Now, to configure the EtherChannel interface as TRUNK port type following commands as shown below,

Switch-A(config)#interface port-channel 1
Switch-A(config-if)#switchport trunk encapsulation dot1q 
Switch-A(config-if)#switchport mode trunk 

Repeat same commands in Switch-B as well.

Switch-B(config)#interface port-channel 1
Switch-B(config-if)#switchport trunk encapsulation dot1q 
Switch-B(config-if)#switchport mode trunk

Review the EtherChannel configuration. Use show running-config command in user Exec mode.

interface FastEthernet0/1
 channel-protocol lacp
 channel-group 1 mode active
 switchport mode trunk
!
interface FastEthernet0/2
 channel-protocol lacp
 channel-group 1 mode active
 switchport mode trunk
!
interface Port-channel 1
 switchport trunk encapsulation dot1q
 switchport mode trunk

You can now verify the TRUNK port using show interfaces trunk command as shown below,

Switch-A#show interfaces trunk 
Port        Mode         Encapsulation  Status        Native vlan
Fa0/1       on           802.1q         trunking      1
Fa0/2       on           802.1q         trunking      1
Po1         on           802.1q         trunking      1

Port        Vlans allowed on trunk
Fa0/1       1-1005
Fa0/2       1-1005
Po1         1-1005

Port        Vlans allowed and active in management domain
Fa0/1       1,10,20,30
Fa0/2       1,10,20,30
Po1         1,10,20,30

Port        Vlans in spanning tree forwarding state and not pruned
Fa0/1       1,10,20,30
Fa0/2       1,10,20,30
Po1         1,10,20,30

As you can see above, Po1 is trunking with 802.1q protocol. In this way you can configure LACP EtherChannel in Cisco Switch.