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
- Fail-Over Handling
- Qualification of coupling link
- Multiple RiCo instances
- Configuration - Syntax RiCo Configuration
- RiCo Status Commands and Explanations
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 lowest priority, best 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 |
| | | | | | | |
'-----' '-----' '-----' '-----'
The RiCo protocol is a Ring Coupling protocol and connects rings, not individual switches, which can be a misunderstanding. Each ring needs to provide full connectivity by itself and cannot rely on the coupling links for this. FRNTv2 can provide full connectivity in the ring with one fault, but with more than one fault in the ring, RiCo nodes may be isolated even though the switch could be reached over the coupling link. See Figure 2
.-----. .-----. .-----. .-----.
| | | | Backup | | | |
| SW1 +--| + SW2 +---------||-+ SW5 +----+ SW6 |
| | | | | | | |
'--+--' '--+--' '--+--' '--+--'
| --- | |
| FRNTv2 | | FRNTv2 |
| | | |
.--+--. .--+--. .--+--. .--+--.
| | | | Master | | | |
| SW3 +----+ SW4 +------------+ SW7 +----+ SW8 |
| | | | | | | |
'-----' '-----' '-----' '-----'
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 |
| | | | | | | |
'-----' '-----' '-----' '-----'
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 for more information.
Qualification of coupling links
A coupling link must first be qualified before it can be used as an
active link in the election process between RiCo nodes. To qualify a
coupling link both sides must agree on the link priority. 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 4 FRNTv2 rings are connected together in a ladder structure. Each ring have two RiCo instances configured, one to the left and one to the right with different instance id. The RiCo instance id for each direction 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 |
-||+ +--+ +||----||+ +--+ +||-
'-----' '-----' '-----' '-----'
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
Domain status : OK
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.- no
- Reset to default (1000 ms)
- INTERVAL
- Interval in milliseconds. Range 50-10000 (ms)
Note
Changing this interval will not improve fail over times so only change this if you are advised to.
[no] nodes <NUMBER>
-
The number of RiCo nodes in the redundancy domain with the same instance number. Nodes must be configured to show Domain status, see RiCo Status.
This parameter is optional and is used to show summary status for the RiCo coupling domain.
- no
- Set to unconfigured.
- NUMBER
- How many RiCo switches exists in this instance in the redundancy domain.
[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 1-32766.
[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
Domain status : OK
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:/#>
-
Advertisement time: The configured value for advertisement time.
-
Domain status: To show this status the number of nodes in this RiCo instance domain must be configured.
- OK: At least the configured number of nodes in the instance domain have link up, as backup or master.
- Degraded: At least one or more coupling links are up in the instance redundancy domain.
- Broken: All RiCo coupling links in this instance redundancy domain are down.
- N/A: Nodes is not configured.
-
Coupling ports: Configured coupling ports.
-
Redundancy protocol: Which ring protocol RiCov3 is running on. The only supported ring protocol is FRNTv2.
-
Advertisement ports: On which ports the advertisement packets are sent on.
Coupling links:
-
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, only shown for local links.