Published On: September 20ᵗʰ, 2021 18:11

Layer 2 Configuration Guide, Cisco IOS XE Amsterdam 17.3.x (Catalyst 9500 Switches)

Contents

Restrictions for FlexLink+

  • FlexLink+ is supported only on Layer 2 trunk ports and port channels and is not supported on interfaces configured on Layer 3 ports and on VLANs.


    Note

    FlexLink+ is not supported on port channels configured with access mode.


Information about FlexLink+

The following sections provide information about FlexLink+

FlexLink+

The FlexLink+ feature enables the user to configure a pair of a Layer 2 interfaces (trunk ports or port channels) where one interface is configured to act as a backup to the other. FlexLink+ provides an alternative solution to the Spanning Tree Protocol (STP) when you require simple link redundancy between two network nodes. STP is a complete solution that provides link redundancy and prevents loops in the network. If you need fast link redudancy between two nodes in the network, it is simpler and quicker to use FlexLink+. Flexlinks are typically configured in service provider or enterprise networks where customers do not want to run STP on the device. If the device is running STP, Flexlinks are not necessary because STP already provides link-level redundancy or backup.

In FlexLink+, when one of the links is up and forwarding traffic, the other link is in standby mode, ready to begin forwarding traffic if the active link shuts down. If the primary link shuts down, the standby link starts forwarding traffic. When the active link comes back up, it goes into standby mode and does not forward traffic. When FlexLink+ is configured on a switch stack each of the two L2 interfaces in the pair can be on the same device or on different devices.

FlexLink+ Configuration

In the following figure, ports 1 and 2 on switch A are connected to uplink switches B and C. Because they are configured with FlexLink+, only one of the interfaces is forwarding traffic; the other is in standby mode. If port 1 is the active link, it begins forwarding traffic between port 1 and switch B; the link between port 2 (the backup link) and switch C is not forwarding traffic. If port 1 goes down, port 2 comes up and starts forwarding traffic to switch C. When port 1 comes back up, it goes into standby mode and does not forward traffic; port 2 continues forwarding traffic.

Figure 1. FlexLink+ Topology

If STP is configured on the uplink switch interfaces that connect to the FlexLink+ ports (Switch B and Switch C in this case), we recommend running the spanning-tree portfast trunk command on such uplink switch interfaces, for faster convergence.

Flexlink+ includes an optimization for improved multicast traffic convergence. The optimization uses Layer 2 multicast snooping mechanisms and requires that the uplink switches connected to the Flexlink+ configured ports have the same Layer 2 multicast snooping feature enabled.


Note

For IPv4 multicast IGMP snooping is on by default. If IGMP snooping needs to be disabled on the uplink switches it must also be disabled on the Flexlink+ host switch. Otherwise IGMP reports may be looped around the active and standby Flexlink+ ports leading to excessively high CPU utilization.


VLAN Load Balancing and FlexLink+

VLAN load-balancing allows you to configure a FlexLink+ pair so that both ports simultaneously forward the traffic for some mutually exclusive VLANs. For example, if FlexLink+ ports are configured for 1-100 VLANs, the traffic of the first 50 VLANs is forwarded on one port and the rest on the other port. If one of the ports fails, the other active port forwards all the traffic. When the failed port comes back up, it resumes forwarding traffic in the preferred VLANs. This way, apart from providing redundancy, this FlexLink+ pair is used for load balancing. FlexLink+ VLAN load-balancing doesn’t impose any restrictions on uplink switches.

Figure 2. VLAN Load Balancing in FlexLink+ Topology

When you configure VLAN load balancing,you must also configure triggers in one of two ways:

  • Manually trigger VLAN load balancing at any time by entering the rep preempt segment privileged EXEC command on the switch that has the primary edge port.

  • Configure a preempt delay time by entering the rep preempt delay interface configuration command. After a link failure and recovery, VLAN load balancing begins after the configured preemption time period elapses. The delay timer restarts if another port fails before the time has elapsed.


Note

When VLAN load balancing is configured, it does not start working until triggered by either manual intervention or a link failure and recovery.


