ERPS - multi-ring and double fault protection at interconnected nodes

  • 0
  • 1
  • Question
  • Updated 2 years ago
  • Answered

I have been using EXOS release 16.1.3.6 for a while to test ring topologies and G.8032 with full satisfaction.

Now, I'm involved with a multi-ring scenario (main-ring+sub-ring) where I'd like to provide protection of the sub-ring against double faults in case of loss of connectivity between major ring and sub-ring according to the description in supplement 52 to ITU-T G.8032.

The supplement states: "the first step in minimizing the segmentation effect is to identify that the major ring is currently disconnected from the sub-ring...For this one can use a unicast UP MEP (as defined in [IEEE 802.1ag]) from the sub-ring port of the interconnected node to the sub-ring port of the other interconnection node. This can use the VID used by the major ring R-APS channel with a higher MEL or use any one VID that is controlled by the major ring protection mechanism...".

I've tried with a simplified ring topology like the one represented in the above supplement and several different configurations of the UP MEP but the protection is not correctly working yet: in case of UP MEP DOWN the sub-ring is switched to protection and its port belonging to the interconnection node is blocked instead of being unblocked.

Has anyone already tried such a configuration?

Any suggestions on the above is welcome.

Thank you in advance,

Luca. 


Photo of Luca Spinacci

Luca Spinacci

  • 216 Points 100 badge 2x thumb

Posted 2 years ago

  • 0
  • 1
Photo of Chad Smith

Chad Smith, Senior Escalation Support Engineer

  • 5,620 Points 5k badge 2x thumb
Luca,

Could you provide a topology and the configurations used in your test lab?
Photo of Luca Spinacci

Luca Spinacci

  • 216 Points 100 badge 2x thumb

Follows the topology I configured:




Below the configurations:

EXOS-UPMEP-VM-05

#
# Module vlan configuration.
#
configure vlan default delete ports all
configure vr VR-Default delete ports 1-2
configure vr VR-Default add ports 1-2
configure vlan default delete ports 1-2
create vlan "c_vlan"
configure vlan c_vlan tag 10
create vlan "p_vlan_CSP"
configure vlan p_vlan_CSP tag 20
create vlan "p_vlan_Mgmt"
configure vlan p_vlan_Mgmt tag 30
configure vlan c_vlan add ports 1-2 tagged
configure vlan p_vlan_CSP add ports 1-2 tagged
configure vlan p_vlan_Mgmt add ports 1-2 tagged

#
# Module dot1ag configuration.
#

create cfm domain string "MD6" md-level 2
configure cfm domain "MD6" add association string "MDlevel6" vlan "c_vlan"
configure cfm domain "MD6" association "MDlevel6" ports 1 add end-point down 51
configure cfm domain "MD6" association "MDlevel6" ports 1 end-point down transmit-interval 100
configure cfm domain "MD6" association "MDlevel6" ports 2 add end-point down 52
configure cfm domain "MD6" association "MDlevel6" ports 2 end-point down transmit-interval 100
configure cfm domain "MD6" association "MDlevel6" ports 2 end-point down add group "L0506"
configure cfm domain "MD6" association "MDlevel6" ports 1 end-point down add group "RPL0507"
configure cfm group "L0506" add rmep 62
configure cfm group "RPL0507" add rmep 72

#
# Module erps configuration.
#
enable erps
create erps main_ring05-07
configure erps main_ring05-07 add control vlan c_vlan
configure erps main_ring05-07 ring-port east 2
configure erps main_ring05-07 ring-port west 1
configure erps main_ring05-07 protection-port 1
configure erps main_ring05-07 timer wait-to-restore 10000
configure erps main_ring05-07 cfm port east add group L0506
configure erps main_ring05-07 cfm port west add group RPL0507
enable erps main_ring05-07
configure erps main_ring05-07 add protected vlan p_vlan_CSP
configure erps main_ring05-07 add protected vlan p_vlan_Mgmt
configure erps main_ring05-07 add protected vlan c_mep_subring06-08


EXOS-UPMEP-VM-06

#
# Module vlan configuration.
#
configure vlan default delete ports all
configure vr VR-Default delete ports 1-3
configure vr VR-Default add ports 1-3
configure vlan default delete ports 1-3
create vlan "c_mep_subring06-08"
configure vlan c_mep_subring06-08 tag 68
create vlan "c_sr_vlan"
configure vlan c_sr_vlan tag 11
create vlan "c_vlan"
configure vlan c_vlan tag 10
create vlan "p_vlan_CSP"
configure vlan p_vlan_CSP tag 20
create vlan "p_vlan_Mgmt"
configure vlan p_vlan_Mgmt tag 30
configure vlan c_mep_subring06-08 add ports 1-3 tagged
configure vlan c_sr_vlan add ports 3 tagged
configure vlan c_vlan add ports 1-2 tagged
configure vlan p_vlan_CSP add ports 1-3 tagged
configure vlan p_vlan_Mgmt add ports 1-3 tagged

