There are three different methods to create an EtherChannel. One of them is Cisco’s own proprietary protocol, PAgP, Port Aggregation Protocol. It is similar to LACP which is the industry standard. A PAgP link is usually used between Cisco switches.
PAgP will aggregate physical port links into one logical link to provide redundancy and increased bandwidth. Within a PAgP link there can be up to eight active ports. PDUs are sent on the lowest numbered VLAN on the trunk link. Each port joining the PAgP link must have the same configuration.
There are two modes used in PAgP:
Auto mode will passively negotiate PAgP. If the remote end of the link is also configured with Auto mode, a PAgP EtherChannel will not form.
Desirable mode will actively negotiate PAgP. The remote end must be configured in Auto or Desirable mode for a PAgP EtherChannel to form.
To configure PAgP, identify the physical ports which will join to the same logical bundle.
SW1#config t SW1(config)#interface range f0/1 - 2 SW1(config-if)#channel-group 5 mode desirable SW1(config-if)#end
SW2#config t SW2(config)#interface range f0/1 - 2 SW2(config-if)#channel-group 5 mode desirable SW2(config-if)#end
Let’s break down the command that creates the PAgP bundle.
channel-group 5 is how we identify that we want to create an EtherChannel. 5 is the identifying value we want to assign to this EtherChannel. Depending on your switch/IOS version you will have a specific range of numbers available to use.
To find out which EtherChannel numbers already in use issue the command
show etherchannel summary.
mode desirable is how we configure these interfaces to actively negotiate PAgP. If we wanted the interfaces to passively negotiate a PAgP link then we would configure it with mode auto.
The remote end of the link is configured similarly with the difference being that the channel-group numbers do not have to match.
After configuring the interfaces to be part of the same channel-group, a port-channel will automatically be configured. This is the logical interface of the bundle. The port-channel number will be the same as your channel-group number. In the example above, port-channel 5 was automatically created.
You can view this port-channel interface with the following commands:
- show interface status
- show interfaces po5
SW1#show interfaces po5 Port-channel5 is up, line protocol is up (connected) Hardware is EtherChannel, address is 0011.bba6.b001 (bia 0011.bba6.b001) MTU 1500 bytes, BW 200000 Kbit, DLY 100 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full-duplex, 100Mb/s, media type is 10/100BaseTX input flow-control is off, output flow-control is unsupported Members in this channel: Fa0/1 Fa0/2 ARP type: ARPA, ARP Timeout 04:00:00 Last input 00:00:01, output 00:00:03, output hang never Last clearing of "show interface" counters never Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue: 0/40 (size/max) 5 minute input rate 2000 bits/sec, 5 packets/sec 5 minute output rate 1000 bits/sec, 1 packets/sec 221 packets input, 18622 bytes, 0 no buffer Received 213 broadcasts (0 multicasts) 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 0 watchdog, 213 multicast, 0 pause input 0 input packets with dribble condition detected 119 packets output, 10490 bytes, 0 underruns 0 output errors, 0 collisions, 1 interface resets 0 babbles, 0 late collision, 0 deferred 0 lost carrier, 0 no carrier, 0 PAUSE output 0 output buffer failures, 0 output buffers swapped out
- show run interface po5
SW1#sh run interface po5 Building configuration... Current configuration : 92 bytes ! interface Port-channel5 switchport trunk encapsulation dot1q switchport mode trunk end
The port-channel interface is where the configuration is made to all the ports joined to the bundle. Any settings configured at the port-channel is inherited by the physical ports. An example is configuring a trunk port:
SW1(config)#interface po5 SW1(config-if)#switchport trunk encapsulation dot1q SW1(config-if)#switchport mode trunk
Each port in the bundle will now be converted from an access port into a trunk port.
To convert the logical port from a Layer 2 EtherChannel into a Layer 3 EtherChannel issue the following commands:
SW1(config-if)#no switchport SW1(config-if)#ip address 192.168.1.1 255.255.255.0
The no switchport command turns off Layer 2 and by configuring an IP address we have now made it a Layer 3 interface.
To verify our configuration, check interfaces to ensure they are part of the correct bundle:
SW1#sh run interface f0/1 Building configuration... Current configuration : 126 bytes ! interface FastEthernet0/1 switchport trunk encapsulation dot1q switchport mode trunk channel-group 5 mode desirable end
SW1#show run interface port-channel5 Building configuration... Current configuration : 92 bytes ! interface Port-channel5 switchport trunk encapsulation dot1q switchport mode trunk end
Ensure the EtherChannel is operating properly:
- show etherchannel summary
SW1#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 ------+-------------+-----------+----------------------------------------------- 5 Po5(SU) PAgP Fa0/1(P) Fa0/2(P)
Each port in the bundle has a flag of P which you can see from the legend, those ports are actively in a port-channel. The port-channel interface has two flags, SU, meaning it is a Layer 2 interface and it is in use. All good signs.
To view more details about the EtherChannel group:
- show etherchannel 5 detail
SW1#show etherchannel 5 detail Group state = L2 Ports: 2 Maxports = 8 Port-channels: 1 Max Port-channels = 1 Protocol: PAgP Minimum Links: 0 Ports in the group: ------------------- Port: Fa0/1 ------------ Port state = Up Mstr In-Bndl Channel group = 5 Mode = Desirable-Sl Gcchange = 0 Port-channel = Po5 GC = 0x00050001 Pseudo port-channel = Po5 Port index = 0 Load = 0x00 Protocol = PAgP Flags: S - Device is sending Slow hello. C - Device is in Consistent state. A - Device is in Auto mode. P - Device learns on physical port. d - PAgP is down. Timers: H - Hello timer is running. Q - Quit timer is running. S - Switching timer is running. I - Interface timer is running. Local information: Hello Partner PAgP Learning Group Port Flags State Timers Interval Count Priority Method Ifindex Fa0/1 SC U6/S7 H 30s 1 128 Any 54 Partner's information: Partner Partner Partner Partner Group Port Name Device ID Port Age Flags Cap. Fa0/1 SW2 000d.bdd3.4e80 Fa0/1 2s SC 50001 Age of the port in the current state: 0d:00h:03m:15s Port: Fa0/2 ------------ Port state = Up Mstr In-Bndl Channel group = 5 Mode = Desirable-Sl Gcchange = 0 Port-channel = Po5 GC = 0x00050001 Pseudo port-channel = Po5 Port index = 0 Load = 0x00 Protocol = PAgP Flags: S - Device is sending Slow hello. C - Device is in Consistent state. A - Device is in Auto mode. P - Device learns on physical port. d - PAgP is down. Timers: H - Hello timer is running. Q - Quit timer is running. S - Switching timer is running. I - Interface timer is running. Local information: Hello Partner PAgP Learning Group Port Flags State Timers Interval Count Priority Method Ifindex Fa0/2 SC U6/S7 H 30s 1 128 Any 54 Partner's information: Partner Partner Partner Partner Group Port Name Device ID Port Age Flags Cap. Fa0/2 SW2 000d.bdd3.4e80 Fa0/2 15s SC 50001 Age of the port in the current state: 0d:00h:03m:07s Port-channels in the group: --------------------------- Port-channel: Po5 ------------ Age of the Port-channel = 0d:00h:03m:49s Logical slot/port = 1/1 Number of ports = 2 GC = 0x00050001 HotStandBy port = null Port state = Port-channel Ag-Inuse Protocol = PAgP Port security = Disabled Ports in the Port-channel: Index Load Port EC state No of bits ------+------+------+------------------+----------- 0 00 Fa0/1 Desirable-Sl 0 0 00 Fa0/2 Desirable-Sl 0 Time since last port bundled: 0d:00h:03m:09s Fa0/2 Time since last port Un-bundled: 0d:00h:03m:10s Fa0/2
And that’s a rundown on configuring PAgP EtherChannel on a Cisco switch. Leave a comment below if you have any questions or if you have any feedback.