When VLAN load balancing is triggered, the primary edge port sends out a message to alert all interfaces in the segment about the preemption. When the secondary port receives the message, it is reflected into the network to notify the alternate port to block the set of VLANs specified in the message and to notify the primary edge port to block the remaining VLANs.

You can also configure a particular port in the segment to block all VLANs. Only the primary edge port initiates VLAN load balancing, which is not possible if the segment is not terminated by an edge port on each end. The primary edge port determines the local VLAN load balancing configuration.

Reconfigure the primary edge port to reconfigure load balancing. When you change the load balancing configuration, the primary edge port again waits for the rep preempt segment command or for the configured preempt delay period after a port failure and recovery before executing the new configuration. If you change an edge port to a regular segment port, the existing VLAN load balancing status does not change. Configuring a new edge port might cause a new topology configuration.

When VLAN load balancing is enabled, the default is manual preemption with the delay timer disabled. If VLAN load balancing is not configured, the default after manual preemption is to block all VLANs at the primary edge port.

When a primary link fails, FlexLink+ transmits dummy multicast packets over the new active interface. The dummy multicast packet format is:

- Destination: 01:00:0c:cd:cd:cd

- Source: MAC address of the hosts or ports on the newly active Flex Link port.

Figure 3. Transmission of Dummy Multicast Packets in FlexLink+ Topology

In the above figure, Ports 1 and 2 on switch A are connected to switches B and D through a Flex Link pair. Port 1 is forwarding traffic, and port 2 is in the blocking state. Traffic from the PC to the server is forwarded from port 1 to port 3. The MAC address of the PC has been learned on port 3 of switch C. Traffic from the server to the PC is forwarded from port 3 to port 1.

If port 1 shuts down, port 2 starts forwarding traffic. If there is no traffic from the PC to the server after failover to port 2, switch C does not learn the MAC address of the PC on port 4, and because of that, switch C keeps forwarding traffic from the server to the PC out of port 3. There is traffic loss from the server to the PC because port 1 is down. To alleviate this problem, the feature sends out a dummy multicast packet with the source MAC address of the PC over port 2. Switch C learns the PC MAC address on port 4 and start forwarding traffic from the server to the PC out of port 4. One dummy multicast packet is sent out for every MAC address.


Note

• Local administrative shut down or a link that starts forwarding again due to preemption is not considered a link failure. In those cases, the feature flushes the dynamic hosts and and does not move them.

• Static MAC addresses configured on a Flex Link port are restored when it starts forwarding again.


How to configure Flexlink+

The following sections provide information on how to configure Flexlink+.

Configuring the active port for FlexLink+

Procedure

  Command or Action Purpose
Step 1

enable

Example:


Device> enable

Enables privileged EXEC mode. Enter your password if prompted.

Step 2

configure terminal

Example:


Device# configure terminal

Enters global configuration mode.

Step 3

interface interface-id

Example:

Device# interface Port-channel2

Specifies the interface, and enters interface configuration mode.

Step 4

switchport trunk allowed vlan vlan-list

Example:

Device(config-if)# switchport trunk allowed vlan 20-23,40,41

Configures the allowed VLANs for an interface.

Step 5

switchport mode trunk

Example:

Device(config-if)# switchport mode trunk

Configures the interface as a Layer 2 trunk.

Step 6

rep segment segment-id edge no-neighbor primary

Example:

Device(config-if)# rep segment 1023 edge no-neighbor primary

Specifies that the port is the primary edge port where you can configure the active port of FlexLink+. A segment has only one primary edge port.

Configuring the standby port for FlexLink+

Procedure

  Command or Action Purpose
Step 1

enable

Example:


Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Device# configure terminal

Enters global configuration mode.

Step 3

interface interface-id

Example:

Device# interface Port-channel7

Specifies the interface, and enters interface configuration mode.

Step 4

switchport trunk allowed vlan vlan-list

Example:

Device(config-if)# switchport trunk allowed vlan 20-23,40,41

Configures the allowed VLANs for an interface.

Step 5

switchport mode trunk

Example:

