Link Aggregation Group

Link aggregation control protocol

A link aggregation control protocol (LACP) is a network protocol that:

  • Bundles several physical ports together to form a single logical channel.

  • Negotiates automatic bundling by sending LACP packets to a peer.

  • Maintains network operation by dynamically grouping and rerouting traffic into a single logical link (channel or aggregate port) if any ports fail.

Link Aggregation Control Protocol (LACP) is a part of the IEEE 802.3ad specification. If any port in the bundle fails, traffic shifts to the remaining working ports, ensuring uninterrupted connectivity. APs and wireless clients can continue to send and receive data.

LACP configuration options for LAG

To configure LAG using LACP, create multiple port-channel interfaces. Then, add each interface to the corresponding port bundle. Configure LACP on the uplink switch. This configuration allows the LACP bundle to become active.

Steps to configure LAG using LACP:

  • Create a port-channel interface

  • Add interface to the port-channel

  • Add VLAN to LAG

  • Add interface to the port-channel

Port aggregation protocol

A port aggregation protocol is a Cisco-proprietary network protocol that facilitates the automatic combination of EtherChannels by exchanging PAgP packets between Ethernet ports. PAgP packets are sent between Fast EtherChannel-capable ports in order to form a channel.

When any of the active ports fail, a standby port becomes active. By using PAgP, the controller learns the identity of partners that support PAgP and the capabilities of each port.

PAgP then dynamically groups similarly configured ports (on a single device in a stack) into a single logical link (channel or aggregate port). Similarly configured ports are grouped based on hardware, administrative, and port parameter constraints.

PAgP LAG configuration attributes

To configure LAG using PAgP, create multiple port-channel interfaces and add them to the corresponding port bundle. Configure PAgP on the uplink switch so that the PAgP bundle can become active.

Follow these steps to configure LAG using PAgP:

  • Create a port-channel interface

  • Add interface to the port-channel

Port channel interface number

A port channel interface number is a configuration identifier that uniquely distinguishes a port channel logical interface. It defines allowable ranges and limits depending on the controller model.

From Cisco IOS XE Bengaluru 17.5.1 onwards, port channel interface numbers from one to 64 are supported, with model-dependent limits on the following Cisco Catalyst 9800 Series Wireless Controllers:

  • Cisco Catalyst 9800-CL Wireless Controller for Cloud: The available range on the CLI is one to 64. The maximum supported port channel interfaces are 64.

  • Cisco Catalyst 9800-L Wireless Controller: The available range on the CLI is one to 64. The maximum supported port channel interfaces are 14.

  • Cisco Catalyst 9800-40 Wireless Controller: The available range on the CLI is one to 64. The maximum supported port channel interfaces are 16.

  • Cisco Catalyst 9800-80 Wireless Controller: The available range on the CLI is one to 64. The maximum supported port channel interfaces are 64.

For example on the Cisco Catalyst 9800-L Wireless Controller, port-channel interface numbers can be anywhere between one and 64, provided that no more than 14 port-channel interfaces are configured.

If 16 port-channel interfaces have been configured on the Cisco Catalyst 9800-40 Wireless Controller, and the system has reached its limit, an error message appears when you attempt to configure a 17th port-channel interface:
Device(config)#
                Dec 15 08:58:22.209 CST: %ETC-5-CANNOT_ALLOCATE_AGGREGATOR: Aggregator limit reached, cannot allocate aggregator for group 17
            
When you downgrade from Cisco IOS XE Bengaluru 17.5.1 to an earlier version, if port channels are configured beyond the supported range of the earlier version, errors appear upon startup. The unsupported port channels disappear after the downgrade is complete.
interface Port-channel29
                ^% Invalid input detected at '^' marker.
                interface Port-channel35
                ^% Invalid input detected at '^' marker.

Note that the HA pairing remains intact after downgrade.

Flow control

A flow control mechanism is a network protocol feature that:

  • Enables connected Ethernet ports to control traffic rates during congestion by allowing congested nodes to pause link operation at the other end.

  • Uses pause frames for signaling congestion and allows congested nodes to pause traffic from other nodes to prevent packet loss.

Flow control is enabled by default for both bay0 and bay1 ports as a first-day behavior. If you see overruns on a Cisco Catalyst 9800-L Wireless Controller due to burst traffic, enable flow control on the uplink switch. This change helps the uplink switch honor the flow control settings enabled on the controller.

