Loop prevention mechanism on RRPP

Publication Date:  2014-10-29 Views:  958 Downloads:  0
Issue Description
The customer set up a RRPP scenario with four S6700 (V200R003C00SPC300) and one S5700 (V200R003C00SPC300) having one Major-Ring plus one Sub-Ring. For better view please refer to the topology and configuration below: 



###Master Major-ring###
rrpp domain 1
control-vlan 2996
protected-vlan reference-instance 1
ring 1 node-mode master primary-port Eth-Trunk1 secondary-port Eth-Trunk2 level 0
ring 1 enable

###Transit###
rrpp domain 1
control-vlan 2996
protected-vlan reference-instance 1
ring 1 node-mode transit primary-port Eth-Trunk1 secondary-port Eth-Trunk2 level 0
ring 1 enable

###Edge###
rrpp domain 1
control-vlan 2996
protected-vlan reference-instance 1
ring 1 node-mode transit primary-port Eth-Trunk1 secondary-port Eth-Trunk2 level 0
ring 1 enable
ring 2 node-mode edge common-port Eth-Trunk1 edge-port XGigabitEthernet0/0/20
ring 2 enable

###Assistant Edge###
rrpp domain 1
control-vlan 2996
protected-vlan reference-instance 1
ring 1 node-mode transit primary-port Eth-Trunk1 secondary-port Eth-Trunk2 level 0
ring 1 enable
ring 2 node-mode assistant-edge common-port Eth-Trunk2 edge-port XGigabitEthernet0/0/20
ring 2 enable

###Master Sub-ring###
rrpp domain 1
control-vlan 2996
protected-vlan reference-instance 1
ring 2 node-mode master primary-port XGigabitEthernet0/0/4 secondary-port XGigabitEthernet0/0/3 level 1
ring 2 enable


If the link between Edge node and Assistant Edge is cut/broken/interrupted the ring-protection works fine, but when the link between Edge node and Transit node is additional broken,  Port XG0/0/20 of the Edge node will be blocked:

<Edge>dis rrpp verbose
Domain Index   : 1
Control VLAN   : major 2996    sub 2997
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     : LinkDown
Is Enabled     : Enable                             Is Active: Yes
Primary port   : Eth-Trunk1                         Port status: DOWN
Secondary port : Eth-Trunk2                         Port status: DOWN

RRPP Ring      : 2
Ring Level     : 1
Node Mode      : Edge
Ring State     : PreForwarding
Is Enabled     : Enable                             Is Active: Yes
Common port    : Eth-Trunk1                         Port status: DOWN
Edge port      : XGigabitEthernet0/0/20             Port status: BLOCKED


A blocked port XG0/0/20 will cause in this scenario that the Edge node will be totally unreachable. How is this possible ? Why XG0/0/20 is blocked ? It’s about a configuration-issue ?
Solution
Long story but short answer: The RRPP configuration is fine!

The reason why the edge interface is blocked, XGigabitEthernet0/0/20 from Edge node, it’s for preventing loops on the major ring. Consider the case when the link between Transit node and Edge node recovers and the edge interface is not blocked a loop may be  triggered in the control vlan for sub-ring -2997- the vlan used also for data in the major-ring.

How this process works ?

The edge node on the sub-ring periodically sends Edge-Hello packets to the major ring through two RRPP interfaces on the major ring. Edge-Hello packets are transmitted through all transit nodes on the ring. The assistant edge node does not forward the received Edge-Hello packets.

If the assistant edge node receives the Edge-Hello packets within the specified period, the protocol packet path is normal; if the assistant edge node receives no Edge-Hello packets within the specified period, the path is faulty.
Upon detecting that the sub-ring protocol packet path is disconnected, the assistant edge node immediately sends a Major-Fault packet to the edge node. After receiving the Major-Fault packet, the edge node blocks its edge interfaces.

After the edge node blocks its edge interfaces, the path for sub-ring protocol packets is disconnected because of the failure on the major ring. As a result, the master node on the sub-ring cannot receive the Hello packet sent by the master node within the specified period. The master node changes to Failed state and unblocks the secondary interface

After the link on the major ring recovers, the communication between the edge node and assistant edge node recovers, and the path for the sub-ring protocol packets is recovered. The secondary interface on the sub-ring can receive the Hello packets sent from the master node. The master node then changes to Complete state and blocks the secondary interface.

The master node on the sub-ring sends a Complete-Flush-FDB packet. Upon receiving the packet, the edge node unblocks the edge interfaces and the communication is stable again.

END