Device(config-if)# switchport mode trunk

Configures the interface as a Layer 2 trunk.

Step 6

rep segment segment-id edge no-neighbor preferred

Example:

Device(config-if)# rep segment 1023 edge no-neighbor preferred.

Specifies the segment edge as one with no external REP neighbor. Specifies that the port is the standby port for FlexLink+.

Note 

Use the preferred keyword to ensure that the standby port becomes the blocking port.

Configuring VLAN Load Balancing on FlexLink+

To configure VLAN load balancing perform this procedure:

Procedure

  Command or Action Purpose
Step 1

enable

Example:


Device> enable

Enables privileged EXEC mode. Enter your password if prompted.

Step 2

configure terminal

Example:


Device# configure terminal


Enters global configuration mode.

Step 3

interface interface-id

Example:


Device(config)# interface gigabitethernet2/0/8


Specifies the interface, and enters interface configuration mode. The interface can be a physical Layer 2 interface or a port channel (logical interface).

Step 4

switchport mode trunk

Example:

Device(config-if)# switchport mode trunk

Configures the interface as a Layer 2 trunk.

Step 5

rep segment segment-id edge no-neighbor primary

Example:


Device(config-if)# rep segment 300 edge no-neighbor primary


Specifies that the port is the primary edge port.

Step 6

rep block port port-number vlan vlan-range

Example:


Device(config-if)# rep block port 2 vlan 1-50


Forwarding traffic for VLANs 1-50 is blocked on the standby port. Forwarding of traffic for VLANs 51-100 is blocked on the active port.

Step 7

exit

Example:

Device(config-if) exit

Exits the Interface configuration mode.

Step 8

interface interface-id

Example:


Device(config)# interface gigabitethernet2/0/6


Specifies the interface, and enters interface configuration mode. The interface can be a physical Layer 2 interface or a port channel (logical interface).

Step 9

switchport mode trunk

Example:

Device(config-if)# switchport mode trunk

Configures the interface as a Layer 2 trunk.

Step 10

rep segment segment-id edge no-neighbor

Example:

Device(config-if)# rep segment 300 edge no-neighbor

Specifies the segment edge as one with no external REP neighbor. Specifies that the port is the standby port for Flexlink+.

Step 11

end

Example:

Device(config-if)# end

Exits to privileged EXEC mode.

Configuring Propagation of FlexLink+ Topology Change Messages

When the FlexLink+ protocol is deployed as part of a larger domain, you can configure the propagation of FlexLink+ topology change messages to the next tier devices. To configure the propagation of FlexLink+ topology change messages, perform this procedure.

Procedure

  Command or Action Purpose
Step 1

enable

Example:


Device> enable

Enables privileged EXEC mode. Enter your password if prompted.

Step 2

configure terminal

Example:


Device# configure terminal


Enters global configuration mode.

Step 3

interface interface-id

Example:


Device(config)# interface gigabitethernet2/0/8


Specifies the interface, and enters interface configuration mode. The interface can be a physical Layer 2 interface or a port channel (logical interface).

Step 4

switchport mode trunk

Example:

Device(config-if)# switchport mode trunk

Configures the interface as a Layer 2 trunk.

Step 5

rep segment segment-id edge no-neighbor primary

Example:


Device(config-if)# rep segment 300 edge no-neighbor primary


Specifies the port as the primary edge port.

Step 6

rep stcn stp

Example:

Device(config-if)# rep stcn stp

Propagates FlexLink+ topology change messages to the next tier devices.

Step 7

rep block port port-number vlan vlan-range

Example:


Device(config-if)# rep block port 2 vlan 1-50


Forwarding traffic for VLANs 1-50 is blocked on the standby port. Forwarding of traffic for VLANs 51-100 is blocked on the active port.

Step 8

exit

Example:

Device(config-if) exit

Exits the Interface configuration mode.

Step 9

switchport mode trunk

Example:

Device(config-if)# switchport mode trunk

Configures the interface as a Layer 2 trunk.

Step 10

interface interface-id

Example:


Device(config)# interface gigabitethernet2/0/6