Although the show command might indicate that flow control is off or unsupported in the controller’s CLI, the actual default behavior is that flow control is enabled. For more information, check https://bst.cloudapps.cisco.com/bugsearch/bug/CSCwk52366.

LAG configuration in ON mode

To configure LAG in ON mode, create multiple port-channel interfaces and add them to the corresponding port bundle. Configure LACP on the uplink switch so that the LACP bundle becomes active.

Multichassis link aggregation group

A multichassis link aggregation group (multi-LAG) is a switch interconnection technology that:

  • Connects multiple controller uplinks to separate uplink switches for redundancy and load balancing.

  • Supports VLAN-based traffic splitting when connected to a multiswitch topology.

  • Provides the ability to distribute traffic on different uplinks, based on VLANs. For example, guest traffic can be completely isolated to a different switch or network from the enterprise network. You cannot configure the same VLAN on both uplinks.

Starting with Cisco IOS XE Amsterdam 17.2.1, the multichassis link aggregation group (multi-LAG) feature, which provides flexibility in connecting the controller to a switch's infrastructure, is supported.

You can connect a LAG to a single switch. However, different VLANs is connected to different LAGs. The redundancy port is connected to the same distribution switch as the uplinks or directly connected in a back-to-back configuration.

Multi-LAG is supported in LAG ON mode, LACP, and PAgP modes.

Prerequisites for Multi-LAG

To ensure optimal performance and avoid configuration conflicts:

  • Connect each LAG to a single switch.

  • Assign different VLANs to different LAGs.

Restrictions for Multi-LAG

  • Automatic failover from the primary LAG to the secondary LAG is not supported if the primary LAG fails.

  • The interface on the controller does not come up when you shut or unshut the associated switch port.


    Note


    This restrictions is specific to Cisco Catalyst 9800-CL Cloud Wireless Controllers deployed in KVM environments using SR-IOV.


Supported topologies

Supported topologies are network deployment configurations. They define how Cisco Catalyst 9800 series controllers connect with the network through their available ports and set limitations regarding mixing port types and minimum group sizes for link aggregation.

The Cisco Catalyst 9800-80 Wireless Controller has eight ports, while the Cisco Catalyst 9800-40 and Cisco Catalyst 9800-L wireless controllers have four ports each. Multi-LAGs can only include ports with matching capabilities, such as 2.5 G with 2.5 G, or 10 G with 10 G ports. You cannot include both a 2.5 G port and a 10 G port in a port channel group. Each group must have a minimum of two ports in one LAG.

Figure 1. Single Controller with Multi-LAG
Figure 2. SSO Pair with Multi-LAG

Configure a port channel interface (GUI)

Add and configure a logical port channel interface using the device GUI.

Procedure


Step 1

Choose Configuration > Interface > Logical.

Step 2

Click the Port Channel tab to configure the Port Channel interface.

The Port Channel tab lists all the logical port-channel interfaces on the device.

Step 3

Click Add to create a new logical port channel interface.

The Add Port Channel Interface window is displayed.

Step 4

In the Add Port Channel Interface window, complete the following procedure:

  1. In the Port Channel Number field, enter the port channel number. The valid values are between one to 64.

  2. In the Description field, enter the port channel description.

  3. Click the Admin Status toggle button to set the admin status as UP or DOWN.

  4. Click the Enable Layer 3 Address toggle button to enable the Layer 3 address.

  5. In the Port Members section, select the port members from the Available list box and add them to the Associated list.

  6. Choose a switch mode for the interface from the Switchport Mode drop-down list.

    • If you select access as the switch mode, enter the access VLAN ID in the Access VLAN field.

    • If you select trunk as the switch mode, enter the VLAN IDs that you want to assign as trunk links. To allow all VLAN IDs as trunk links, set Allowed VLANs to All. Specify a native VLAN.

    • If you choose dynamic auto or dynamic desirable as the switch mode, enter the access VLAN ID. Enter the VLAN IDs you want to assign as trunk links. To allow all VLAN IDs as trunk links, set the Allowed VLANs to All. Specify a native VLAN.

  7. Click Update & Apply to Device.


Create a port-channel interface (CLI)

Configure a port-channel interface to aggregate multiple network interfaces for increased bandwidth or redundancy.

Procedure


Step 1

Enter the global configuration mode.

Example:

Device# configure terminal

Step 2

Configure the port channel and enter interface configuration mode.

Example:

Device(config)# interface port-channel port-channel 2

The valid values for the port channel number ranges from one to 64.

Step 3

Configure the port as trunk.

Example:

Device(config-if)# switchport mode trunk

