Etherchannel on Cisco IOS Catalyst Switch

Hi Jason,

If you can use VSS then yes, it’s a good idea. Only the higher end switches support it though.


Hi Rene,

You content is very rich dear:) I have one questions , If we use both end same like…

  1. Desirable--------Desirable

Is there any issue on technically ?? I use Active Ative and PO is running. Also Some Router Support LACP/PAgP.Could you please add the topic .Many Thanks


There are only a couple of combinations that will work if you set both ends as the same:

Desirable - Desirable

Active - Active

Manual (not recommended)
On - On

Any other combination of having both sides set the same will fail to form an Etherchannel. This is because with both Auto and Passive, neither of those modes send out packets to create an Etherchannel. Instead they are only listening for inbound requests to create an Etherchannel. If you have two sides that are both listening, but not sending, no communication will actually happen.

Dear Andrew,

Many Thanks…

So If we set both end active-active or Desirable=Desirable then both side will ask for create Etherchannel to far end and no one will respond right and also that behavior will creat any problem???

I a have tried the Load Balancing topology with GNS3 by setting both end src-mac and see from my capture its taking all path from SW1 and SW2 when send pinging from MAC:AAA TO MAC:EEE and revert .Need more clarification on it.


Both sides being set to Active-Active or Desirable-Desirable will result in a correctly functioning Etherchannel. Each side is aware that the other wants to create one, and it doesn’t bother them that each side is asking proactively for it.

I am not following what you are asking in your second question? Are you saying that the etherchannel you created is not balancing traffic correctly? If so, we will need more details (preferably the configuration you used to create it).

Hi Rene and Andrew,

I have configured a L2 etherchannel by using the following commands

On the 1st switch, i issue

  1. conf t
  2. int range fa0/23-24
  3. channel-group 1 mode on;

The 2 lines went up and the port-channel got created and up.
This was done on only 1 side of the switch but show etherchannel summary show the PO1 (SU) – layer2 and in use.
Subsequently, i went to setup the same on the 2nd switch.

Q1) My question is , how do we verify that the port-channel connectivity between the 2 switches are really working (given that it turn ups even only when 1 side of the switch is configured).

Q2) I have configure src-dst mac load-balancing, but other then using “test etherchannel load-balance”, is there anyway way to see the traffic distribution between the 2 interface/lines on the switch ?
I do a show int fa0/23; and show int fa0/24, trying to a get baseline of the current traffic on both interfaces before sending some packets out, but the output packets on both interfaces jumps all the time before i even actually send the actual traffic out.

How do i verify that both links are actually “used” ?


Wonderful job

Hi Alan,
First, I want to make sure you are aware of a great lesson available on Etherchannel Troubleshooting. Why not give that lesson a read-through, and see what you can learn from it? If you still are wondering about verification after that, feel free to post, and Rene or I will answer you right away!

I do want to give you one bit of caution … Generally, with technology, but Cisco in particular, there is a cautious attitude that any feature that is “auto …”, you outta not use it :slight_smile: Etherchannel, however, is one big exception to this. It is highly recommended that in a real world design you use LACP (or PAgP if you have all Cisco equipment) as opposed to “ON.” It is very easy for something to go wrong in an Etherchannel setup, and with “ON” you have no protection against frame looping. I have had this personally happen to me!

The other nice thing about using LACP or PAgP is that you won’t be fooled by just one side of the Etherchannel coming up as you experienced. Only if both sides agree and pass all their internal checks will the Port Channel come. So this would be a good indication that the Channel-Group is actually functional.

Dear Rene,

Please correct me if I am wrong …

If we use Negotiation protocol then both end & Local(Between Links) configuration must be identical of below parameter :

Duplex has to be the same.
Speed has to be there same.
Same native AND allowed VLANs.
Same switchport mode (access or trunk).

If we dont use Negotiation protocol then only local (Between Links) configuration must be identical , right ??


Dear Zaman,

That is correct: speed/duplex/vlans/switchport mode should be the same on both ends for negotation to work.

Without negotiation, these parameters are not checked so you can configure the Etherchannel anyway. I would still recommend to keep all parameters the same though.


19 posts were merged into an existing topic: Etherchannel on Cisco IOS Catalyst Switch

Hlw Rene,

Thanks a lot, Rene, you are amazing !

One more Questions…

What’s the necessity of the command “channel-protocol lacp” ??


Hi Zaman,

It is used to restrict anyone from using non-LACP commands. Here’s an example:

You can use the channel-protocol command to restrict anyone from selecting a mode that is not applicable to the selected protocol

