Ethernet network uses two-layer rings: one is the aggregation layer between aggregation devices PE-AGGs and the other is the access layer between PE-AGGs and UPEs.
As shown in Figure 1, the network is required to prevent loops when the ring is complete and implement fast convergence to rapidly restore communication between nodes on the ring when the ring fails. RRPP can meet this requirement. RRPP supports multiple rings. You can configure the aggregation layer as the major ring and the access layer as the sub-ring, simplifying the network configuration.
As shown in Figure 2, SwitchB, SwitchA, SwitchD, and SwitchC map PE-AGG1, PE-AGG2, PE-AGG3, and UPE1 in Figure 1 respectively. Figure 2 is used as an example to describe how to configure intersecting RRPP rings with a single instance in the RRPP version defined by Huawei.
The configuration roadmap is as follows:
Create an RRPP domain and its control VLAN.
Map the VLANs that need to pass through the RRPP ring to Instance 1, including data VLANs 2 to 9 and control VLANs 10 and 11 (VLAN 11 is the sub-control VLAN generated by the device).
Configure interfaces to be added to the RRPP domain on the devices so that data can pass through the interfaces. Disable protocols that conflict with RRPP, such as STP.
Configure Ring 1 (major ring) in Domain 1 on SwitchA, SwitchB, and SwitchD.
Configure Ring 2 (sub-ring) in Domain 1 on SwitchA, SwitchC, and SwitchD.
Configure SwitchB as the master node on the major ring and configure SwitchA and SwitchD as transit nodes on the major ring.
Configure SwitchC as the master node on the sub-ring, configure SwitchA as the edge node on the sub-ring, and configure SwitchD as the assistant edge node on the sub-ring.
Enable the RRPP ring and RRPP protocol on devices to make RRPP take effect.
# Create data VLANs 2 to 9 on SwitchB.
<HUAWEI> system-view [HUAWEI] sysname SwitchB [SwitchB] vlan batch 2 to 9
# Configure instance 1, and map it to the data VLANs and control VLANs allowed by the RRPP interface.
[SwitchB] stp region-configuration [SwitchB-mst-region] instance 1 vlan 2 to 11 [SwitchB-mst-region] active region-configuration [SwitchB-mst-region] quit
# Configure Domain 1 on SwitchB. Configure VLAN 10 as the major control VLAN and bind Instance 1 to the protected VLAN in Domain 1.
[SwitchB] rrpp domain 1 [SwitchB-rrpp-domain-region1] control-vlan 10 [SwitchB-rrpp-domain-region1] protected-vlan reference-instance 1 [SwitchB-rrpp-domain-region1] quit
# Configure the RRPP interface as a trunk interface to allow data from VLANs 2 to 9 to pass through and disable STP on the interface to be added to the RRPP ring.
[SwitchB] interface gigabitethernet 0/0/1 [SwitchB-GigabitEthernet0/0/1] port link-type trunk [SwitchB-GigabitEthernet0/0/1] undo port trunk allow-pass vlan 1 [SwitchB-GigabitEthernet0/0/1] port trunk allow-pass vlan 2 to 9 [SwitchB-GigabitEthernet0/0/1] stp disable [SwitchB-GigabitEthernet0/0/1] quit [SwitchB] interface gigabitethernet 0/0/2 [SwitchB-GigabitEthernet0/0/2] port link-type trunk [SwitchB-GigabitEthernet0/0/2] undo port trunk allow-pass vlan 1 [SwitchB-GigabitEthernet0/0/2] port trunk allow-pass vlan 2 to 9 [SwitchB-GigabitEthernet0/0/2] stp disable [SwitchB-GigabitEthernet0/0/2] quit
# Configure the primary interface and secondary interface on the master node of the major ring.
[SwitchB] rrpp domain 1 [SwitchB-rrpp-domain-region1] ring 1 node-mode master primary-port gigabitethernet 0/0/1 secondary-port gigabitethernet 0/0/2 level 0 [SwitchB-rrpp-domain-region1] ring 1 enable [SwitchB-rrpp-domain-region1] quit
# Create data VLANs 2 to 9 on SwitchC.
<HUAWEI> system-view [HUAWEI] sysname SwitchC [SwitchC] vlan batch 2 to 9
# Configure Instance 1, and map it to the data VLANs and control VLANs allowed by the RRPP interface.
[SwitchC] stp region-configuration [SwitchC-mst-region] instance 1 vlan 2 to 11 [SwitchC-mst-region] active region-configuration [SwitchC-mst-region] quit
# Configure Domain 1 on SwitchC. Configure VLAN 10 as the major control VLAN and bind Instance 1 to the protected VLAN in Domain 1.
[SwitchC] rrpp domain 1 [SwitchC-rrpp-domain-region1] control-vlan 10 [SwitchC-rrpp-domain-region1] protected-vlan reference-instance 1 [SwitchC-rrpp-domain-region1] quit
# Disable STP on the interface to be added to the RRPP ring and configure the RRPP interface as a trunk interface to allow data from VLANs 2 to 9 to pass through.
[SwitchC] interface gigabitethernet 0/0/1 [SwitchC-GigabitEthernet0/0/1] port link-type trunk [SwitchC-GigabitEthernet0/0/1] undo port trunk allow-pass vlan 1 [SwitchC-GigabitEthernet0/0/1] port trunk allow-pass vlan 2 to 9 [SwitchC-GigabitEthernet0/0/1] stp disable [SwitchC-GigabitEthernet0/0/1] quit [SwitchC] interface gigabitethernet 0/0/2 [SwitchC-GigabitEthernet0/0/2] port link-type trunk [SwitchC-GigabitEthernet0/0/2] undo port trunk allow-pass vlan 1 [SwitchC-GigabitEthernet0/0/2] port trunk allow-pass vlan 2 to 9 [SwitchC-GigabitEthernet0/0/2] stp disable [SwitchC-GigabitEthernet0/0/2] quit
# Configure the primary interface and secondary interface on the master node of the sub-ring.
[SwitchC] rrpp domain 1 [SwitchC-rrpp-domain-region1] ring 2 node-mode master primary-port gigabitethernet 0/0/1 secondary-port gigabitethernet 0/0/2 level 1 [SwitchC-rrpp-domain-region1] ring 2 enable [SwitchC-rrpp-domain-region1] quit
# Create data VLANs 2 to 9 on SwitchA.
<HUAWEI> system-view [HUAWEI] sysname SwitchA [SwitchA] vlan batch 2 to 9
# Configure Instance 1, and map it to the data VLANs and control VLANs allowed by the RRPP interface.
[SwitchA] stp region-configuration [SwitchA-mst-region] instance 1 vlan 2 to 11 [SwitchA-mst-region] active region-configuration [SwitchA-mst-region] quit
# Configure Domain 1 on SwitchA. Configure VLAN 10 as the major control VLAN and bind Instance 1 to the protected VLAN in Domain 1.
[SwitchA] rrpp domain 1 [SwitchA-rrpp-domain-region1] control-vlan 10 [SwitchA-rrpp-domain-region1] protected-vlan reference-instance 1 [SwitchA-rrpp-domain-region1] quit
# Disable STP on the interface to be added to the RRPP ring and configure the RRPP interface as a trunk interface to allow data from VLANs 2 to 9 to pass through.
[SwitchA] interface gigabitethernet 0/0/1 [SwitchA-GigabitEthernet0/0/1] port link-type trunk [SwitchA-GigabitEthernet0/0/1] undo port trunk allow-pass vlan 1 [SwitchA-GigabitEthernet0/0/1] port trunk allow-pass vlan 2 to 9 [SwitchA-GigabitEthernet0/0/1] stp disable [SwitchA-GigabitEthernet0/0/1] quit [SwitchA] interface gigabitethernet 0/0/2 [SwitchA-GigabitEthernet0/0/2] port link-type trunk [SwitchA-GigabitEthernet0/0/2] undo port trunk allow-pass vlan 1 [SwitchA-GigabitEthernet0/0/2] port trunk allow-pass vlan 2 to 9 [SwitchA-GigabitEthernet0/0/2] stp disable [SwitchA-GigabitEthernet0/0/2] quit [SwitchA] interface gigabitethernet 0/0/3 [SwitchA-GigabitEthernet0/0/3] port link-type trunk [SwitchA-GigabitEthernet0/0/3] undo port trunk allow-pass vlan 1 [SwitchA-GigabitEthernet0/0/3] port trunk allow-pass vlan 2 to 9 [SwitchA-GigabitEthernet0/0/3] stp disable [SwitchA-GigabitEthernet0/0/3] quit
# Configure the primary interface and secondary interface on the transit node of the major ring.
[SwitchA] rrpp domain 1 [SwitchA-rrpp-domain-region1] ring 1 node-mode transit primary-port gigabitethernet 0/0/2 secondary-port gigabitethernet 0/0/1 level 0 [SwitchA-rrpp-domain-region1] ring 1 enable [SwitchA-rrpp-domain-region1] quit
# Configure the common interface and edge interface on the edge node of the sub-ring.
[SwitchA] rrpp domain 1 [SwitchA-rrpp-domain-region1] ring 2 node-mode edge common-port gigabitethernet 0/0/2 edge-port gigabitethernet 0/0/3 [SwitchA-rrpp-domain-region1] ring 2 enable [SwitchA-rrpp-domain-region1] quit
# Create data VLANs 2 to 9 on SwitchD.
<HUAWEI> system-view [HUAWEI] sysname SwitchD [SwitchD] vlan batch 2 to 9
# Configure Instance 1, and map it to the data VLANs and control VLANs allowed by the RRPP interface.
[SwitchD] stp region-configuration [SwitchD-mst-region] instance 1 vlan 2 to 11 [SwitchD-mst-region] active region-configuration [SwitchD-mst-region] quit
# On SwitchD, configure Domain 1. Configure VLAN 10 as the major control VLAN and bind Instance 1 to the protected VLAN in Domain 1.
[SwitchD] rrpp domain 1 [SwitchD-rrpp-domain-region1] control-vlan 10 [SwitchD-rrpp-domain-region1] protected-vlan reference-instance 1 [SwitchD-rrpp-domain-region1] quit
# Disable STP on the interface to be added to the RRPP ring, configure the RRPP interface as a trunk interface, and configure the interfaces to allow service packets of VLAN 2 to VLAN 9 to pass through.
[SwitchD] interface gigabitethernet 0/0/1 [SwitchD-GigabitEthernet0/0/1] port link-type trunk [SwitchD-GigabitEthernet0/0/1] undo port trunk allow-pass vlan 1 [SwitchD-GigabitEthernet0/0/1] port trunk allow-pass vlan 2 to 9 [SwitchD-GigabitEthernet0/0/1] stp disable [SwitchD-GigabitEthernet0/0/1] quit [SwitchD] interface gigabitethernet 0/0/2 [SwitchD-GigabitEthernet0/0/2] port link-type trunk [SwitchD-GigabitEthernet0/0/2] undo port trunk allow-pass vlan 1 [SwitchD-GigabitEthernet0/0/2] port trunk allow-pass vlan 2 to 9 [SwitchD-GigabitEthernet0/0/2] stp disable [SwitchD-GigabitEthernet0/0/2] quit [SwitchD] interface gigabitethernet 0/0/3 [SwitchD-GigabitEthernet0/0/3] port link-type trunk [SwitchD-GigabitEthernet0/0/3] undo port trunk allow-pass vlan 1 [SwitchD-GigabitEthernet0/0/3] port trunk allow-pass vlan 2 to 9 [SwitchD-GigabitEthernet0/0/3] stp disable [SwitchD-GigabitEthernet0/0/3] quit
# Configure the primary interface and secondary interface on the transit node of the major ring.
[SwitchD] rrpp domain 1 [SwitchD-rrpp-domain-region1] ring 1 node-mode transit primary-port gigabitethernet 0/0/2 secondary-port gigabitethernet 0/0/1 level 0 [SwitchD-rrpp-domain-region1] ring 1 enable [SwitchD-rrpp-domain-region1] quit
# Configure the common interface and edge interface on the assistant edge node of the sub-ring.
[SwitchD] rrpp domain 1 [SwitchD-rrpp-domain-region1] ring 2 node-mode assistant-edge common-port gigabitethernet 0/0/2 edge-port gigabitethernet 0/0/3 [SwitchD-rrpp-domain-region1] ring 2 enable [SwitchD-rrpp-domain-region1] quit
# Configure SwitchA. The configurations on SwitchB, SwitchC, and SwitchD are the same as that of SwitchA and not mentioned here. For details, see the configuration files.
[SwitchA] rrpp enable
After the preceding configurations are complete and the network becomes stable, run the following commands to verify the configuration.
# Run the display rrpp brief command on SwitchB. The command output is as follows:
[SwitchB] display rrpp brief Abbreviations for Switch Node Mode : M - Master , T - Transit , E - Edge , A - Assistant-Edge RRPP Protocol Status: Enable RRPP Working Mode: HW RRPP Linkup Delay Timer: 0 sec (0 sec default) Number of RRPP Domains: 1 Domain Index : 1 Control VLAN : major 10 sub 11 Protected VLAN : Reference Instance 1 Hello Timer : 1 sec(default is 1 sec) Fail Timer : 6 sec(default is 6 sec) Ring Ring Node Primary/Common Secondary/Edge Is ID Level Mode Port Port Enabled ---------------------------------------------------------------------------- 1 0 M GigabitEthernet0/0/1 GigabitEthernet0/0/2 Yes
The command output shows that RRPP is enabled on SwitchB. The major control VLAN is VLAN 10, and the sub-control VLAN is VLAN 11; SwitchB is the master node on the major ring, with GE0/0/1 as the primary interface and GE0/0/2 as the secondary interface.
# Run the display rrpp verbose domain command on SwitchB. The command output is as follows:
[SwitchB] display rrpp verbose domain 1 Domain Index : 1 Control VLAN : major 10 sub 11 Protected VLAN : Reference Instance 1 Hello Timer : 1 sec(default is 1 sec) Fail Timer : 6 sec(default is 6 sec) RRPP Ring : 1 Ring Level : 0 Node Mode : Master Ring State : Complete Is Enabled : Enable Is Active: Yes Primary port : GigabitEthernet0/0/1 Port status: UP Secondary port : GigabitEthernet0/0/2 Port status: BLOCKED
The command output shows that the ring is in Complete state, and the secondary interface on the master node is blocked.
# Run the display rrpp brief command on SwitchC. The command output is as follows:
[SwitchC] display rrpp brief Abbreviations for Switch Node Mode : M - Master , T - Transit , E - Edge , A - Assistant-Edge RRPP Protocol Status: Enable RRPP Working Mode: HW RRPP Linkup Delay Timer: 0 sec (0 sec default) Number of RRPP Domains: 1 Domain Index : 1 Control VLAN : major 10 sub 11 Protected VLAN : Reference Instance 1 Hello Timer : 1 sec(default is 1 sec) Fail Timer : 6 sec(default is 6 sec) Ring Ring Node Primary/Common Secondary/Edge Is ID Level Mode Port Port Enabled ---------------------------------------------------------------------------- 2 1 M GigabitEthernet0/0/1 GigabitEthernet0/0/2 Yes
You can find that RRPP is enabled on SwitchC. The major control VLAN is VLAN 10, and the sub-control VLAN is VLAN 11; SwitchC is the master node on the sub-ring, with GE0/0/1 as the primary interface and GE0/0/2 as the secondary interface.
# Run the display rrpp verbose domain command on SwitchC. The command output is as follows:
[SwitchC] display rrpp verbose domain 1 Domain Index : 1 Control VLAN : major 10 sub 11 Protected VLAN : Reference Instance 1 Hello Timer : 1 sec(default is 1 sec) Fail Timer : 6 sec(default is 6 sec) RRPP Ring : 2 Ring Level : 1 Node Mode : Master Ring State : Complete Is Enabled : Enable Is Active: Yes Primary port : GigabitEthernet0/0/1 Port status: UP Secondary port : GigabitEthernet0/0/2 Port status: BLOCKED
The command output shows that the sub-ring is in Complete state, and the secondary interface on the master node of the sub-ring is blocked.
# Run the display rrpp brief command on SwitchA. The command output is as follows:
[SwitchA] display rrpp brief Abbreviations for Switch Node Mode : M - Master , T - Transit , E - Edge , A - Assistant-Edge RRPP Protocol Status: Enable RRPP Working Mode: HW RRPP Linkup Delay Timer: 0 sec (0 sec default) Number of RRPP Domains: 1 Domain Index : 1 Control VLAN : major 10 sub 11 Protected VLAN : Reference Instance 1 Hello Timer : 1 sec(default is 1 sec) Fail Timer : 6 sec(default is 6 sec) Ring Ring Node Primary/Common Secondary/Edge Is ID Level Mode Port Port Enabled ---------------------------------------------------------------------------- 1 0 T GigabitEthernet0/0/2 GigabitEthernet0/0/1 Yes 2 1 E GigabitEthernet0/0/2 GigabitEthernet0/0/3 Yes
The command output shows that RRPP is enabled on SwitchA. The major control VLAN is VLAN 10, and the sub-control VLAN is VLAN 11. SwitchA is the transit node on the major ring. The primary interface is GE0/0/2 and the secondary interface is GE0/0/1.
SwitchA is also the edge node on the sub-ring, with GE0/0/2 as the common interface and GE0/0/3 as the edge interface.
# Run the display rrpp verbose domain command on SwitchA. The command output is as follows:
[SwitchA] display rrpp verbose domain 1 Domain Index : 1 Control VLAN : major 10 sub 11 Protected VLAN : Reference Instance 1 Hello Timer : 1 sec(default is 1 sec) Fail Timer : 6 sec(default is 6 sec) RRPP Ring : 1 Ring Level : 0 Node Mode : Transit Ring State : LinkUp Is Enabled : Enable Is Active: Yes Primary port : GigabitEthernet0/0/2 Port status: UP Secondary port : GigabitEthernet0/0/1 Port status: UP RRPP Ring : 2 Ring Level : 1 Node Mode : Edge Ring State : LinkUp Is Enabled : Enable Is Active: Yes Common port : GigabitEthernet0/0/2 Port status: UP Edge port : GigabitEthernet0/0/3 Port status: UP
# Run the display rrpp brief command on SwitchD. The command output is as follows:
[SwitchD] display rrpp brief Abbreviations for Switch Node Mode : M - Master , T - Transit , E - Edge , A - Assistant-Edge RRPP Protocol Status: Enable RRPP Working Mode: HW RRPP Linkup Delay Timer: 0 sec (0 sec default) Number of RRPP Domains: 1 Domain Index : 1 Control VLAN : major 10 sub 11 Protected VLAN : Reference Instance 1 Hello Timer : 1 sec(default is 1 sec) Fail Timer : 6 sec(default is 6 sec) Ring Ring Node Primary/Common Secondary/Edge Is ID Level Mode Port Port Enabled ---------------------------------------------------------------------------- 1 0 T GigabitEthernet0/0/2 GigabitEthernet0/0/1 Yes 2 1 A GigabitEthernet0/0/2 GigabitEthernet0/0/3 Yes
The command output shows that RRPP is enabled on SwitchD. The major control VLAN is VLAN 10, and the sub-control VLAN is VLAN 11. SwitchD is the transit node on the major ring, with GE0/0/2 as the primary interface and GE0/0/1 as the secondary interface. SwitchD is also the assistant edge node on the sub-ring, with GE0/0/2 as the common interface and GE0/0/3 as the edge interface.
# Run the display rrpp verbose domain command on SwitchD. The command output is as follows:
[SwitchD] display rrpp verbose domain 1 Domain Index : 1 Control VLAN : major 10 sub 11 Protected VLAN : Reference Instance 1 Hello Timer : 1 sec(default is 1 sec) Fail Timer : 6 sec(default is 6 sec) RRPP Ring : 1 Ring Level : 0 Node Mode : Transit Ring State : LinkUp Is Enabled : Enable Is Active: Yes Primary port : GigabitEthernet0/0/2 Port status: UP Secondary port : GigabitEthernet0/0/1 Port status: UP RRPP Ring : 2 Ring Level : 1 Node Mode : Assistant-edge Ring State : LinkUp Is Enabled : Enable Is Active: Yes Common port : GigabitEthernet0/0/2 Port status: UP Edge port : GigabitEthernet0/0/3 Port status: UP
SwitchA configuration file
# sysname SwitchA # vlan batch 2 to 11 # rrpp enable # stp region-configuration instance 1 vlan 2 to 11 active region-configuration # rrpp domain 1 control-vlan 10 protected-vlan reference-instance 1 ring 1 node-mode transit primary-port GigabitEthernet0/0/2 secondary-port GigabitEthernet0/0/1 level 0 ring 1 enable ring 2 node-mode edge common-port GigabitEthernet0/0/2 edge-port GigabitEthernet0/0/3 ring 2 enable # interface GigabitEthernet0/0/1 port link-type trunk undo port trunk allow-pass vlan 1 port trunk allow-pass vlan 2 to 11 stp disable # interface GigabitEthernet0/0/2 port link-type trunk undo port trunk allow-pass vlan 1 port trunk allow-pass vlan 2 to 11 stp disable # interface GigabitEthernet0/0/3 port link-type trunk undo port trunk allow-pass vlan 1 port trunk allow-pass vlan 2 to 9 11 stp disable # return
SwitchB configuration file
# sysname SwitchB # vlan batch 2 to 11 # rrpp enable # stp region-configuration instance 1 vlan 2 to 11 active region-configuration # rrpp domain 1 control-vlan 10 protected-vlan reference-instance 1 ring 1 node-mode master primary-port GigabitEthernet0/0/1 secondary-port GigabitEthernet0/0/2 level 0 ring 1 enable # interface GigabitEthernet0/0/1 port link-type trunk undo port trunk allow-pass vlan 1 port trunk allow-pass vlan 2 to 11 stp disable # interface GigabitEthernet0/0/2 port link-type trunk undo port trunk allow-pass vlan 1 port trunk allow-pass vlan 2 to 11 stp disable # return
SwitchC configuration file
# sysname SwitchC # vlan batch 2 to 11 # rrpp enable # stp region-configuration instance 1 vlan 2 to 11 active region-configuration # rrpp domain 1 control-vlan 10 protected-vlan reference-instance 1 ring 2 node-mode master primary-port GigabitEthernet0/0/1 secondary-port GigabitEthernet0/0/2 level 1 ring 2 enable # interface GigabitEthernet0/0/1 port link-type trunk undo port trunk allow-pass vlan 1 port trunk allow-pass vlan 2 to 9 11 stp disable # interface GigabitEthernet0/0/2 port link-type trunk undo port trunk allow-pass vlan 1 port trunk allow-pass vlan 2 to 9 11 stp disable # return
SwitchD configuration file
# sysname SwitchD # vlan batch 2 to 11 # rrpp enable # stp region-configuration instance 1 vlan 2 to 11 active region-configuration # rrpp domain 1 control-vlan 10 protected-vlan reference-instance 1 ring 1 node-mode transit primary-port GigabitEthernet0/0/2 secondary-port GigabitEthernet0/0/1 level 0 ring 1 enable ring 2 node-mode assistant-edge common-port GigabitEthernet0/0/2 edge-port GigabitEthernet0/0/3 ring 2 enable # interface GigabitEthernet0/0/1 port link-type trunk undo port trunk allow-pass vlan 1 port trunk allow-pass vlan 2 to 11 stp disable # interface GigabitEthernet0/0/2 port link-type trunk undo port trunk allow-pass vlan 1 port trunk allow-pass vlan 2 to 11 stp disable # interface GigabitEthernet0/0/3 port link-type trunk undo port trunk allow-pass vlan 1 port trunk allow-pass vlan 2 to 9 11 stp disable # return