Configuring EtherChannel (PAgb)

NetworkSwitches
Bundling physical links into one logical link is a common practice to up the bandwidth between switches, you may have this also configured on a server to bundle connections as well. In this tutorial I have two 2960 switches both of them trunking all VLANs on two gigabit ports. So in the end game is get 2gbps instead of 1gbps between switches while using Cisco’s proprietary protocol PAgb.   It is important to remember that both of these protocols (PAgb and LACP) are link aggregation protocols only, their job is to make sure that EtherChannel is setup correctly by negotiating. This helps prevent EtherChannel mismatches and loops. You could manually set the etherchannel mode to "on" instead of using either of these aggregation protocols. However this is considered best practice to use one of these link aggregation protocols. Here are some Guidelines for Configuring EtherChannel:

  • You can configure the port in two ways:
    • PAgp which is Cisco proprietary protocol.
    • LACP which is an industry standard 802.3ad.
  • You can combine from two links to eight links.
  • All ports MUST be identical such as:
    • Same speed that also includes duplex.
    • Cannot mix and match Fast Ethernet and Gigabit ports.
    • Cannot throw in PAgp and LACP in the same “channel”.
    • Must be either all trunking or non-trunking.
  • All links in the channel must be either in Layer 2 or Layer 3.
  • If you want to use PAgp each side must be one of the two settings for the channel to come up.
    • Auto-Desirable
    • Desirable-Desirable
  • If you would like to use LACP then each side must be one of the two settings for the channel to come up.
    • Active-Active
    • Active-Passive

So for this example I have a two Cisco 2960 switches, one switch is a 24-port while the other one is a 48-port switch. I have already done some pre-configuring for the native VLAN (not using VLAN1) and I have also created an additional VLAN for data traffic on both of these switches. The two switches I am working with both have two gigabit trunk uplinks to each other, by default of STP one link will be in blocking state. To allow both of these links in a forwarding state follow the configuration below. On the 24-port switch under both gigabit interfaces: [code highlight="3,4,5"] 24-SW3#configure t Enter configuration commands, one per line. End with CNTL/Z. 24-SW3(config)#interface range gigabitEthernet 0/1 -2 24-SW3(config-if-range)#channel-group 1 mode desirable Creating a port-channel interface Port-channel 1 *Mar 2 22:53:06.895: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/1, changed state to down *Mar 2 22:53:06.920: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/2, changed state to down *Mar 2 22:53:09.688: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/2, changed state to up *Mar 2 22:53:09.713: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/1, changed state to up [/code] On the 48-port switch under both gigabit interfaces: [code highlight="3,4,10,11"] 48-SW1#configure t Enter configuration commands, one per line. End with CNTL/Z. 48-SW1(config)#interface range gigabitEthernet 0/1 - 2 48-SW1(config-if-range)#channel-group 1 mode auto Creating a port-channel interface Port-channel 1 *Mar 2 09:56:03.907: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/1, changed state to down *Mar 2 09:56:03.940: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/2, changed state to down *Mar 2 09:56:13.327: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/1, changed state to up *Mar 2 09:56:13.797: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/2, changed state to up *Mar 2 09:56:27.235: %LINK-3-UPDOWN: Interface Port-channel1, changed state to up *Mar 2 09:56:28.242: %LINEPROTO-5-UPDOWN: Line protocol on Interface Port-channel1, changed state to up[/code] To verify that port-channel is working as expected (Notice line 4) [code highlight="1,4"] 24-SW3#show interfaces port-channel 1 Port-channel1 is up, line protocol is up (connected) Hardware is EtherChannel, address is 001a.6d44.0c1a (bia 001a.6d44.0c1a) MTU 1500 bytes, BW 2000000 Kbit, DLY 10 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full-duplex, 1000Mb/s, link type is auto, media type is unknown --- Omitted ---[/code] You can also verify EtherChannel with the following command, several options are available. [code highlight="1"] 24-SW3#show etherchannel 1 ? detail Detail information port Port information port-channel Port-channel information protocol protocol enabled summary One-line summary per channel-group [/code] We now have a 2gbps unlink between these two switches, if we looked at spanning-tree we would see the port-channel interface (Po1) is in a forwading state and the two gigabit links are not listed as active interfaces. If you would like more information about EtherChannel look at the post I did some time ago about Understanding EtherChannel.