Specifies the interface, and enters interface configuration mode. The interface can be a physical Layer 2 interface or a port channel (logical interface).

Step 11

rep segment segment-id edge no-neighbor

Example:

Device(config-if)# rep segment 300 edge no-neighbor

Specifies the segment edge as one with no external REP neighbor. Specifies that the port is the standby port for FlexLink+.

Step 12

rep stcn stp

Example:

Device(config-if)# rep stcn stp

Propagates FlexLink+ topology change messages to the next tier devices.

Step 13

end

Example:

Device(config-if)# end

Exits to privileged EXEC mode.

Configuration Examples for FlexLink+

The following sections provide examples for configuring FlexLink+.

Example: Configuring the active port for FlexLink+

This example shows how to configure the active port for FlexLink+.

Device# interface Port-channel2
 Device(config-if)# switchport trunk allowed vlan 20-23,40,41
 Device(config-if)# switchport mode trunk
 Device(config-f)# rep segment 1023 edge no-neighbor primary

Example: Configuring the standby port for FlexLink+

This example shows how to configure the standby port for FlexLink+.

Device# interface Port-channel7
 Device(config-if)# switchport trunk allowed vlan 20-23,40,41
 Device(config-if)# switchport mode trunk
 Device(config-f)# rep segment 1023 edge no-neighbor preferred

Example: Configuring VLAN Load Balancing for FlexLink+

The following example shows VLAN load balancing configured on a FlexLink+ interface. VLANs 1-50 are blocked on the active port and VLANs 51-100 are blocked on the standby port.

Device(config)# interface gigabitethernet2/0/8
 Device(config-if)# switchport mode trunk
 Device(confg-if)# rep segment 300 edge no-neighbor primary
 Device(config-if)# rep block port 2 vlan 1-50
 Device(confif-if)# exit
 Device(config)# interface gigabitethernet2/0/6
 Device(config-if)# switchport mode trunk
 Device(config-if)# rep segment 300 edge no-neighbor
 Device(config-if)# end

Example: Configuring Propogation of FlexLink+ Topology Change Messages

The following example shows how to configure the propogation of FlexLink+ topology change messages to the next tier devices.

Device(config)# interface gigabitethernet2/0/8
 Device(config-if)# switchport mode trunk
 Device(confg-if)# rep segment 300 edge no-neighbor primary
Device(config-if)# rep stcn stp
 Device(config-if)# rep block port 2 vlan 1-50
 Device(confif-if)# exit
 Device(config)# interface gigabitethernet2/0/6
 Device(config-if)# switchport mode trunk
 Device(config-if)# rep segment 300 edge no-neighbor
Device(config-if)# rep stcn stp
 Device(config-if)# end

Feature History for FlexLink+

This table provides release and related information for features explained in this module.

These features are available on all releases subsequent to the one they were introduced in, unless noted otherwise.

Release

Feature

Feature Information

Cisco IOS XE Gibraltar 16.12.1

FlexLink+

The FlexLink+ feature enables the user to configure a pair of a Layer 2 interfaces (trunk ports or port channels) where one interface is configured to act as a backup to the other interface.

Support for this feature was introduced only on the C9500-12Q, C9500-16X, C9500-24Q, C9500-40X models of the Cisco Catalyst 9500 Series Switches.

Cisco IOS XE Amsterdam 17.2.1

VLAN Load Balancing for FlexLink+

Preemption for VLAN Load Balancing

FlexLink+ Dummy Multicast Packets

VLAN load balancing feature was introduced on FlexLink+. VLAN load-balancing allows you to configure a FlexLink+ pair so that both ports can simultaneously forward the traffic for some mutually exclusive VLANs.

You can trigger VLAN load balancing either by manually triggering it or by configuring a preempt delay.

When a primary link fails, FlexLink+ transmits dummy multicast packets over the new active interface. These packets help learn the source MAC address.

Support for this feature was introduced only on the C9500-12Q, C9500-16X, C9500-24Q, C9500-40X models of the Cisco Catalyst 9500 Series Switches.

Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn.