ITU G.8032 ERPS (Ethernet Ring Protection Switching)

G.8032 is an ITU-T standards-based Ethernet ring loop protection protocol. It is also known as ERPS (Ethernet Ring Protection Switching). G.8032 is an alternative to REP, and shares many similarities with Cisco’s propreitary ring protection protocol. I believe G.8032 converges even faster than REP because it uses CFM for link failure detection.

One big difference in G.8032 compared to REP, is that in G.8032 you pick the link that you want to block. This link is called the RPL (ring protection link). The device and port the link connects to is called the RPL owner and the RPL port, respectively. There is no such thing as an “edge port” in G.8032.

If a link in the ring fails, the devices on either end of the failed link send R-APS (Ring Automatic Protection Switching) messages indicating that the link has failed and to unblock the RPL port. This message is called an R-APS SF (Signal Failure) message.

If the link comes back up, the devices send R-APS NR (No Request) messages that indicate that the link is back up, and to block the RPL port again. The R-APS messages are basically on/off switches that turn the RPL link on and off depending on whether there is link failure in the topology. Just like REP, you can only have at most one single link fail at any given time.

Instead of PDUs, G.8032 relies on CFM to detect link failures. Therefore to run G.8032 you need to enable CFM on all nodes and configure a CFM domain. G.8032 uses CFM continuity check messages for which you can configure the interval as low as 3.3msec. This allows for extremely fast failover.

Configuration

Just like REP, we cannot run G.8032 on virtual equipment. However we can examine the basic configuration steps to understand how it works.

  1. Enable CFM and configure g8032 as a registered client of CFM. This is very similar to the way routing protocols register with BFD. When CFM detects the link down, it notifies g8032. efd stands for Ethernet Fault Detection.

    ethernet cfm ieee
    ethernet cfm global
    ethernet cfm domain name level level-num
     service name evc name
      continuity-check
      continuity-check interval interval  ! This can be as low as 3.3msec
      efd notify g8032
    !
    int Gi0/0
     service instance number ethernet evc-name
      cfm mep domain name mpid number

    Each device should have a unique mpid, and you should be able to use the same mpid on each of the two interfaces. (R1 can use mpid 1 on both interfaces, R2 can use mpid 2 on both interfaces, etc). By defining every interface as a MEP, it means that every CFM domain only spans a single link. Put another way, every link in the ring has its own independent CFM domain.

  2. Create a g8032 ring profile.

    ethernet ring g8032 profile name

  3. Define the ring. You must associate up to two ports with the ring on every device. This is a basic rule of closed rings - every device has exactly two ports belonging to the ring. If the ring is an open ring, two devices will only have one port in the ring. I believe every device in the open ring will need to define the ring as an open-ring in this case.

    ethernet ring g8032 ring-name
     open-ring  ! Optional
    
     port0 interface Gi0/0
      monitor service instance instance-id
     port1 interface Gi0/1
      monitor service instance instance-id
    
     instance number
      profile profile-name
    
      ! On the PRL owner
      rpl port0 owner
    	
      ! VLANs included in the ring. This allows you to load-balance per-VLAN like REP
      inclusion-list vlan-ids ids
    
      ! This defines the ports/service instances that will be used for the R-APS messages
      aps-channel
       level num
       port0 service instance instance-id
       port1 service instance instance-id

Further Reading

https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/cether/configuration/15-s/ce-15-s-book/ce-g8032-ering-pro.html

https://www.youtube.com/watch?v=68JuiPNl8kQ

Last updated