Step 4

Enable the interface.

Example:

Device(config-if)# no shutdown

Configure LAG in ON mode (CLI)

Group multiple physical interfaces for increased bandwidth and redundancy using LAG in ON mode.

Procedure


Step 1

Enter the global configuration mode.

Example:

Device# configure terminal

Step 2

Configure the port.

Example:

Device(config)# interface TenGigabitEthernet port-slot 0/0/0

Step 3

Configure the port as trunk.

Example:

Device(config-if)# switchport mode trunk

Step 4

Disable the interface.

Example:

Device(config-if)# no shutdown

Step 5

Assign the port to a channel group, and specify the ON mode.

Example:

Device(config-if)# channel-group group-number 3 mode on

The valid values for the port channel number ranges from 1 to 64.

Step 6

Assign the allowed VLAN ID to the port when it is in trunking mode.

Example:

Device(config-if)# switchport trunk allowed vlan vlan-id 16,17

Add an interface to a port channel (LACP) (CLI)

Assign an Ethernet interface to a port channel using LACP mode to aggregate bandwidth and provide redundancy.

Procedure


Step 1

Enter the global configuration mode.

Example:

Device# configure terminal

Step 2

Configure the port.

Example:

Device(config)# interface TenGigabitEthernet port-slot 0/0/0

Step 3

Assign the port to a channel group, and specify the LACP mode.

Example:

Device(config-if)# channel-group group-number 1 mode {active | passive}

The valid values for the port channel number ranges from 1 to 64.

Step 4

Configure the port as trunk.

Example:

Device(config-if)# switchport mode trunk

Add an interface to a port channel (PAgP) (CLI)

Add and configure an interface as a member of a port channel using PAgP.

Procedure


Step 1

Enter the global configuration mode.

Example:

Device# configure terminal

Step 2

Configure the TenGigabit Ethernet interface.

Example:

Device(config)# interface TenGigabitEthernet port-slot 0/0/0

Step 3

Assign the port to a channel group, and specify the PAgP mode.

Example:

Device(config-if)# channel-group group-number 1 mode {auto | desirable}

The valid values for the port channel number ranges from one to 64.

Step 4

Configure the port as trunk.

Example:

Device(config-if)# switchport mode trunk

Add a VLAN to a port channel (CLI)

Add one or more VLANs to the list of allowed VLANs on a port channel.

Procedure


Step 1

Enter the global configuration mode.

Example:

Device# configure terminal

Step 2

Configure the port channel.

Example:

Device(config)# interface port-channel port-channel 1

The valid values for the port channel number range from one to 64.

Step 3

Add VLANs to the list of allowed VLANs.

Example:

Device(config-if)# switchport trunk allowed vlan vlan-id 10,30,50

Remove a port channel group from a physical interface (CLI)

Remove a port channel group binding from a specified physical interface to release it from port channel configuration.

Procedure


Step 1

Enter the global configuration mode.

Example:

Device# configure terminal

Step 2

Enter the TenGigabit Ethernet interface.

Example:

Device(config)# interface TenGigabitEthernet port-slot 0/0/0

Step 3

Remove the port channel group from the physical port.

Example:

Device(config-if)# no channel-group

Step 4

Exit the interface configuration mode.

Example:

Device(config-if)# end

Verify the LAG configuration

To view a port channel's state, use the following command:

Device# 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
                                A - formed by Auto LAG
                                Number of channel-groups in use: 1
                                Number of aggregators:           1
                                Group  Port-channel  Protocol    Ports
                                ------+-------------+-----------+-----------------------------------------------
                                3      Po3(SU)         LACP        Tw0/0/0(P)      Tw0/0/1(P)      
                                4      Po4(SU)         LACP        Tw0/0/2(P)      Tw0/0/3(P)  
                                
                        

To verify an LACP or PAgP configuration, use the following commands:

Device# show running-config interface tenGigabitEthernet 0/0/0
                                
                                Building configuration...
                                
                                Current configuration : 114 bytes
                                !
                                interface TwoGigabitEthernet0/0/0
                                switchport trunk allowed vlan 16,17
                                switchport mode trunk
                                speed 1000
                                no negotiation auto
                                no snmp trap link-status
                                channel-group 3 mode on
                                
                        
Device# show running-config interface port-channel 1
                                
                                Building configuration...
                                
                                Current configuration : 54 bytes
                                !
                                interface Port-channel1
                                switchport mode trunk
                                switchport trunk allowed vlan 10,30,50
                                end