Etherchannel on Cisco IOS Catalyst Switch

Hello Scott

Whenever you are configuring EtherChannel and you see amber lights on all but one link of the EtherChannel bundle, then it is very likely that STP has kicked in and is blocking all but one link. This seems to indicate that there is a misconfiguration of EtherChannel on one end of the link. The configuration you posted looks good, but it may be that the other end is not configured correctly. Ensure that the config is correct. Some more detailed configuration rules and restrictions for EtherChannel can be found at the following Cisco documentation:

I hope this has been helpful!

Laz

In addition to what @lagapidis mentioned.

If all your VMs are in the same subnet, a trunk is not required. However, your ESX management interface will also be in the same subnet.

If you want your management interface in another subnet than your VMs, you should create a trunk and use a different VLAN for each.

Rene

Connecting to a UCS server, ESXI management is on a dedicated switch for OOB access, production servers all in the same vlan attaching to their own switch. I think the problem may be in the NIC teaming and the load balancing algorithm. Cisco default on 9300 I think is src-mac. What is the best algorithm for this scenario?
Connecting to a UCS server, ESXI management is on a dedicated switch for OOB access, production servers all in the same vlan attaching to their own switch. I think the problem may be in the NIC teaming and the load balancing algorithm. Cisco default on 9300 I think is src-mac. What is the best algorithm for this scenario?

Hello Scott

Remember that the load balancing algorithm used on the switches when applied to NIC teaming is always applied to traffic going from the switch to the server. For the other direction, the load balancing is dictated by the server.

If you are expecting traffic destined to the server to come from multiple hosts outside of the local subnet, then then the source IP address would be the best choice to use in your algorithm. If you used source MAC in such a scenario, then the same source MAC would be seen all the time (from the default gateway from which all such traffic will come) so only one of the links will be used. If you are expecting traffic to come from multiple hosts on the same subnet, then either source MAC or source IP will work the same. You would never use destination MAC or IP, since that will always be the same (the address of the server itself) and would not efficiently load balance.

I hope this has been helpful!

Laz

Hi Rene,

I just wanted to build the logic about EtherChannel. I know this will not work but wanted to know how many channel will be coming up if we issue show etherchannel 1 port-channel command.

Can you please let me know the EtherChannel Traffic flow?

  1. Can you please help me to understand MLAG with a diagram and how packet flows in MLAG.

Thank you
Manami

Hello Manami

The answer is, it depends on the portchannel configuration. If you unconditionally create a portchannel on all of the interfaces involved using the channel-group 1 mode on command, the portchannel will look like it is functioning correctly between ESW2 and ESW3. The port between ESW3 and ESW1 will be observed as ā€œstand-aloneā€ in the output of the show etherchannel summary command, meaning that the link is isolated and cannot be integrated into the bundle.

If you use PAgP or LACP, you will find similar situations, where only the two links between switches 2 and 3 are active. The other link will simply not be used.

MLAG is multi-chassis link aggregation and is a generic term that refers to the creation of EtherChannel or port-channel links across multiple devices, much like in your diagram. Cisco has several ways in which this can be accomplished. One of these methods is to use what is known as a virtual port channel or vPC. Now this is a feature that is specific to the Cisco Nexus series of switches and is not available on IOS devices. However, there are solutions to implement MLAG on IOS devices, and these are described in the following post, with appropriate links:

I hope this has been helpful!

Laz

In my opinion, dst mac looks better for load balancing. Are there any cases where src mac is advantageous??

Hello YongHun

src-mac is useful when you have many hosts on a network segment that will be sending traffic over an Etherchannel link. The following post explains various scenarios, and it includes src-mac as one of them:

I hope this has been helpful!

Laz

Hi,

In case of copying multiple file from same source to same destination, ether channel will always use same link if the algorithm is source & Dest IP address. So there will be congestion even though we have other links available with enough bandwidth.

Hello Haris

If you have a single host communicating with a single host across an Ethernet bundle, and between them there is an etherchannel link, then the only load balancing algorithm that you can really use is load balancing using TCP/UDP ports. In the lesson this option is not included due to the platform being used, but that would be the best to use for the situation you describe in your post. There are three options:

port-channel load-balance dst-port
port-channel load-balance src-port
port-channel load-balance src-dst-port

These are described in more detail in the following CIsco command line reference documentation:

I know that platforms such as the 6500/6800/6900 and 4500/4900 series switches support these, and the newer 9400 and 9600 series that replaced them also support them. Iā€™m not sure about lower-end devices, youā€™ll have to check those out in their specs.

Otherwise, if you donā€™t use the TCP/UDP ports, the communication between your two hosts in the scenario you describe will only use a single link of the Etherchannel because they have the same source and destination IP and MAC addresses for all communication even though multiple files are being sent simultaneously.

I hope this has been helpful!

Laz

Could you please share the packet information on pagp and Lacp ? and also how port-channel forward the packet across the link?, Thanks

Hello Lavanya

Do you mean wireshark packet captures? Rene has not created any packet captures for this specific lab, however, you can see some PAGP packets at this cloudshark link and some LACP packets at this link. I would also suggest that you attempt the lab and do some packet captures for yourself as well. This helps to give you a deeper understanding of the concepts.

As for how port channel forwards the packets across the link, this is explained in detail in the Load Balancing section of the lesson found at this link.

I hope this has been helpful!

Laz

Hi,
If I have 2 swiitches and have to trunks with the same set of VLANs allowd.
What is the best option toe avoid spanning tree on these trunks?

Hello Ronald

If you have two or more connections between two switches, it is usually best practice to use Etherchannel, especially since you are using the same trunks across both links. This way you can avoid STP, and take advantage of the full bandwidth that both links deliver.

I hope this has been helpful!

Laz

1 Like

Hello Ronald

It seems you responded only by email, so Iā€™ll post your question here:

Hello Lazeros,

Thanks for your answere
But that was not the answere I exspected.
I know it is better to make etherchannels

But if you donā€™t do that, that was the question.
How to avoid STP in that case.

BPDU guard?
Loopguard?
Portfast?

Kind regards,

Ronald Verheij

If we donā€™t use EtherChannel then there is no way to ā€œavoid STPā€ under normal circumstances. STP must function in order to avoid layer 2 loops. The features you mention (BPDU guard, Loopguard, Portfast) are features of STP and are used to allow it to function in particular ways, but they donā€™t act as alternatives to STP.

Some alternatives to STP that are used in modern data centers that may achieve what you want include vPCs which are exclusive to Cisco Nexus devices, Multi-Chassis Link Aggregation, or VSS. You can also interconnect multiple switches using stackwise technology.

All of these are specialized cases and may not apply to the platform you are using or to the requirements you have for your topology.

Can you share with us what it is that you want to acheive? Is there something specific that you want to do in your topology? If you share it with us maybe we can help you further.

I hope this has been helpful!

Laz

Hi Rene,

Can you please create tutorial on the load balancing option to better understand them ?
like when do we use one or another ?
I have searched everywhere and cant find anything about it, just wage explanation.
However your explenation on port-channel load-balance dst-mac was pretty good

Hello Maxborodin

Take a look at the following posts that talk about load balancing across an EtherChannel link in more detail:

I hope this has been helpful!

Laz

1 Like

Hello,

In the example listed for PAGP in this lesson, SW2 G0/1 and G0/2 are left as access, how come the etherchannel is still up with no issues, while as per my understanding the port mode should match between both switches

Thanks
Hisham

Hello Hisham

Youā€™ll notice that ports G0/1 and G0/2 on SW2 have no switchport mode configuration. This means that by default, they are indeed in access mode. But remember that Dynamic Trunking Protocol (DTP) is enabled by default on both switches as well. This means that if you configure the SW1 port-channel as a trunk (which in turn configures the physical ports as trunks), DTP packets will be sent to SW2. When SW2 receives DTP packets that request to form a trunk, the SW2 interfaces will change to trunk mode.

More about DTP (and how to disable it) can be found in the following lesson:

I hope this has been helpful!

Laz

Hello,

SW2 configuration doesnā€™t have no switchport under the interface, here is the snippet from the lesson:

hostname SW2
!
interface GigabitEthernet0/1
 channel-group 1 mode auto 
!
interface GigabitEthernet0/2
 channel-group 1 mode auto
!
interface port-channel 1
!
end