#
# Module dot1ag configuration.
#

create cfm domain string "MD6" md-level 2
create cfm domain string "MD3" md-level 3
create cfm domain string "MD5MEP" md-level 5
configure cfm domain "MD6" add association string "MDlevel6" vlan "c_vlan"
configure cfm domain "MD3" add association string "MDlevel3" vlan "c_sr_vlan"
configure cfm domain "MD5MEP" add association string "MDlevel5Mep" vlan "c_mep_subring06-08"
configure cfm domain "MD6" association "MDlevel6" ports 1 add end-point down 61
configure cfm domain "MD6" association "MDlevel6" ports 1 end-point down transmit-interval 100
configure cfm domain "MD6" association "MDlevel6" ports 2 add end-point down 62
configure cfm domain "MD6" association "MDlevel6" ports 2 end-point down transmit-interval 100
configure cfm domain "MD3" association "MDlevel3" ports 3 add end-point down 63
configure cfm domain "MD3" association "MDlevel3" ports 3 end-point down transmit-interval 100
configure cfm domain "MD5MEP" association "MDlevel5Mep" ports 3 add end-point up 663
configure cfm domain "MD6" association "MDlevel6" ports 2 end-point down add group "L0605"
configure cfm domain "MD6" association "MDlevel6" ports 1 end-point down add group "L0607"
configure cfm domain "MD3" association "MDlevel3" ports 3 end-point down add group "L0618"
configure cfm domain "MD5MEP" association "MDlevel5Mep" ports 3 end-point up add group "UPMEP663"
configure cfm group "L0605" add rmep 52
configure cfm group "L0607" add rmep 71
configure cfm group "L0618" add rmep 82
configure cfm group "UPMEP663" add rmep 773

#
# Module erps configuration.
#
enable erps
create erps sub_ring06-08
configure erps sub_ring06-08 subring-mode no-virtualChannel
configure erps sub_ring06-08 add control vlan c_sr_vlan
configure erps sub_ring06-08 ring-port east 3
configure erps sub_ring06-08 neighbor-port 3
configure erps sub_ring06-08 timer wait-to-restore 20000
configure erps sub_ring06-08 cfm port east add group L0618
configure erps sub_ring06-08 cfm protection primary add group UPMEP663
enable erps sub_ring06-08
create erps main_ring05-07
configure erps main_ring05-07 subring-mode no-virtualChannel
configure erps main_ring05-07 add control vlan c_vlan
configure erps main_ring05-07 ring-port east 1
configure erps main_ring05-07 ring-port west 2
configure erps main_ring05-07 timer wait-to-restore 10000
configure erps main_ring05-07 cfm port east add group L0607
configure erps main_ring05-07 cfm port west add group L0605
enable erps main_ring05-07
configure erps sub_ring06-08 add protected vlan p_vlan_CSP
configure erps sub_ring06-08 add protected vlan p_vlan_Mgmt
configure erps main_ring05-07 add protected vlan p_vlan_CSP
configure erps main_ring05-07 add protected vlan p_vlan_Mgmt
configure erps main_ring05-07 add protected vlan c_mep_subring06-08
configure erps main_ring05-07 add sub-ring sub_ring06-08
configure erps sub_ring06-08 add topology-change main_ring05-07


EXOS-UPMEP-VM-07

#
# Module vlan configuration.
#
configure vlan default delete ports all
configure vr VR-Default delete ports 1-3
configure vr VR-Default add ports 1-3
configure vlan default delete ports 1-3
create vlan "c_mep_subring06-08"
configure vlan c_mep_subring06-08 tag 68
create vlan "c_sr_vlan"
configure vlan c_sr_vlan tag 11
create vlan "c_vlan"
configure vlan c_vlan tag 10
create vlan "p_vlan_CSP"
configure vlan p_vlan_CSP tag 20
create vlan "p_vlan_Mgmt"
configure vlan p_vlan_Mgmt tag 30
configure vlan c_mep_subring06-08 add ports 1-3 tagged
configure vlan c_sr_vlan add ports 3 tagged
configure vlan c_vlan add ports 1-2 tagged
configure vlan p_vlan_CSP add ports 1-3 tagged
configure vlan p_vlan_Mgmt add ports 1-3 tagged

