Configuring Resilient Ethernet Protocol

This chapter describes how to use Resilient Ethernet Protocol (REP) on the Catalyst 4500 series switch. REP is a Cisco proprietary protocol that provides an alternative to Spanning Tree Protocol (STP) to control network loops, handle link failures, and improve convergence time. REP controls a group of ports connected in a segment, ensures that the segment does not create any bridging loops, and responds to link failures within the segment. REP provides a basis for constructing more complex networks and supports VLAN load balancing.

This chapter includes these sections:

note.gif

Noteblank.gif For complete syntax and usage information for the switch commands used in this chapter, see the Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:

http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html

If a command is not in the Catalyst 4500 Series Switch Command Reference, you can locate it in the Cisco IOS library. See the Cisco IOS Command Reference and related publications at this location:

http://www.cisco.com/en/US/products/ps6350/index.html


About REP

One REP segment is a chain of ports connected to each other and configured with a segment ID. Each segment consists of standard (non-edge) segment ports and two user-configured edge ports. A switch can have no more than two ports that belong to the same segment, and each segment port can have only one external neighbor. A segment can go through a shared medium, but on any link only two ports can belong to the same segment. REP is supported only on Layer 2 trunk and PVLAN promiscuous trunk interfaces.

Figure 24-1 shows an example of a segment consisting of six ports spread across four switches. Ports E1 and E2 are configured as edge ports. When all ports are operational (as in the segment on the left), a single port is blocked, shown by the diagonal line. When there is a failure in the network, as shown in the diagram on the right, the blocked port returns to the forwarding state to minimize network disruption.

Figure 24-1 REP Open Segments

 

201888.eps

The segment shown in Figure 24-1 is an open segment; there is no connectivity between the two edge ports. The REP segment cannot cause a bridging loop and it is safe to connect the segment edges to any network. All hosts connected to switches inside the segment have two possible connections to the rest of the network through the edge ports, but only one connection is accessible at any time. If a failure causes a host to be unable to access its usual gateway, REP unblocks all ports to ensure that connectivity is available through the other gateway.

The segment shown in Figure 24-2, with both edge ports located on the same switch, is a ring segment. In this configuration, there is connectivity between the edge ports through the segment. With this configuration, you can create a redundant connection between any two switches in the segment.

Figure 24-2 REP Ring Segment

 

201889.eps

REP segments have these characteristics:

  • If all ports in the segment are operational, one port (referred to as the alternate port) is in the blocked state for each VLAN. If VLAN load balancing is configured, two ports in the segment control the blocked state of VLANs.
  • If one or more ports in a segment is not operational, causing a link failure, all ports forward traffic on all VLANs to ensure connectivity.
  • In case of a link failure, the alternate ports are unblocked as quickly as possible. When the failed link comes back up, a logically blocked port per-VLAN is selected with minimal disruption to the network.

You can construct almost any type of network based on REP segments. REP also supports VLAN load balancing, controlled by the primary edge port but occurring at any port in the segment.

In access ring topologies, the neighboring switch might not support REP, as shown in Figure 24-3. Starting with Cisco IOS Release 15.0(2)SG, you can configure the non-REP facing ports (E1 and E2) as edge no-neighbor ports. These ports inherit all properties of edge ports, and you can configure them the same as any edge port, including configuring them to send STP or REP topology change notices to the aggregation switch. In this case the STP topology change notice (TCN) that is sent is a multiple spanning-tree (MST) STP message.

Figure 24-3 Edge No-Neighbor Ports

 

273792.eps

REP has these limitations:

  • You must configure each segment port; an incorrect configuration can cause forwarding loops in the networks.
  • REP can manage only a single failed port within the segment; multiple port failures within the REP segment cause loss of network connectivity.
  • You should configure REP only in networks with redundancy. Configuring REP in a network without redundancy causes loss of connectivity.

To use REP effectively, you should understand the following topics:

Link Integrity

REP does not use an end-to-end polling mechanism between edge ports to verify link integrity. It implements local link failure detection. When enabled on an interface, the REP Link Status Layer (LSL) detects its REP-aware neighbor and establishes connectivity within the segment. All VLANs are blocked on an interface until it detects the neighbor. After the neighbor is identified, REP determines which neighbor port should become the alternate port and which ports should forward traffic.

