KB ID 0001533
This is a subject that every time I need to create an Ether-Channel I end up checking beforehand, so it’s about time I wrote it up. We are combining two different things, an Ether-channel, (an aggregation of links) and a Trunk (the ability to carry many VLANS). If you are NOT from a Cisco background then you might want to read though the following post first to avoid confusion about the world ‘Trunk‘.
So this is what I’m going to create;
I will combine the TWO links between the switches to act at one link (Ether-Channel). An Ether-Channel can have up to eight links.
Note: I’m only concentrating on the Ether-Channel setup so VLANs/VTP and Routing are not covered.
You can use two types of Ether-Channels PAgP (Port Aggregation Protocol), but WHY when it only works on Cisco switches. LACP (Link Aggregation control Protocol) which is supported by just about everything else, so let’s stick with that! By default a ‘Trunk’ will pass ALL VLANS, you might not want that, I’ll cover filtering VLANs a bit further down.
WARNING: If you simply connect two switches with two cables you will create a LOOP, if you have STP enabled the network will recover and block one of the links, but your colleagues will shake their heads and pull a ‘frowny face’. For that reason ‘SHUT THE PORTS DOWN BEFORE YOU CABLE / CONFIGURE THEM“.
Starting on Switch1 make sure there’s is no existing Ether-Channels configured;
SW-1#show etherchannel Channel-group listing: ---------------------- Group: 1 ---------- Group state = L2 Ports: 2 Maxports = 4 Port-channels: 1 Max Port-channels = 4 Protocol: LACP Minimum Links: 0
Above there is already an Ether-Channel (port-channel) on the switch (group 1) so you would have to use group 2. For arguments sake we will say I don’t have one, so I can use group 1.
Note: ‘show etherchannel summary’ is also a handy command to remember!
First shut down the uplinks, Note the syntax for the 'range interfaces', may differ from device to device, so use the TAB key. SW-1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. SW-1(config)#interface range ethernet 0/1 - 2 SW-1(config-if-range)#shutdown Add the ports to channel group 1, Note 'Active' denotes use LACP, (Passive also works, but one (or both) ends should be active.) SW-1(config-if-range)#channel-group 1 mode active Creating a port-channel interface Port-channel 1 Create a 'trunk' with 802.1q encapsulation. SW-1(config-if-range)#switchport trunk encapsulation dot1q SW-1(config-if-range)#switchport mode trunk
Then configure the other end the same, (assuming the port numbers are the same!) As mentioned above you can use LACP mode ‘passive‘ but I tend to set both ends active.
Once you have both ends configured and the cables in place, enable the interfaces with a ‘no shutdown‘ command, on both ends!
SW-1(config)#interface range ethernet 0/1 - 2 SW-1(config-if-range)#no shutdown
Filtering VLANs on an Ether-Channel Trunk
Any further port-channel changes need to be done on the port-channel interface, so if you want to filter what’s allowed you simply use the following syntax;
SW-1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. SW-1(config)#interface Port-channel1 SW-1(config-if)#switchport trunk allowed vlan 1,10,100,200
Note: When adding any future VLANS check the syntax, if you simply add a new one it will overwrite all the others, and things will break!
Do all Ether-Channels need to be Trunks? No! Not at all, they can be access ports (as long as they are all in the same VLAN), and they can also be routed uplinks, with an IP address at both ends, (specified in the port-channel interface).
Related Articles, References, Credits, or External Links