Ring Coupling

Westermo’s third generation Ring Coupling Protocol (RiCo), which is further development of RiCo version 2. RiCo enables multiple connections between network topologies to create further redundancy. The networks are connected at layer-2, and the RiCo protocol ensures loop-free connectivity by letting one of the connections forward data, while the redundant coupling links are blocked.

Note

RiCo version 3 is not backwards compatible with version 2. RiCo is currently limited to only FRNTv2 as its redundancy domain protocol.

This page will only explain functionality and configuration of RiCo version 3. When only RiCo is written in this page it mean RiCo version 3.

Table of contents

Introduction

The RiCo protocol manages connections between redundancy domains. The connections that interlink redundancy domains are referred to as coupling links and require RiCo configuration at both ends. The RiCo nodes will advertise their best coupling link within their respective domains. Each RiCo node will build a list of all the coupling links in the domain. Among these links, the one with the highest priority will be elected as the Master link, while the others will serve as backup links. The Master link is responsible for forwarding traffic, while the backup links are designed to block traffic to prevent loops, as shown in Figure 1.

 .-----.    .-----.            .-----.    .-----.
 |     |    |     |   Master   |     |    |     |
 | SW1 +----+ SW2 +------------+ SW5 +----+ SW6 |
 |     |    |     |            |     |    |     |
 '--+--'    '--+--'            '--+--'    '--+--'
    |          |                  |          |
    |  FRNTv2  |                  |  FRNTv2  |
    |          |                  |          |
 .--+--.    .--+--.            .--+--.    .--+--.
 |     |    |     |   Backup   |     |    |     |
 | SW3 +----+ SW4 +-||------||-+ SW7 +----+ SW8 |
 |     |    |     |            |     |    |     |
 '-----'    '-----'            '-----'    '-----'

Figure 1: Two FRNTv2 ring connected with RiCo version 3.

Fail-Over Handling

Once a RiCo node detects a coupling link failure it will inform the other RiCo nodes in the same domain. The RiCo node with the new best coupling link priority will now take over the Master status and open its blocking port.

 .-----.    .-----.           .-----.    .-----.
 |     |    |     |           |     |    |     |
 | SW1 +----+ SW2 +-----xx----+ SW5 +----+ SW6 |
 |     |    |     |           |     |    |     |
 '--+--'    '--+--'           '--+--'    '--+--'
    |          |                 |          |
    |  FRNTv2  |                 |  FRNTv2  |
    |          |                 |          |
 .--+--.    .--+--.           .--+--.    .--+--.
 |     |    |     |   Master  |     |    |     |
 | SW3 +----+ SW4 +-----------+ SW7 +----+ SW8 |
 |     |    |     |           |     |    |     |
 '-----'    '-----'           '-----'    '-----'

Figure 2: Upon a link break the backup link will become Master and put its blocked port in forwarding state.

When the broken link comes back up again it has the best link priority and SW2 and SW5 will advertise this link priority in their redundancy domain. The Master switches SW4 and SW7 will block their ports and advertise that they are in backup state. SW2 and SW5 can now change its port states to forwarding and take over as Master.

To achieve faster failover on Gigabit copper links fastlink should be enabled on the ports, see Fastlink.

Before a coupling link can be used as an active link in the election it must be qualified. Both sides must agree on the link priority and when the link is qualified it will be advertised in each redundancy domain.
The priority vector is constructed of priority:mac-address:port-id. The priority part can be changed to increase the probability of being elected as the Master coupling link.
If default priority is left unchanged or configured to the same value on all switches the switch with the lowest mac-address will have the best link priority.

Note

It is not supported to use media converters on the coupling link.

Multiple RiCo instances

Multiple RiCo instances can be configured in the same redundancy domain. In figure Figure 3 FRNTv2 rings are connected together in a ladder structure. Each ring have two RiCo instances configured, one to the left side and one to the right with different instance id. The RiCo instance id on each side of the connecting coupling links do not have to match. However, only RiCo coupling-links with the same Instance id will perform the Master election within its domain.

     .-----.  .-----.        .-----.  .-----.
   --+ Sw1 +--+ Sw2 +--------+ Sw5 +--+ Sw6 +--
     |     |  |     |        |     |  |     |
RiCo '+----'  '----+'  RiCo  '+----'  '----+' RiCo
 id:2 |   FRNTv2   | 1 :id: 2 |   FRNTv2   | 3:id
      |            |          |            |
     .+----.  .----+.        .+----.  .----+.
     | Sw3 |  | Sw4 |        | Sw7 |  | Sw8 |
  -||+     +--+     +||----||+     +--+     +||-
     '-----'  '-----'        '-----'  '-----'

Figure 3: Examples of RiCo topologies