Each port in a segment has a unique port ID. The port ID format is similar to that used by the spanning tree algorithm: a port number (unique on the bridge), associated to a MAC address (unique in the network). When a segment port is coming up, its LSL starts sending packets that include the segment ID and the port ID. The port is declared as operational after it performs a three-way handshake with a neighbor in the same segment. A segment port does not become operational if these situations occur:

  • No neighbor has the same segment ID.
  • More than one neighbor has the same segment ID.
  • The neighbor does not acknowledge the local port as a peer.

Each port creates an adjacency with its immediate neighbor. Once the neighbor adjacencies are created, the ports negotiate to determine one blocked port for the segment, the alternate port. All other ports become unblocked. By default, REP packets are sent to a BPDU class MAC address. The packets can also be sent to the Cisco multicast address, which at present is used only to send blocked port advertisement (BPA) messages when there is a failure in the segment. The packets are dropped by devices not running REP.

Fast Convergence

Because REP runs on a physical link basis and not a per-VLAN basis, only one hello message is required for all VLANs, reducing the load on the protocol. We recommend that you create VLANs consistently on all switches in a given segment and configure the same allowed VLANs on the REP trunk and PVLAN promiscuous trunk ports. To avoid the delay introduced by relaying messages in software, REP also allows some packets to be flooded to a regular multicast address. These messages operate at the hardware flood layer (HFL) and are flooded to the whole network, not just the REP segment. Switches that do not belong to the segment treat them as data traffic. You can control flooding of these messages by configuring a dedicated administrative VLAN for the whole domain.

The estimated convergence recovery time is less than 200 milliseconds for the local segment.

VLAN Load Balancing

One edge port in the REP segment acts as the primary edge port; the other as the secondary edge port. It is the primary edge port that always participates in VLAN load balancing in the segment. REP VLAN balancing is achieved by blocking some VLANs at a configured alternate port and all other VLANs at the primary edge port. When you configure VLAN load balancing, you can specify the alternate port in one of three ways:

  • By entering the port ID of the interface.

To identify the port ID of a port in the segment, enter the show interface rep detail interface configuration command for the port.

  • By entering the neighbor offset number of a port in the segment, which identifies the downstream neighbor port of an edge port.

The neighbor offset number range is –256 to +256; a value of 0 is invalid. The primary edge port has an offset number of 1; positive numbers above 1 identify downstream neighbors of the primary edge port. Negative numbers indicate the secondary edge port (offset number -1) and its downstream neighbors.

note.gif

Noteblank.gif You configure offset numbers on the primary edge port by identifying a port’s downstream position from the primary (or secondary) edge port. You never enter an offset value of 1 because that is the offset number of the primary edge port itself.


Figure 24-4 shows neighbor offset numbers for a segment where E1 is the primary edge port and E2 is the secondary edge port. The red numbers inside the ring are numbers offset from the primary edge port; the black numbers outside of the ring show the offset numbers from the secondary edge port. Note that you can identify all ports (except the primary edge port) by either a positive offset number (downstream position from the primary edge port) or a negative offset number (downstream position from the secondary edge port). If E2 became the primary edge port, its offset number is then 1 and E1 is then -1.

  • By entering the preferred keyword to select the port that you previously configured as the preferred alternate port with the rep segment preferred interface configuration command.

Figure 24-4 Neighbor Offset Numbers in a Segment

 

201890.eps

When the REP segment is complete, all VLANs are blocked. When you configure VLAN load balancing, it is triggered in one of two ways:

  • You can manually trigger VLAN load balancing at any time by entering the rep preempt segment segment-id privileged EXEC command on the switch that has the primary edge port.
  • You can configure a preempt delay time by entering the rep preempt delay seconds interface configuration command. After a link failure and recovery, VLAN load balancing begins after the configured preemption time period elapses. Note that the delay timer restarts if another port fails before the time has elapsed.
note.gif