#
# Module dot1ag configuration.
#
create cfm domain string "MD6" md-level 2
create cfm domain string "MD3" md-level 3
create cfm domain string "MD5MEP" md-level 5
configure cfm domain "MD6" add association string "MDlevel6" vlan "c_vlan"
configure cfm domain "MD3" add association string "MDlevel3" vlan "c_sr_vlan"
configure cfm domain "MD5MEP" add association string "MDlevel5Mep" vlan "c_mep_subring06-08"
configure cfm domain "MD6" association "MDlevel6" ports 1 add end-point down 71
configure cfm domain "MD6" association "MDlevel6" ports 1 end-point down transmit-interval 100
configure cfm domain "MD6" association "MDlevel6" ports 2 add end-point down 72
configure cfm domain "MD6" association "MDlevel6" ports 2 end-point down transmit-interval 100
configure cfm domain "MD3" association "MDlevel3" ports 3 add end-point down 73
configure cfm domain "MD3" association "MDlevel3" ports 3 end-point down transmit-interval 100
configure cfm domain "MD5MEP" association "MDlevel5Mep" ports 3 add end-point up 773
configure cfm domain "MD6" association "MDlevel6" ports 1 end-point down add group "L0706"
configure cfm domain "MD3" association "MDlevel3" ports 3 end-point down add group "L0708"
configure cfm domain "MD6" association "MDlevel6" ports 2 end-point down add group "RPL0705"
configure cfm domain "MD5MEP" association "MDlevel5Mep" ports 3 end-point up add group "UPMEP773"
configure cfm group "L0706" add rmep 61
configure cfm group "L0708" add rmep 81
configure cfm group "RPL0705" add rmep 51
configure cfm group "UPMEP773" add rmep 663

#
# Module erps configuration.
#
enable erps
create erps sub_ring06-08
configure erps sub_ring06-08 subring-mode no-virtualChannel
configure erps sub_ring06-08 add control vlan c_sr_vlan
configure erps sub_ring06-08 ring-port east 3
configure erps sub_ring06-08 timer wait-to-restore 20000
configure erps sub_ring06-08 cfm port east add group L0708
configure erps sub_ring06-08 cfm protection primary add group UPMEP773
enable erps sub_ring06-08
create erps main_ring05-07
configure erps main_ring05-07 subring-mode no-virtualChannel
configure erps main_ring05-07 add control vlan c_vlan
configure erps main_ring05-07 ring-port east 2
configure erps main_ring05-07 ring-port west 1
configure erps main_ring05-07 neighbor-port 2
configure erps main_ring05-07 timer wait-to-restore 10000
configure erps main_ring05-07 cfm port east add group RPL0705
configure erps main_ring05-07 cfm port west add group L0706
enable erps main_ring05-07
configure erps sub_ring06-08 add protected vlan p_vlan_CSP
configure erps sub_ring06-08 add protected vlan p_vlan_Mgmt
configure erps main_ring05-07 add protected vlan p_vlan_CSP
configure erps main_ring05-07 add protected vlan p_vlan_Mgmt
configure erps main_ring05-07 add protected vlan c_mep_subring06-08
configure erps main_ring05-07 add sub-ring sub_ring06-08
configure erps sub_ring06-08 add topology-change main_ring05-07


EXOS-UPMEP-VM-08

#
# Module vlan configuration.
#
configure vlan default delete ports all
configure vr VR-Default delete ports 1-3
configure vr VR-Default add ports 1-3
configure vlan default delete ports 1-3
create vlan "c_sr2_vlan"
configure vlan c_sr2_vlan tag 12
create vlan "c_sr_vlan"
configure vlan c_sr_vlan tag 11
create vlan "p_vlan_CSP"
configure vlan p_vlan_CSP tag 20
create vlan "p_vlan_Mgmt"
configure vlan p_vlan_Mgmt tag 30
disable port 3
configure vlan c_sr2_vlan add ports 3 tagged
configure vlan c_sr_vlan add ports 1-2 tagged
configure vlan p_vlan_CSP add ports 1-3 tagged
configure vlan p_vlan_Mgmt add ports 1-3 tagged

#
# Module dot1ag configuration.
#
create cfm domain string "MD3" md-level 3
configure cfm domain "MD3" add association string "MDlevel3" vlan "c_sr_vlan"
configure cfm domain "MD3" association "MDlevel3" ports 1 add end-point down 81
configure cfm domain "MD3" association "MDlevel3" ports 1 end-point down transmit-interval 100
configure cfm domain "MD3" association "MDlevel3" ports 2 add end-point down 82
configure cfm domain "MD3" association "MDlevel3" ports 2 end-point down transmit-interval 100
configure cfm domain "MD3" association "MDlevel3" ports 1 end-point down add group "L0807"
configure cfm domain "MD3" association "MDlevel3" ports 2 end-point down add group "RPL0806"
configure cfm group "L0807" add rmep 73
configure cfm group "RPL0806" add rmep 63

