Fast Reconfiguration of Network Topology

Introduction

The FRNT protocol handles fast reconfiguration of failure in a switched ring layer-2 topology. One of the switches, only one, must have the role of FRNT focal point, while the other switches are referred to as FRNT members. It is the responsibility of the focal point to logically break the loop by putting one of its port in blocking state, port “M”.

For examples of use-cases, refer to the following:

         .-----.               .-----.
         |     |M             N|     |
         | SW1 +-||------------+ SW2 |
         |   fp|               |     |
         '--+--'               '--+--'
           N|                     |M
            |        FRNT         |
           M|                     |N
         .--+--.               .--+--.
         |     |               |     |
         | SW4 +---------------+ SW3 |
         |     |N             M|     |
         '-----'               '-----'

Figure 1: Basic FRNT ring configuration, SW1 is focal port (fp)

Note: For FRNT to operate properly, all devices connected to the ring ports must be running FRNT

Fail-Over Handling

Once a link failure is detected somewhere along the ring, the focal point puts its blocked port (“M”) in forwarding state to establish full connectivity between the switches. FRNT is event based, so switches that detect a link down event will immediately send a link down FRNT message towards the focal point. Intermediate switches forward all FRNT messages, with highest priority, and the focal point opens its blocked port (port “M”) upon receiving the link down message.

Similarly, when a broken link comes back up again and the ring is fully connected, the focal point will react and put its “M” back to blocking state.

A reconfiguration in an FRNT ring is triggered by a physical link down, logical link down and up. Physical link down is triggered when the the PHY reports lost of signal. To detect logical link change each FRNT node sends a hello packet to its FRNT neighbor which answers back. When this communication is established the link is logical up and when lost it is logical down.

Link down topology change is triggered both on physical and logical link down. When deciding if a link is up and should be used for communication it must be up both physical and logical.

Guidelines

When enabling FRNT on a switch, two ports are set as ring ports; FRNT port “M” and FRNT port “N”. Below are some recommendations and rules when selecting and configuring the FRNT ports:

  • Avoid using copper SFPs as FRNT ports: When using Ethernet ports as FRNT ports, choose fixed Ethernet ports or fiber SFPs. Copper SFPs may be used as FRNT ports, but will generally imply non-negligible degradation of fail-over performance.

  • When activating FRNT on gigabit port the setting ‘fastlink’ should be enabled to reduce the link down time. Per the IEEE 802.3 Clause 40 standard, a 1000BASE-T PHY is required to wait 750 milliseconds or more to report that link is down after detecting a problem with the link. It is not possible to meet the failover time for FRNT if the PHY follows the 750 wait time. By activating fastlink on a port the IEEE standard is intentionally violated.

Reserved VLANs

FRNT uses VLAN IDs 4020-4022 and 4032-4033 for signalling. Thus, when FRNT is enabled on a switch, these VLANs are implicitly reserved and cannot be configured by the user.

Configuration

FRNT is a top-level configuration context in the CLI:

example:/#> configure
example:/config/#> frnt
example:/config/frnt-1/#>

Syntax

[no] focal-point

Set FRNT mode: focal-point or member.

no
Set switch to act as member
[no] ports [portM,portN]

Set ring ports, a.k.a. port M, port N.

In normal operation, the focal point selects port M to be blocked. If you have a preference, place that port first in the pair.

no
Remove all or one port
[no] hello-time [20-1000,20-1000]

Health packet interval (M,N), default: 100 msec.

This expert level setting is primarily intended for improving recovery times on Gigabit links with slow link-down detection.

[no|show] coupling [ID]

Manage FRNT coupling, ring bridging.

This command either enables a Ring Coupling (RiCo) instance, disables all or one, or shows all or one coupling instance.

Status overview

In order to see the current status of FRNT for an individual device the following command can be used:

example:/#> show frnt
Ring#                     : 1
Version                   : FRNTv0
Enabled                   : Yes, running as PID 1202
Ring Status               : OK
Topology Change Count     : 1
Time Since Last Change    : 0 Days 0 Hours 0 Mins 11 Secs
Mode                      : Focal Point
Port M                    : eth0    UP  Blocking
Port N                    : eth1    UP  Forwarding

Here we can see if the current operational status of FRNT. We can see if the ring is whole or broken, status for each frnt port, along with information when the last topology change occurred.