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 |
| | | |
'-------' '-------'
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.