Noteblank.gif 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 then sends out a message to alert all interfaces in the segment about the preemption. When the message is received by the secondary edge port, 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. VLAN load balancing is initiated only by the primary edge port and 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.

To reconfigure load balancing, you reconfigure the primary edge port. 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.

Spanning Tree Interaction

REP does not interact with STP, but can coexist with it. A port that belongs to a segment is removed from spanning tree control and STP BPDUs are not accepted or sent from segment ports. STP can not run on a segment.

To migrate from an STP ring configuration to REP segment configuration, begin by configuring a single port in the ring as part of the segment and continue by configuring contiguous ports to minimize the number of segments. Each segment always contains a blocked port, so multiple segments means multiple blocked ports and a potential loss of connectivity. When the segment has been configured in both directions up to the location of the edge ports, you then configure the edge ports.

REP Ports

Ports in REP segments take one of three roles or states: Failed, Open, or Alternate.

  • A port configured as a regular segment port starts as a failed port.
  • Once the neighbor adjacencies are determined, the port transitions to alternate port state, blocking all VLANs on the interface. Blocked port negotiations occur and when the segment settles, one blocked port remains in the alternate role and all other ports become open ports.
  • When a failure occurs in a link, all ports move to the failed state. When the alternate port receives the failure notification, it changes to the open state, forwarding all VLANs.

A regular segment port converted to an edge port, or an edge port converted to a regular segment port, does not always result in a topology change. If you convert an edge port into a regular segment port, VLAN load balancing is not implemented unless it has been configured. For VLAN load balancing, you must configure two edge ports in the segment.

A segment port that is reconfigured as a spanning tree port restarts according the spanning tree configuration (by default, a designated blocking port). If PortFast is configured or if STP is disabled, the port goes into the forwarding state.

Configuring REP

A segment is a collection of ports connected one to the other in a chain and configured with a segment ID. To configure REP segments, you should configure the REP administrative VLAN (or use the default VLAN 1) and then add the ports to the segment using interface configuration mode. You should configure two edge ports in the segment, with one of them the primary edge port and the other by default the secondary edge port. A segment has only one primary edge port. If you configure two ports in a segment as the primary edge port, for example ports on different switches, the REP selects one of them to serve as the segment primary edge port. You can also optionally configure where to send segment topology change notices (STCNs) and VLAN load balancing.

This section includes this information:

Default REP Configuration

REP is disabled on all interfaces. When enabled, the interface is a regular segment port unless it is configured as an edge port.

When REP is enabled, the sending of segment topology change notices (STCNs) is disabled, all VLANs are blocked, and the administrative VLAN is VLAN 1.

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.

REP Configuration Guidelines

Follow these guidelines when configuring REP:

  • We recommend that you begin by configuring one port and then configure the contiguous ports to minimize the number of segments and the number of blocked ports.
  • If more than two ports in a segment fail when no external neighbors are configured, one port goes into a forwarding state for the data path to help maintain connectivity during configuration. In the show rep interface privileged EXEC command output, the Port Role for this port shows as Fail Logical Open ; the Port Role for the other failed port shows as Fail No Ext Neighbor. When the external neighbors for the failed ports are configured, the ports go through the alternate port state transitions and eventually go to an open state or remain as the alternate port, based on the alternate port election mechanism.
  • REP ports must be Layer 2 dot1Q trunk or PVLAN promiscuous trunk ports.
  • Be careful when configuring REP through a Telnet connection. Because REP blocks all VLANs until another REP interface sends a message to unblock it, you might lose connectivity to the switch if you enable REP in a Telnet session that accesses the switch through the same interface.
  • You cannot run REP and STP on the same segment or interface.
  • If you connect an STP network to the REP segment, be sure that the connection is at the segment edge. An STP connection that is not at the edge could cause a bridging loop because STP does not run on REP segments. All STP BPDUs are dropped at REP interfaces.
  • You must configure all trunk and PVLAN promiscuous trunk ports in the segment with the same set of allowed VLANs, or a misconfiguration occurs.
  • REP ports follow these rules:

blank.gif If REP is enabled on two ports on a switch, both ports must be either regular segment ports or edge ports.

blank.gif If only one port on a switch is configured in a segment, the port should be an edge port.

