MRP HowTo

About

This document presents an example use-case where a basic MRP ring is configured.

Introduction

The Media Redundancy Protocol (MRP) is useful when redundancy is wanted on Layer 2 networks. What this entails is setting up a topology of switches in a ring, where MRP is used to ensure that the devices in the ring are reachable.

This is done by making sure that no broadcast storm will occur while the ring is fully connected, by blocking one of the ring ports on the Manager (MRM). Further, if there is a break in the ring the blocking ring port on the MRM needs to be opened to ensure the reachability of all the devices in the ring.

         .-------.                                   .-------.
         |       | eth1                         eth1 |       |
         |  MRM  +-----------------------------------+ MRC-1 |
         |       |                                   |       |
         '---+---'                                   '---+---'
        eth2 | vlan1                                eth2 | vlan1
             | IP: 10.0.0.1                              | IP: 10.0.0.2
             | Untagged: eth1,eth2                       | Untagged: eth1,eth2
             |                                           |
             |                                           |
             |                                           |
             |                                           |
             | vlan1                                     | vlan1
             | IP: 10.0.0.4                              | IP: 10.0.0.3
        eth2 | Untagged: eth1,eth2                  eth2 | Untagged: eth1,eth2
         .---+---.                                   .---+---.
         |       | eth1                         eth1 |       |
         | MRC-3 +-----------------------------------+ MRC-2 |
         |       |                                   |       |
         '-------'                                   '-------'

Figure 1: A simple ring configured with MRP as redundancy.

All the devices MRM, MRC-1, MRC-2 and MRC-3 have their eth1 and eth2 ports configured as their MRP ring ports.

Configuring the MRP Ring

When configuring a MRP ring only one of the devices can serve as the Media Redundancy Manager (MRM) and the rest of the devices will serve as Media Redundancy Clients (MRC).

Tip

When configuring the ring its good to ensure that there is no closed loop while the ring is being set up. This could be done by bringing down the ports or unplugging the cable so that there is no loop. Otherwise, it is likely that a broadcast storm could occur.

MRM Configuration

mrm:/#> configure
mrm:/config/#> ring mrp 1
mrm:/config/ring/mrp-1/#> mode manager
mrm:/config/ring/mrp-1/#> profile 200
mrm:/config/ring/mrp-1/#> ports eth1, eth2
mrm:/config/ring/mrp-1/#> leave
mrm:/#>

MRCs Configuration

mrc-x:/#> configure
mrc-x:/config/#> ring mrp 1
mrc-x:/config/ring/mrp-1/#> profile 200
mrc-x:/config/ring/mrp-1/#> ports eth1, eth2
mrc-x:/config/ring/mrp-1/#> leave
mrc-x:/#>

Status

When MRP have been configured on all the devices we can check the status of the MRP ring.

mrm:/#> show mrp 1
Ring ID              : 1
Enabled              : Yes running as PID 2233
Mode                 : MRM
Status               : Closed (CHK_RC)
Profile              : 200
Port 1               : eth1 BLOCKED (UP)
Port 2               : eth2 FORWARDING (UP)
VLAN ID              : 0
React on link change : Enabled
Transitions          : 1
Last topology change : 0 Days 0 Hours 0 Mins 10 Secs
MRM Src Addr         : 74:69:6e:67:20:6d

Test Connections

In order to verify if all the devices in the node are reachable we can ping the addresses of the vlans that the MRP ring ports are assigned to:

mrm:/#> ping 10.0.0.2
Press Ctrl-C to abort PING 10.0.0.2 (10.0.0.2): 56 data bytes
64 bytes from 10.0.0.2: seq=0 ttl=64 time=1.903 ms
[...]

mrm:/#> ping 10.0.0.3
Press Ctrl-C to abort PING 10.0.0.3 (10.0.0.3): 56 data bytes
64 bytes from 10.0.0.3: seq=0 ttl=64 time=1.843 ms
[...]

mrm:/#> ping 10.0.0.4
Press Ctrl-C to abort PING 10.0.0.4 (10.0.0.4): 56 data bytes
64 bytes from 10.0.0.4: seq=0 ttl=64 time=1.701 ms
[...]

The same could be repeated after breaking a link or bringing down a port so that the ring must reconverge. All the devices should still be accessible on the same addresses.