#
# Module erps configuration.
#
enable erps
create erps sub_ring06-08
configure erps sub_ring06-08 subring-mode no-virtualChannel
configure erps sub_ring06-08 add control vlan c_sr_vlan
configure erps sub_ring06-08 ring-port east 1
configure erps sub_ring06-08 ring-port west 2
configure erps sub_ring06-08 protection-port 2
configure erps sub_ring06-08 timer wait-to-restore 20000
configure erps sub_ring06-08 cfm port east add group L0807
configure erps sub_ring06-08 cfm port west add group RPL0806
enable erps sub_ring06-08
configure erps sub_ring06-08 add protected vlan p_vlan_CSP
configure erps sub_ring06-08 add protected vlan p_vlan_Mgmt


Thank you for the help.


BR,

Luca.

Photo of Erik Auerswald

Erik Auerswald, Embassador

  • 12,782 Points 10k badge 2x thumb
Hello Luca,

I am not quite sure about your "no virtualChannel" configuration.

A subring without link failure can either send R-APS either in one direction, which needs a virtual channel, or send them in both directions if there is no virtual channel:
  1. A main ring does not use or need a virtual channel, so you never configure a main ring in "no virtualChannel" mode.
  2. Every node of a subring w/o a virtual channel needs to be configured as "no virtualChannel", but for the subring only, not the main ring on interconnecting nodes.
I have just skimmed the config and read "configure erps main_ring05-07 subring-mode no-virtualChannel", but did not verify if this really is the main ring.

I see that you have configured topology change propagation from the sub- to the main ring, but did not enable it.

For ERPS to perform all required FDB flushes in all possible single-failure-per-ring cases and supported topologies, topology change notification from subring to main ring must be configured and enabled on all interconnecting nodes for all subrings.

Br,
Erik
Photo of Luca Spinacci

Luca Spinacci

  • 216 Points 100 badge 2x thumb

Erik,

you are right!

I have enabled topology change propagation from the sub-ring: "enable erps sub_ring06-08 topology-change" (EXOS-UPMEP-VM-06, EXOS-UPMEP-VM-07).

The "configure erps main_ring05-07 subring-mode no-virtualChannel" was a configuration mistake. Now I have fixed it all (EXOS-UPMEP-VM-06, EXOS-UPMEP-VM-07).

Still, something is not correctly working as expected in case of double fault as per supplement 52 to ITU-T G.8032: the sub-ring seems to be influenced by a double fault involving the link at the interconnected nodes and reacts with an inconsistent behavior.


Thanks.


BR,

Luca.

Photo of Erik Auerswald

Erik Auerswald, Embassador

  • 12,782 Points 10k badge 2x thumb
Hello Luca,

the supplement 52 description of double fault protection is a bit tricky. It seems to suggest using an MS (manual switch) on the non-existing subring port of the interconnected nodes to open the RPL. How to implement this is not described.

I have not tested this, but as you describe it EXOS seems to erroneously block the existing subring port.

If you think about protecting against a double fault in a main ring via a subring, you should consider that only one subring of the main ring may open its RPL, and that not every combination of double faults in the main ring can be fixed by opening a subring's RPL.

Br,
Erik
Photo of Luca Spinacci

Luca Spinacci

  • 216 Points 100 badge 2x thumb

Erik,

thank you for the valuable information.


BR,

Luca.

Photo of Chad Smith

Chad Smith, Senior Escalation Support Engineer

  • 5,620 Points 5k badge 2x thumb
Luca,

I have setup a similar topology in my lab.  I actually see some inconsistent blocking behavior and think there may be a software issue with this feature.  I plan to reach out to the Engineering team for further clarification.  Is it possible for you to open up a case with GTAC so we can track this appropriately?

Thanks
Photo of Luca Spinacci

Luca Spinacci

  • 216 Points 100 badge 2x thumb

Chad,

I just opened the case:

# 01211874.

 

Thanks.

BR,

Luca

Photo of Chad Smith

Chad Smith, Senior Escalation Support Engineer

  • 5,620 Points 5k badge 2x thumb
The multiple fault functionality described in ITU-T G Supplement 52 is not fully supported in EXOS 21.1 and earlier releases.  The User Guide will be updated to remove references to this functionality.

GTAC Knowledge article: https://gtacknowledge.extremenetworks.com/articles/Solution/ERPS-Multiple-Failure-Protection-using-C...