blank.gif If two ports on a switch belong to the same segment, both ports must be edge ports or both ports must be regular segment ports.

blank.gif If two ports on a switch belong to the same segment, they must be both edge ports, both regular segment ports, or one regular port and one edge no-neighbor port. An edge port and regular segment port on a switch cannot belong to the same segment.

blank.gif If two ports on a switch belong to the same segment and one is configured as an edge port and one as a regular segment port (a misconfiguration), the edge port is treated as a regular segment port.

  • REP interfaces come up in a blocked state and remains in a blocked state until notified that it is safe to unblock. You need to be aware of this to avoid sudden connection losses.
  • REP sends all LSL PDUs in untagged frames on the native VLAN. The BPA message sent to the Cisco multicast address is sent on the administration VLAN, which is VLAN 1 by default.
  • REP ports can not be configured as one of these port types:

blank.gif SPAN destination port

blank.gif Private VLAN port

blank.gif Tunnel port

blank.gif Access port

  • REP is supported on EtherChannels, but not on an individual port that belongs to an EtherChannel.
  • There is a maximum of 384 REP segments per switch.

Configuring the REP Administrative VLAN

To avoid the delay introduced by relaying messages in software for link-failure or VLAN-blocking notification during load balancing, REP floods packets at the hardware flood layer (HFL) to a regular multicast address. These messages are flooded to the whole network, not just the REP segment. You can control flooding of these messages by configuring an administrative VLAN for the whole domain.

Follow these guidelines when configuring the REP administrative VLAN:

  • If you do not configure an administrative VLAN, the default is VLAN 1.
  • There can be only one administrative VLAN on a switch and on a segment (not enforced by software).
  • The administrative VLAN cannot be the RSPAN VLAN.

To configure the REP administrative VLAN, perform this task:

 

Command
Purpose

Step 1

Switch# configure terminal

Enters global configuration mode.

Step 2

Switch(config)# rep admin vlan vlan-id

Specifies the administrative VLAN. The range is 2 to 4094. The default is VLAN 1. To set the admin VLAN to 1, enter the no rep admin vlan global configuration command.

Step 3

Switch(config)# end

Returns to privileged EXEC mode.

Step 4

Switch# show interface [ interface-id ] rep detail

Verifies the configuration on one of the REP interfaces.

Step 5

Switch# copy running-config startup config

(Optional) Saves your entries in the switch startup configuration file.

This example shows how to configure the administrative VLAN as VLAN 100 and verify the configuration by entering the show interface rep detail command on one of the REP interfaces:

Switch# configure terminal
Switch (config)# rep admin vlan 100
Switch (config)# end
 
Switch# show interface gigabitethernet1/1 rep detail
GigabitEthernet1/1 REP enabled
Segment-id: 2 (Edge)
PortID: 00010019E7144680
Preferred flag: No
Operational Link Status: TWO_WAY
Current Key: 0002001121A2D5800E4D
Port Role: Open
Blocked Vlan: <empty>
Admin-vlan: 100
Preempt Delay Timer: disabled
Load-balancing block port: none
Load-balancing block vlan: none
STCN Propagate to: none
LSL PDU rx: 3322, tx: 1722
HFL PDU rx: 32, tx: 5
BPA TLV rx: 16849, tx: 508
BPA (STCN, LSL) TLV rx: 0, tx: 0
BPA (STCN, HFL) TLV rx: 0, tx: 0
EPA-ELECTION TLV rx: 118, tx: 118
EPA-COMMAND TLV rx: 0, tx: 0
EPA-INFO TLV rx: 4214, tx: 4190

Configuring REP Interfaces

For REP operation, you need to enable it on each segment interface and identify the segment ID. This step is required and must be done before other REP configuration. You must also configure a primary and secondary edge port on each segment. All other steps are optional.

To enable and configure REP on an interface, perform this task:

 

Command
Purpose

Step 1

Switch# configure terminal

Enters global configuration mode.

Step 2

Switch(config)# interface interface-id

Specifies the interface, and enter interface configuration mode. The interface can be a physical Layer 2 interface or a port channel (logical interface). The port-channel range is 1 to 48.