Sw6:/#> configure
Sw6:/config/#> ring
Sw6:/config/ring/#> frntv2 1
Sw6:/config/ring/frnt-1/#> port eth1
Sw6:/config/ring/frnt-1/port-eth1/#> end
Sw6:/config/ring/frnt-1/#> port eth2
Sw6:/config/ring/frnt-1/port-eth2/#> end
Sw6:/config/ring/frnt-1/#> end
Sw6:/config/ring/#>
Sw6:/config/ring/#> coupling 3
Sw6:/config/ring/coupling-3/#> coupling-port eth4
Sw6:/config/ring/coupling-3/coupling-port-eth4/#> priority 100
Sw6:/config/ring/coupling-3/coupling-port-eth4/#> end
Sw6:/config/ring/coupling-3#> leave
Sw6:/#> show coupling

Coupling instance id 3                                                         
Advertisement time  : 1000 ms
Coupling ports      : eth4 
Redundancy protocol : FRNTv2
Advertisement ports : eth1 eth2
==============================================================================
Coupling links
Link id               Priority   State        Port     Preempt   Transitions
* 00-11-b4-13-61-c0   100        Master       eth4     Yes       4
  00-07-7c-7c-c8-20   200        Backup       Global   Yes       N/A

* The elected coupling link
Sw6:/#>

Configuration

RiCo is configured from the ring configuration context in the CLI:

example:/#> configure
example:/config/#> ring
example:/config/ring/#> coupling 1
example:/config/ring/coupling-1/#> 
[no] coupling [ID]

Enable/Disable RiCo and enter RiCo configuration context of given instance.

ID

RiCo instance ID (range 1-255). Election of coupling links is performed on links in the sames instance.

Default is ‘1’

no
Remove the given RiCo instance.

Syntax RiCo Configuration

[no] adv-interval <INTERVAL>

Set RiCo advertisement interval. Default 1000 ms.
The RiCo protocol is event based and all RiCo nodes will be updated on link change.

INTERVAL
Interval in milliseconds. Range 50-10000 (ms)
no
Reset to default (1000 ms)

Note

Changing this interval will not improve fail over times so only change this if you are advised to.

[no|show] coupling-port <PORT,PORT-PORT>

Set PORT as coupling port and enter configuration context for the given port.

PORT
Name of coupling port, typically an Ethernet port such as eth1.
[no] priority <PRIO>

Setting within coupling-port configuration context. Default: 16384
Set coupling link priority, where a low value means better priority, which increase the probability of being elected as Master coupling link.

no
Use default priority 16384.
PRIO
An integer to set the priority in range 0-32767.
[no] preempt

Setting within coupling-port configuration context. Default: Enabled
When preempt is enabled the priority of the link will decide which link will be elected as the Master link. If preempt is disabled the link will get a sticky behavior. After it has been elected as a Master link it will continue to be the Master link until the link is down.

no
Disable preempt and the coupling link will get a sticky behavior.

If the configuration of preempt differs on each side of the link ‘no preempt’ will have precedence.

[no] hello-interval <INTERVAL>

Setting within coupling-port configuration context. Default: 1000 ms
RiCo hello packet interval on the coupling ports.

no
Use default interval value 1000 ms.
INTERVAL
Interval in range 50-5000 ms.

Note

Changing this interval will not improve fail over times so only change this if you are advised to.

RiCo Status Commands and Explanations

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

show coupling [ID]

Show RiCo status and statistics.

ID
Get status for the specified instance

Showing RiCo configuration and status of the link qualification and election.

example:/#> show coupling

Coupling instance id 1                                                         
Advertisement time  : 1000 ms
Coupling ports      : eth5 
Redundancy protocol : FRNTv2
Advertisement ports : eth3 eth4
==============================================================================
Coupling links
Link id               Priority   State        Port     Preempt   Transitions
  00-11-b4-39-8b-c0   16384      Backup       eth5     Yes       3
* 00-07-7c-00-14-50   16384      Master       Global   Yes       N/A

* The elected coupling link
example:/#>
  • Link id: This link id is the mac address derived from qualification process.

  • Priority: The configured priority of the coupling link used in the link election.

  • RiCo State:

    • Down: Link down on port.
    • Backup: Port is up and in blocking state. A port with better priority exists.
    • Master: This port has the best priority in the instance and are forwarding traffic. Only one Master port can exist in an instance.
  • Port:

    • port name: When it is a port name such as eth1 This is a local link on this switch.
    • Global: This link is an advertised link from another switch in the instance.
  • Preempt:
    On link down the configuration of preempt is shown.
    When a link is elected as Master:

    • No: This link has preempt disabled and will remain Master until it gets link down.
    • Yes: If this link is Master the priority was used in the selection.
      When the link is in backup state it will always show Yes.
  • Transitions: The number of link changes. Not shown for global links.