SW1(config)#interface GigabitEthernet 0/1
SW1(config-if)#channel-protocol lacp
SW1(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
SW1(config-if)#channel-group 1 mode auto
Command rejected (Channel protocol mismatch for interface Gi0/1 in group 1): the interface can not be added to the channel group
SW1(config-if)#channel-group 1 mode desirable
Command rejected (Channel protocol mismatch for interface Gi0/1 in group 1): the interface can not be added to the channel group
SW1(config-if)#channel-group 1 mode on       
Command rejected (Channel protocol mismatch for interface Gi0/1 in group 1): the interface can not be added to the channel group

All non-LACP commands are now rejected.


Hi Rene

Say in production network, I have a etherchannel with 4 links between two switched configured, this etherchannel seems to be working fine. But suddenly one of the 4 links failed, and I have to replace the ethernet cable. What is the procedure to replace this defective cable without affecting the live traffic between the two switches. I jest simply change the defective cable, and the Etherchannel will now use all 4 links. What happens in this scenario.


In most cases you can just simply replace the cable without worrying about it. If you wanted to take extra precautions, a fool-proof method would be to issue a “shutdown” on each affected interface, replace the cable, then issue a “no shutdown.” This one should be really easy, but be sure to make it appear difficult so you are more appreciated at work :slight_smile:

1 Like

19 posts were merged into an existing topic: Etherchannel on Cisco IOS Catalyst Switch


I am also trying to get my head around this as I just missed this question on a boson practice exam. It is similar to what you have setup in your lesson except they use a router instead of a server basically.

From what you are saying it seems like if you have multiple devices connected to a switch that will be using the Ether link that using the src will not bind it into a contract with a certain link but allow it to use all of them.

Where as if you use dst it will bind to one of the links and continuously use that thus not using the other links and there would be no load balancing effect.

What is confusing me is if you use src-ip and you had four devices connected to switch A does the port-channel load-balance part of the command try and make it use different links to try and load balance, and then the src-ip is the key that allows it in this case because of multiple devices? and since there is multiple devices four in this case it will use the four different links to send.

and here is the specifics of what I am unsure of: So if we setup dst-ip on the switch connected to the server it will use the same path for each of the different PCs but since those PC connections from Switch A side all use different links to get to Switch B and the server (because of the port-channel load-balance src-ip command) it has the effect of making the server return information (using the dst-ip) achieve load balancing.

meaning the real key here was not the server side but the effect of multiple pcs on the PC side that used src-ip. is that the correct thinking?

if that’s is the case then that’s making sense now that I put the thoughts in written form.

Using these forums really help me when I have to try and formulate my thoughts into written language and post on here, not to mention the reinforcement and feed back by others. Great learning tool that helps cement things for me. love em…love em!!!

Hello Brian.

If I understood your explanation correctly, then yes you are correct.

Essentially if you have multiple devices communicating with one device over an etherchannel link, then traffic that goes from the multiple devices towards the single device should be load balanced based on source IP. There are many source IPs so each one will use a different physical link and load balancing will be achieved.

Traffic from the single device to the multiple devices should be load balanced based on destination IP. Again, there are many destination IPs so each one will use a different physical link and load balancing will be achieved.

I hope this has been helpful.



I got to thinking after I wrote this post. I was thinking now its pretty easy to know what to do if I have multiple devices on one switch and a single device on another switch like a server or router.

However what about if you had say multiple devices on each switch. For example Switch A has four PC connected and then Switch B has four PC connected and Switch A and B are connected by a 4 port etherchannel?

I know you would sit one side or the other side up as src-IP/mac but after setting that up would you set the other side up also as src-ip/mac or just set it up as dst-ip/mac or would it even matter one way or another when setting up the second device?

would it use a random port on the way back or would it be forced to use the same port that it received the information on when returning.

If it was forced to use the same port to return then it does not matter what you choose on the other device src or dst because its going to do what its going to do.

Its more of a curriousity question and how to answer a question where there is multiple devices on both sides.

I guess normally traffic is going somewhere and not being sent out randomly which is why we have IP addresses and Mac Addresses even UDP traffic while not controlled is still going somewhere specifically.

but if these are computers that might be talking to different computers at different times then that scenario could happen and if that’s the case I would think you would set both sides to src-ip/mac and whoever setup the initial data when the other device on the other switch responded it would use that same port to speak back.

I think I read something about once a connection between devices Is used with etherchannel the port is normally used for that connection so that load balancing is not truly load balancing.

I don’t want to get to much in the weeds here on this question just wonder how I would answer a question like that with multiple devices on both sides!

My guess is that you sit both sides up as src-ip/mac however the connection is going to use a single port for all the communication between whatever two devices happen to be communicating at the time. So in other words it will act like a src-ip/mac to a dst-ip/mac. However it needs to be setup as src on both sides because of the initiation of communication from multiple devices.

I woke up this morning started studying and had another similar practice exam question from boson on ether-channel I am going to stare at this a bit this morning as I try to wake up as it has some good information as well see below:

Hello Brian

In order to determine the best load balancing technique, you must determine the nature of the traffic. The multiple devices on one end and a single device on the other end is a special case that must be addressed. In most cases, if you have multiple devices on both ends and the connectivity between the two “ends” is for the most part random, then no special configurations should be implemented. The default is to use the source and destination IP to determine the port (using a hashing algorithm) which is sufficient for such situations. For more information on load balancing and redundancy, take a look at this Cisco documentation.

I hope this has been helpful!