Step 3

Switch(config-if)# switchport mode trunk
or,
switchport mode private-vlan trunk promiscuous

Configures the Layer 2 interface as a Layer 2 trunk port.

Configures the Layer 2 interface as a PVLAN promiscuous trunk port.

For information on command options for PVLAN promiscuous trunk ports, refer to “Configuring a Layer 2 Interface as a Promiscuous PVLAN Trunk Port” section.

Note With REP, only the switchport mode private-vlan trunk promiscuous command is supported; other PVLAN trunk related configurations are not supported.

Step 4

Switch(config-if)# rep segment segment-id [ edge [ no-neighbor ] [ primary ]] [ preferred ]

Enables REP on the interface, and identifies a segment number. The segment ID range is from 1 to 1024. These optional keywords are available.

Note You must configure two edge ports, including one primary edge port for each segment.

  • Enter edge to configure the port as an edge port. Entering edge without the primary keyword configures the port as the secondary edge port. Each segment has only two edge ports.
  • (Optional) Enter no-neighbor to configure a port with no external REP neighbors as an edge port. The port inherits all properties of edge ports. You can configure them as you would any edge port.
  • (Optional) On an edge port, enter primary to configure the port as the primary edge port, the port on which you can configure VLAN load balancing.

Note Although each segment can have only one primary edge port, if you configure edge ports on two different switches and enter the primary keyword on both switches, the configuration is allowed. However, REP selects only one of these ports as the segment primary edge port. You can identify the primary edge port for a segment by entering the show rep topology privileged EXEC command.

  • (Optional) Enter preferred to indicate that the port is the preferred alternate port or the preferred port for VLAN load balancing.

Note Configuring a port as preferred does not guarantee that it becomes the alternate port; this only provides a slight advantage among equal contenders. The alternate port is usually a previously failed port.

Step 5

Switch(config-if)# rep stcn { interface interface-id | segment id-list | stp }

(Optional) Configures the edge port to send segment topology change notices (STCNs).

  • Enter interface interface-id to designate a physical interface or port channel to receive STCNs.
  • Enter segment id-list to identify one or more segments to receive STCNs. The range is 1 to 1024.
  • Enter stp to send STCNs to STP networks.

Step 6

Switch(config-if)# rep block port { id port-id | neighbor_offset | preferred } vlan { vlan-list | all }

(Optional) Configures VLAN load balancing on the primary edge port, identify the REP alternate port in one of three ways, and configure the VLANs to be blocked on the alternate port.

  • Enter the id port-id to identify the alternate port by port ID. The port ID is automatically generated for each port in the segment. You can view interface port IDs by entering the show interface interface-id rep [ detail ] privileged EXEC command.
  • Enter a neighbor_offset number to identify the alternate port as a downstream neighbor from an edge port. The range is from –256 to 256, with negative numbers indicating the downstream neighbor from the secondary edge port. A value of 0 is invalid. Enter -1 to identify the secondary edge port as the alternate port. For an example of neighbor offset numbering, see Figure 24-4.

Note Because you enter this command at the primary edge port (offset number 1), you never enter an offset value of 1 to identify an alternate port.

  • Enter preferred to select the regular segment port previously identified as the preferred alternate port for VLAN load balancing.
  • Enter vlan vlan-list to block one VLAN or a range of VLANs.
  • Enter vlan all to block all VLANs.

Note Enter this command only on the REP primary edge port.

Step 7

Switch(config-if)# rep preempt delay seconds

(Optional) You must enter this command and configure a preempt time delay if you want VLAN load balancing to automatically trigger after a link failure and recovery. The time delay range is 15 to 300 seconds. The default is manual preemption with no time delay.

Note Enter this command only on the REP primary edge port.

Step 8

Switch(config-if)# end

Returns to privileged EXEC mode.

Step 9

Switch# show interface [ interface-id ] rep [ detail ]

Verifies the REP interface configuration.

Step 10

Switch# copy running-config startup config

(Optional) Saves your entries in the switch startup configuration file.

Enter the no form of each command to return to the default configuration. Enter the show rep topology privileged EXEC command to see which port in the segment is the primary edge port.

