Home > EtherChannel Tutorial

EtherChannel Tutorial

EtherChannel Configuration

To assign and configure an EtherChannel interface to an EtherChannel group, use the channel-group command in interface mode: channel-group number mode { active | on | {auto [non-silent]} | {desirable [non-silent]} | passive}
For example we will create channel-group number 1:

Switch(config-if)#channel-group 1 mode ?
active Enable LACP unconditionally
auto Enable PAgP only if a PAgP device is detected
desirable Enable PAgP unconditionally
on Enable Etherchannel only
passive Enable LACP only if a LACP device is detected

If a port-channel interface has not been created before using this command, it will be created automatically and you will see this line: “Creating a port-channel interface Port-channel 1”. In this example, we will create an EtherChannel via LACP between SwA & SwB with the topology shown below: EtherChannel_Switch_configuration.jpg

SwA Configuration SwB Configuration
//Assign EtherChannel group 1 to fa0/0 and fa0/1 and set Active mode on them
SwA(config)#interface range fa0/0 – 1
SwA(config-if-range)#channel-group 1 mode active
Creating a port-channel interface Port-channel 1
//Next configure the representing port-channel interface as trunk
SwA(config)#interface port-channel 1
SwA(config-if)#switchport trunk encapsulation dot1q
SwA(config-if)#switchport mode trunk
//Assign EtherChannel group 2 to fa0/5 and fa0/6 and set Passive mode on them
SwB(config)#interface range fa0/5 – 6
SwB(config-if-range)#channel-group 2 mode passive
Creating a port-channel interface Port-channel 2
//Next configure the representing port-channel interface as trunk
SwB(config)#interface port-channel 2
SwB(config-if)#switchport trunk encapsulation dot1q
SwB(config-if)#switchport mode trunk

That is all the configuration for the EtherChannel to work well on both switches. We can verify with the “show etherchannel <port-channel number> port-channel” or “show etherchannel summary” command.

SwA# show etherchannel 1 port-channel  
     Port-channels in the group:   
     ----------------------------
 Port-channel: Po1
 Age of the Port -channel   = 0d:00h:02m:37s 
 Logical slot/port   = 2/1          Number of ports = 2 
 GC                  = 0x00010001      HotStandBy port = null  
 Port state          = Port-channel Ag -Inuse  
 Protocol            =   LACP
 Port security       = Disabled  
  
 Ports in the Port-channel:  
  
 Index   Load   Port     EC state        No of bits  
 ------+------+------+------------------ +----------- 
   0     00     Fa0/0    Active                  0  
   0     00     Fa0/1    Active                  0  
  
 Time since last port bundled:    0d:00h:02m:27s    Fa0/1

The “show etherchannel number port-channel” command can be used to display information about a specific port channel (in this case port-channel 1). From the command above we can see Port-channel 1 consists of Fa0/0 & Fa0/1 and they are in Active state.

 SwA# show etherchannel summary
Flags:  D  - down        P - bundled 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 
  
          M - not in use, minimum links not met  
          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/0(P)   Fa0/1(P) 

The “show etherchannel summary” can be used to simply display one line of information per port-channel. In this case we learn from the last line that Group 1 uses LACP. This is a Layer 2 EtherChannel (symbolized by “SU”, in which “S” means “Layer2” & “U” means this port-channel is up.

EtherChannel Load-Balancing

EtherChannel load-balances traffic among port members of the same channel. Load balancing between member interface is based on:
+ Source MAC address
+ Destination MAC address
+ Source IP address
+ Destination IP address
+ Combination of Source and Destination MAC address
+ Combination of Source and Destination IP address

Note: Some old switch/router flatforms do not support all the load-balancing methods above. To configure load-distribution method, use the command port-channel load-balance under global configuration mode. For example to load-balance based on destination MAC use the command:

Router(config)#port-channel load-balance dst-mac

How the router/switch load-balances traffic among member interface is out of the scope of this article. For more information about EtherChannel load-balancing please visit http://www.cisco.com/en/US/tech/tk389/tk213/technologies_tech_note09186a0080094714.shtml#topic1.

Comments (6) Comments
  1. Patrick
    June 1st, 2021

    is the static on an open standard?

  2. KD
    April 30th, 2023

    In EtherChannel between SWA and SWB ,Channel-group should be same on both ? In here 1 and 2 created, then is there any possibility to initiate etherchannel?

  3. gundamnrt87
    May 8th, 2023

    KD Yes, Channel-group needs to be same for both sides. In this case it needs to be 1 or 2.

  4. gundamnrt87
    May 9th, 2023

    KD I need to correct my statement :”Yes, Channel-group needs to be same for both sides. In this case it needs to be 1 or 2.”

    I test this via sim today and EtherChannel will work if Channel-group is not same on both end’s.

  5. FJCZ
    January 27th, 2024

    Hi the ethernet channel or channel group/Port Channel is only significant locally for the switch, that means that in sw1 you can have Etherchannel1 and on the sw2 you can have Etherchannel2 and it is going to work fine.

  6. Muhammad Yousuf
    February 6th, 2024

    Dear All !

    May anyone help me regarding Ether Channel that i have created one channel of 6 Ports (Switch to Server) Protocol mode is on, I am facing suspended port issue in this channel, please help

    Thanks a lot

Add a Comment