This example shows how to configure an interface as the primary edge port for segment 1, to send STCNs to segments 2 through 5, and to configure the alternate port as the port with port ID 0009001818D68700 to block all VLANs after a preemption delay of 60 seconds after a segment port failure and recovery.

Switch# configure terminal
Switch(config)# interface gigabitethernet1/1
Switch(config-if)# rep segment 1 edge primary
Switch(config-if)# rep stcn segment 2-5
Switch(config-if)# rep block port 0009001818D68700 vlan all
Switch(config-if)# rep preempt delay 60
Switch(config-if)# end
 

This example shows how to configure the same configuration when the interface has no external REP neighbor:

Switch# configure terminal
Switch (config)# interface gigabitethernet1/1
Switch (config-if)# rep segment 1 edge no-neighbor primary
Switch (config-if)# rep stcn segment 2-5
Switch (config-if)# rep block port 0009001818D68700 vlan all
Switch (config-if)# rep preempt delay 60
Switch (config-if)# rep lsl-age-timer 6000
 

This example shows how to configure the VLAN blocking configuration shown in Figure 24-5. The alternate port is the neighbor with neighbor offset number 4. After manual preemption, VLANs 100 to 200 are blocked at this port and all other VLANs are blocked at the primary edge port E1 (Gigabit Ethernet port 1/1).

Switch# configure terminal
Switch (config)# interface gigabitethernet1/1
Switch (config-if)# rep segment 1 edge primary
Switch (config-if)# rep block port 4 vlan 100-200
Switch (config-if)# end

Figure 24-5 Example of VLAN Blocking

 

201891.eps

Setting Manual Preemption for VLAN Load Balancing

If you do not enter the rep preempt delay seconds interface configuration command on the primary edge port to configure a preemption time delay, the default is to manually trigger VLAN load balancing on the segment. Be sure that all other segment configuration has been completed before manually preempting VLAN load balancing. When you enter the rep preempt segment command, a confirmation message appears before the command is executed because preemption can cause network disruption.

To manually trigger VLAN load balancing on a segment on the switch that has the segment primary edge port, perform this task:

 

Command
Purpose

Step 1

Switch# configure terminal

Enters global configuration mode.

Step 2

Switch(config)# interface interface-id

Specifies the interface, and enter interface configuration mode. The interface can be a physical Layer 2 interface or a port channel (logical interface). The port-channel range is 1 to 48.

Step 3

Switch(config-if)# rep preempt segment segment-id

Manually triggers VLAN load balancing on the segment.

You must confirm the command before it is executed.

Step 4

Switch(config-if)# end

Returns to privileged EXEC mode.

Step 5

Switch# show rep topology
 

Displays REP topology information.

Configuring SNMP Traps for REP

To configure the switch to send REP-specific traps to notify the SNMP server of link operational status changes and port role changes, perform this task:

 

Command
Purpose

Step 1

Switch# configure terminal

Enters global configuration mode.

Step 2

Switch(config)# snmp mib rep trap-rate value

Enables the switch to send REP traps, and set the number of traps sent per second. The range is from 0 to 1000. The default is 0 (no limit imposed; a trap is sent at every occurrence).

Step 3

Switch(config)# end

Returns to privileged EXEC mode.

Step 4

Switch# show running-config

Verifies the REP trap configuration.

Step 5

Switch# copy running-config startup config

(Optional) Saves your entries in the switch startup configuration file.

To remove the trap, enter the no snmp mib rep trap-rate global configuration command.

This example configures the switch to send REP traps at a rate of 10 per second:

Switch(config)# snmp mib rep trap-rate 10

Monitoring REP

To monitor REP, enter the following privileged EXEC commands ( Table 24-1 ).

 

Table 24-1 REP Monitoring Commands

Command
Purpose
Switch# show interface [ interface-id ] rep [ detail ]

Displays REP configuration and status for a specified interface or for all interfaces.

Switch# show rep topology [ segment segment_id ] [ archive ] [ detail ]

Displays REP topology information for a segment or for all segments, including the primary and secondary edge ports in the segment.