G.8032 Ethernet Ring Protection Single Ring Topology

This chapter provides information about G.8032 Ethernet ring protection single ring topology.

Topics in this chapter include:

Applicability

The chapter was initially written for SR OS Release 8.0.R7, but the CLI in the current edition corresponds to SR OS Release 23.3.R2. This chapter describes ring protection for a single ring topology. Protection for multiple ring topologies is covered in G.8032 Ethernet Ring Protection Multiple Ring Topology.

Overview

G.8032 Ethernet ring protection is supported for data service SAPs within a regular VPLS service, a provider backbone bridging (PBB) VPLS (I/B-component), or a routed VPLS (R-VPLS). G.8032 is one of the fastest protection schemes for Ethernet networks.

ITU-T G.8032v2 specifies protection switching mechanisms and a protocol for Ethernet layer network (ETH) Ethernet rings. Ethernet rings can provide wide-area multi-point connectivity more economically due to their reduced number of links. The mechanisms and protocol defined in ITU-T G.8032v2 achieve highly reliable and stable protection and never form loops, which would negatively affect network operation and service availability. Each ring node is connected to adjacent nodes participating in the same ring using two independent paths, which use ring links that are configured on ports or link aggregation groups (LAGs). A ring link is bounded by two adjacent nodes and a port for a ring link is called a ring port. The minimum number of nodes on a ring is two.

The fundamentals of this ring protection switching architecture are:

  • the principle of loop avoidance and

  • the utilization of learning, forwarding, and address table mechanisms defined in the ITU-T G.8032v2 Ethernet flow forwarding function (ETH_FF) (control plane).

Loop avoidance in the ring is achieved by guaranteeing that, at any time, traffic may flow on all but one of the ring links. This particular link is called the ring protection link (RPL) and under normal conditions this link is blocked, so it is not used for traffic. One designated node, the RPL owner, is responsible to block traffic over the one designated RPL. Under a ring failure condition, the RPL owner is responsible for unblocking the RPL, allowing the RPL to be used for traffic. The protocol ensures that even without an RPL owner defined, one link will be blocked and it operates as a break before make protocol, specifically the protocol guarantees that no link is restored until a different link in the ring is blocked. The other side of the RPL is configured as an RPL neighbor. An RPL neighbor blocks traffic on the link.

The event of a ring link or ring node failure results in protection switching of the traffic. This is achieved under the control of the ETH_FF functions on all ring nodes. A ring automatic protection switching (R-APS) protocol is used to coordinate the protection actions over the ring. The protection switching mechanisms and protocol supports a multi-ring/ladder network that consists of connected Ethernet rings, however, that is not covered in this chapter.

Ring protection mechanism

The ring protection protocol is based on the following building blocks:

  • ring status change on failure

    • idle → link failure → protection → recovery → idle

  • ring control state changes

    • idle → protection → manual switch → forced switch → pending

  • re-use existing ETH OAM

    • monitoring: ETH continuity check messages

    • failure notification: Y.1731 signal failure

  • forwarding database MAC flush on ring status change

  • ring protection link (RPL) defines blocked link in idle status

G.8032 operation and topologies shows a ring of six nodes, with the RPL owner on the top right. One link of the RPL owner is designated to be the RPL and will be blocked in order to prevent a loop. Schematics of the physical and logical topologies are also shown.

When an RPL owner and RPL end are configured, the associated link will be the RPL when the ring is fully operational and so be blocked by the RPL owner. If a different ring link fails, then the RPL will be unblocked by the RPL owner. When the failed link recovers, it will initially be blocked by one of its adjacent nodes. The adjacent node sends an R-APS message across the ring to indicate the error is cleared and after a configurable time, if reversion is enabled, the RPL will revert to being blocked with all other links unblocked. This ensures that the ring topology is predictable when fully operational.

If a specific RPL owner is not configured, then the last link to become active will be blocked and the ring will remain in this state until another link fails. However, this operation makes the selection of the blocked link non-deterministic.

Figure 1. G.8032 operation and topologies

The protection protocol uses a specific control VLAN, with the associated data VLANs taking their forwarding state from the control VLAN.

Configuration

The example topology is shown in Example topology.

Figure 2. Example topology

The Ethernet ring configuration commands are as follows:

configure 
    eth-ring <ring-index [1..128]>
        ccm-hold-time { [down <down-timeout>] [up <up-timeout>] }
        compatible-version <version>            # [1..2] - Default: 2
        description <description-string>
        guard-time <time>       # [1..20] in deciseconds - Default: 5
        node-id <xx:xx:xx:xx:xx:xx or xx-xx-xx-xx-xx-xx>
        path {a|b} [ { <port-id>|<lag-id> } raps-tag <qtag1>[.<qtag2>] ]
            description <description-string>
            eth-cfm
                mep <mep-id> domain <md-index> association <ma-index>
                <...>
            rpl-end
            shutdown
        revert-time <time>      # [60..720] in seconds - Default: 300
        rpl-node {owner|nbr}
        shutdown
        sub-ring {virtual-link|non-virtual-link}       # beyond the scope

Parameters:

  • ring-index — This is the number by which the ring is referenced, values: 1 to 128.

  • ccm-hold-time {[down <down-timeout>] [up <up-timeout>]}

    • down — This command specifies the timer that controls the delay between detecting that ring path is down and reporting it to the G.8032 protection module. If a non-zero value is configured, the system will wait for the time specified in the value parameter before reporting it to the G.8032 protection module. This parameter applies only to the ring path continuity check message (CCM); it does not apply to the ring port link state. To dampen ring port link state transitions, use the hold-time parameter from the physical member port. This is useful if the underlying path between two nodes is going across an optical system which implements its own protection.

    • up — This command specifies the timer which controls the delay between detecting that the ring path is up and reporting it to the G.8032 protection module. If a non-zero value is configured, the system will wait for the time specified in the value parameter before reporting it to the G.8032 protection module. This parameter applies only to ring path CCM; it does not apply to the member port link state. To dampen member port link state transitions, use the hold-time parameter from the physical member port.

    • timeout values:

       <down-timeout>       : [0..5000] in 100ths of seconds - Default: 0
       <up-timeout>         : [0..5000] in 10ths of seconds - Default: 20
      
  • compatible version — This command configures the Ethernet ring compatibility version for the G.8032 state machine and messages. The default is version 2 (ITU G.8032v2) and all SR OS nodes use version 2. If there is a need to interwork with third party devices that only support version 1, this can be set to version 1 allowing the reception of version 1 PDUs. Version 2 is encoded as 1 in the R-APS messages. Compatibility allows the reception of version 1 (encoded as 0) R-APS PDUs but, as per the G.8032 specification, higher versions are ignored on reception. For SR OS nodes, messages are always originated with version 2. Therefore, if a third party switch supported version 3 (encoded as 2) or higher, interworking is also supported provided the other switch is compatible with version 2 (encoded as 1).

  • description <description-string> — This configures a text string, up to 80 characters, which can be used to describe the use of the Ethernet ring.

  • guard-time <time> — The forwarding method, in which R-APS messages are copied and forwarded at every Ethernet ring node, can result in a message corresponding to an old request, that is no longer relevant, being received by Ethernet ring nodes. Reception of an old R-APS message may result in erroneous ring state interpretation by some Ethernet ring nodes. The guard timer is used to prevent Ethernet ring nodes from acting upon outdated R-APS messages and prevents the possibility of forming a closed loop. Messages are not forwarded when the guard-timer is running.

    The guard time is configured in 10ths of seconds and the default guard time is 0.5 s:

    [1..20] in deciseconds - Default: 5
    
  • node-id <xx:xx:xx:xx:xx:xx or xx-xx-xx-xx-xx-xx> — The node identifier can be explicitly configured. In typical configurations, the node ID is not configured; by default, the chassis MAC address is used as node ID.

  • path {a|b} [{<port-id>|<lag-id>} raps-tag <qtag1>[.<qtag2>]] — The path parameter defines the paths around the ring, of which there are two in different directions on the ring: an "a" path and a "b" path. In addition, the path command configures the encapsulation used for the R-APS messages on the ring. These can be either single or double tagged.

    • description <description-string> — The description is a text string with up to 80 characters, that can be used to describe the use of the path.

    • eth-cfm — Configures the associated Ethernet connectivity fault management (CFM) parameters.

      • mep <mep-id> domain <md-index> association <ma-index> — The maintenance endpoint (MEP) defined under the path is used for the G.8032 protocol messages, which are based on IEEE 802.1ag/Y.1731 CFM frames.

    • rpl-end — When configured, this path is expected to be one end of the RPL. This parameter must be configured in conjunction with the rpl-node.

    • shutdown — This command disables the path.

  • revert-time <time> — This command configures the revert time for an Ethernet ring. The revert time is the time that the RPL will wait before returning to the blocked state. Configuring no revert-time disables reversion, effectively setting the revert-time to zero.

    Values:

    [60..720] in seconds - Default: 300
    
  • rpl-node {owner|nbr} — A node can be designated as either the owner of the RPL, in which case this node is responsible for the RPL, or the nbr, in which case this node is expected to be the neighbor to the RPL owner across the RPL. The neighbor is optional and is included to be compliant with the specification. This parameter must be configured in conjunction with the rpl-end parameter.

  • shutdown — This command disables the ring.

  • sub-ring {virtual-link|non-virtual-link} — The sub-ring command is beyond the scope of this chapter because it is only required for multiple ring topologies.

Logging

Create following log-id on PE-2 to see major events logged to the console on PE-2. This is an optional step; alternatively, log 99 can be consulted.

# on PE-2:
configure
    log
        log-id 1 name "log1"
            from main 
            to console
        exit
    exit

Configure encapsulation for ring ports

To configure R-APS, there should be at least two VPLS services for one Ethernet ring instance, one VPLS for the control channel and the other VPLSs for data channels. The control channel is used for R-APS signaling while the data channel is for user data traffic. The state of the data channels is inherited from the state of the control channel.

  • An Ethernet ring needs R-APS tags to send and receive G.8032 signaling messages. To configure a control channel, an access SAP configuration is required on each path a port and path b port. The SAP configuration follows that of the port and must be either dot1Q or QinQ, so the control and data packets are either single tagged or double tagged. It is also possible to have the control VPLS using single tagged frames with the data VPLSs using double tagged frames; this requires the system to be configured with the new-qinq-untagged-sap parameter (configure system ethernet new-qinq-untagged-sap), with the ring path R-APS tags and control VPLS SAPs configured as qtag.0, and the data VPLS SAPs configured as qtag1.qtag2.

    In this example, single tags are used so the ports on the ring nodes are configured as follows:

    # on PE-1, PE-2, PE-3:
    configure
        port 1/1/c1/1
            ethernet
                mode access
                encap-type dot1q
            exit
            no shutdown
        exit
        port 1/1/c2/1
            ethernet
                mode access
                encap-type dot1q
            exit
            no shutdown
        exit

Configure Ethernet CFM

Ethernet ring requires Ethernet CFM domains, associations, and MEPs being configured. The domain format must be none and association name must be ITU-T carrier code-based (ICC-based - Y.1731). The minimum CCM interval for the SR OS nodes is 10ms. The Ethernet ring MEP requires a CCM interval, such as 10ms, 100ms, or 1s, to be configured.

The MEPs used for R-APS control normally have CCM configured on the control channel path MEPs for failure detection. Alternatively, detecting a failure of the ring may be achieved by running Ethernet in the first mile (EFM) at the port level if CCM is not possible at 10ms, 100ms, or 1s. Loss-of-signal, in conjunction with other OAM, is applicable only when the nodes are directly connected.

To omit the failure detecting CCMs, remove the ccm-enable from under the path MEPs and remove the remote-mepid from under the eth-cfm>domain>association on all nodes.

Ethernet CFM configuration shows the Ethernet CFM configuration used here.

Figure 3. Ethernet CFM configuration

The Ethernet CFM configuration of the nodes is as follows.

# on PE-1:
configure
    eth-cfm
        domain 1 format none level 3 admin-name "domain-1"
            association 1 format icc-based name "ring1_1_2" admin-name "association-1"
                ccm-interval 1
                remote-mepid 1122
            exit
            association 2 format icc-based name "ring1_1_3" admin-name "association-2"
                ccm-interval 1
                remote-mepid 1133
            exit
        exit
# on PE-2:
configure
    eth-cfm
        domain 1 format none level 3 admin-name "domain-1"
            association 1 format icc-based name "ring1_2_3" admin-name "association-1"
                ccm-interval 1
                remote-mepid 1233 
            exit
            association 2 format icc-based name "ring1_1_2" admin-name "association-2"
                ccm-interval 1
                remote-mepid 1121 
            exit
        exit
# on PE-3:
configure
    eth-cfm
        domain 1 format none level 3 admin-name "domain-1"
            association 1 format icc-based name "ring1_1_3" admin-name "association-1"
                ccm-interval 1
                remote-mepid 1131 
            exit
            association 2 format icc-based name "ring1_2_3" admin-name "association-2"
                ccm-interval 1
                remote-mepid 1232 
            exit
        exit

Configure Ethernet ring

Two paths need to be configured to form a ring. In this example, VLAN tag 1 is used as control channel for R-APS signaling in the ring.

# on PE-1:
configure
    eth-ring 1
        path a 1/1/c1/1 raps-tag 1
            eth-cfm
                 mep 1121 domain 1 association 1
                    ccm-enable
                    control-mep
                    no shutdown
                exit
            exit
            no shutdown
        exit
        path b 1/1/c2/1 raps-tag 1
            eth-cfm
                mep 1131 domain 1 association 2
                    ccm-enable
                    control-mep
                    no shutdown
                exit
            exit
            no shutdown
        exit
        no shutdown
    exit

It is mandatory to configure a MEP in the path context, otherwise the following error will be displayed:

*A:PE-1>config>eth-ring# path a 1/1/c1/1 raps-tag 1
*A:PE-1>config>eth-ring>path# no shutdown
INFO: ERMGR #1001 Not permitted - must configure eth-cfm MEP first

While MEPs are mandatory, enabling CCM on the MEP in the path context as a failure detection mechanism is optional.

In order to define the RPL, node PE-2 is configured as the RPL owner and path b as the RPL end. The link between nodes PE-1 and PE-2 will be the RPL with node PE-2 blocking that link when the ring is fully operational.

# on PE-2:
configure
    eth-ring 1
        revert-time 60
        rpl-node owner
        path a 1/1/c1/1 raps-tag 1
            eth-cfm
                mep 1232 domain 1 association 1
                    ccm-enable
                    control-mep
                    no shutdown
                exit
            exit
            no shutdown
        exit
        no shutdown
        path b 1/1/c2/1 raps-tag 1
            rpl-end
            eth-cfm
                mep 1122 domain 1 association 2
                    ccm-enable
                    control-mep
                    no shutdown
                exit
            exit
            no shutdown
        exit
        no shutdown
    exit

It is not allowed to configure a path as an RPL end without having configured the node on this ring to be either the RPL owner or nbr otherwise the following error message is reported.

*A:PE-2>config>eth-ring>path# rpl-end
INFO: ERMGR #1001 Not permitted - path-type rpl-end is not consistent with eth-ring 'rpl-node' type
# on PE-3:
configure
    eth-ring 1
        path a 1/1/c1/1 raps-tag 1
            eth-cfm
                mep 1133 domain 1 association 1
                    ccm-enable
                    control-mep
                    no shutdown
                exit
            exit
            no shutdown
        exit
        path b 1/1/c2/1 raps-tag 1
            eth-cfm
                mep 1233 domain 1 association 2
                    ccm-enable
                    control-mep
                    no shutdown
                exit
            exit
            no shutdown
        exit
        no shutdown
    exit

Until the Ethernet ring instance is attached to the service (VPLS in this case), the ring operational status is down and the forwarding status of each port is blocked. This prevents operators from creating a loop by misconfiguration. This state can be seen on ring node PE-1 as follows:

*A:PE-1# show eth-ring 1

===============================================================================
Ethernet Ring 1 Information
===============================================================================
Description        : (Not Specified)
Admin State        : Up                 Oper State       : Down
Node ID            : 02:09:ff:00:00:00
Guard Time         :    5 deciseconds   RPL Node         : rplNone
Max Revert Time    :  300 seconds       Time to Revert   : N/A
CCM Hold Down Time :    0 centiseconds  CCM Hold Up Time :   20 deciseconds
Compatible Version : 2
APS Tx PDU         : Request State: 0xB
                     Sub-Code     : 0x0
                     Status       : 0x20  ( BPR )
                     Node ID      : 02:09:ff:00:00:00
Defect Status      :

Sub-Ring Type      : none

-------------------------------------------------------------------------------
Ethernet Ring Path Summary
-------------------------------------------------------------------------------
Path Port             Raps-Tag     Admin/Oper      Type            Fwd State
-------------------------------------------------------------------------------
  a  1/1/c1/1         1               Up/Down      normal          blocked
  b  1/1/c2/1         1               Up/Down      normal          blocked
===============================================================================

Configure control channel VPLS service

Paths a and b defined in the Ethernet ring must be added as SAPs into a VPLS service (standard VPLS in this example) using the eth-ring parameter. The SAP encapsulation values must match the values of the raps-tag configured for the associated path.

G.8032 uses the same R-APS tag value on all nodes on the ring, as configured in this example. However, the SR OS implementation relaxes this constraint by requiring the tag to match only on adjacent nodes.

# on PE-1:
configure
    service
        vpls 1 name "VPLS-1" customer 1 create           
            description "control channel VPLS 1 tag 1"
            sap 1/1/c1/1:1 eth-ring 1 create
            exit
            sap 1/1/c2/1:1 eth-ring 1 create
            exit
            no shutdown
        exit
# on PE-2:
configure
    service
        vpls 1 name "VPLS-1" customer 1 create           
            description "control channel VPLS 1 tag 1"
            sap 1/1/c1/1:1 eth-ring 1 create
            exit
            sap 1/1/c2/1:1 eth-ring 1 create
            exit
            no shutdown
        exit
# on PE-3:
configure
    service
        vpls 1 name "VPLS-1" customer 1 create           
            description "control channel VPLS 1 tag 1"
            sap 1/1/c1/1:1 eth-ring 1 create
            exit
            sap 1/1/c2/1:1 eth-ring 1 create
            exit
            no shutdown
        exit

A normal SAP or SDP can be added in a control channel VPLS on condition the eth-ring parameter is present. Any attempt to add a SAP or SDP without this parameter into a control channel VPLS results in the following message being displayed. In the following example, SAP 1/1/c3/1:1 is added to control VPLS 1 without the eth-ring parameter.

*A:PE-1>config>service>vpls# sap 1/1/c3/1:1 create 
MINOR: SVCMGR #1321 Service contains an Ethernet ring control SAP

In non-failure conditions, the Ethernet ring is operationally up and the RPL is blocking successfully on ring node PE-2 port 1/1/c2/1, as expected from the RPL owner and RPL end configuration.

An overview of all of the rings can be shown using the following commands, in this case on node PE-2.

The following command on PE-2 shows the Ethernet ring status.

*A:PE-2# show eth-ring status

===============================================================================
Ethernet Ring (Status information)
===============================================================================
Ring   Admin  Oper       Path Information                 MEP Information
ID     State  State  Path         Tag       State     Ctrl-MEP CC-Intvl Defects
-------------------------------------------------------------------------------
1      Up     Up     a - 1/1/c1/1     1     Up        Yes      1         -----
                     b - 1/1/c2/1     1     Up        Yes      1         -----
===============================================================================
Ethernet Tunnel MEP Defect Legend:
R = Rdi, M = MacStatus, C = RemoteCCM, E = ErrorCCM, X = XconCCM

The following command shows the ring and path forwarding states.

*A:PE-2# show eth-ring

===============================================================================
Ethernet Rings (summary)
===============================================================================
Ring Int  Admin Oper            Paths Summary                       Path States
ID   ID   State State                                               a     b
-------------------------------------------------------------------------------
1    -    Up    Up    a - 1/1/c1/1     1     b - 1/1/c2/1     1     U     B
===============================================================================
Ethernet Ring Summary Legend:   B - Blocked    U - Unblocked

The show eth-ring 1 command on the different nodes shows specific information for Ethernet ring 1:

*A:PE-1# show eth-ring 1

===============================================================================
Ethernet Ring 1 Information
===============================================================================
Description        : (Not Specified)
Admin State        : Up                 Oper State       : Up
Node ID            : 02:09:ff:00:00:00
Guard Time         :    5 deciseconds   RPL Node         : rplNone
Max Revert Time    :  300 seconds       Time to Revert   : N/A
CCM Hold Down Time :    0 centiseconds  CCM Hold Up Time :   20 deciseconds
Compatible Version : 2
APS Tx PDU         : N/A
Defect Status      :

Sub-Ring Type      : none

-------------------------------------------------------------------------------
Ethernet Ring Path Summary
-------------------------------------------------------------------------------
Path Port             Raps-Tag     Admin/Oper      Type            Fwd State
-------------------------------------------------------------------------------
  a  1/1/c1/1         1               Up/Up        normal          unblocked
  b  1/1/c2/1         1               Up/Up        normal          unblocked
===============================================================================
*A:PE-2# show eth-ring 1

===============================================================================
Ethernet Ring 1 Information
===============================================================================
Description        : (Not Specified)
Admin State        : Up                 Oper State       : Up
Node ID            : 02:0b:ff:00:00:00
Guard Time         :    5 deciseconds   RPL Node         : rplOwner
Max Revert Time    :   60 seconds       Time to Revert   : N/A
CCM Hold Down Time :    0 centiseconds  CCM Hold Up Time :   20 deciseconds
Compatible Version : 2
APS Tx PDU         : Request State: 0x0
                     Sub-Code     : 0x0
                     Status       : 0xA0  ( RB BPR )
                     Node ID      : 02:0b:ff:00:00:00
Defect Status      :

Sub-Ring Type      : none

-------------------------------------------------------------------------------
Ethernet Ring Path Summary
-------------------------------------------------------------------------------
Path Port             Raps-Tag     Admin/Oper      Type            Fwd State
-------------------------------------------------------------------------------
  a  1/1/c1/1         1               Up/Up        normal          unblocked
  b  1/1/c2/1         1               Up/Up        rplEnd          blocked
===============================================================================

Node PE-2 is the RPL owner and port 1/1/c2/1 is the RPL end. The revert-time shows the configured value.

When a revert is pending after a failure restoration, the "Time to Revert" shows the number of seconds remaining before the revert occurs, as follows:

*A:PE-2# show eth-ring 1

===============================================================================
Ethernet Ring 1 Information
===============================================================================
Description        : (Not Specified)
Admin State        : Up                 Oper State       : Up
Node ID            : 02:0b:ff:00:00:00
Guard Time         :    5 deciseconds   RPL Node         : rplOwner
Max Revert Time    :   60 seconds       Time to Revert   :   53 seconds
CCM Hold Down Time :    0 centiseconds  CCM Hold Up Time :   20 deciseconds
Compatible Version : 2
APS Tx PDU         : N/A
Defect Status      :

Sub-Ring Type      : none

-------------------------------------------------------------------------------
Ethernet Ring Path Summary
-------------------------------------------------------------------------------
Path Port             Raps-Tag     Admin/Oper      Type            Fwd State
-------------------------------------------------------------------------------
  a  1/1/c1/1         1               Up/Up        normal          unblocked
  b  1/1/c2/1         1               Up/Up        rplEnd          unblocked
===============================================================================

On reversion, the following message is logged in log 99.

72 2023/05/04 12:46:08.692 UTC MINOR: ERING #2001 Base eth-ring-1
"Eth-Ring 1 path b changed fwd state to blocked"

The status of Ethernet ring 1 on PE-3 is as follows:

*A:PE-3# show eth-ring 1

===============================================================================
Ethernet Ring 1 Information
===============================================================================
Description        : (Not Specified)
Admin State        : Up                 Oper State       : Up
Node ID            : 02:0d:ff:00:00:00
Guard Time         :    5 deciseconds   RPL Node         : rplNone
Max Revert Time    :  300 seconds       Time to Revert   : N/A
CCM Hold Down Time :    0 centiseconds  CCM Hold Up Time :   20 deciseconds
Compatible Version : 2
APS Tx PDU         : N/A
Defect Status      :

Sub-Ring Type      : none

-------------------------------------------------------------------------------
Ethernet Ring Path Summary
-------------------------------------------------------------------------------
Path Port             Raps-Tag     Admin/Oper      Type            Fwd State
-------------------------------------------------------------------------------
  a  1/1/c1/1         1               Up/Up        normal          unblocked
  b  1/1/c2/1         1               Up/Up        normal          unblocked
===============================================================================

Finally, the following commands on PE-2 show the details of the individual paths:

*A:PE-2# show eth-ring 1 path a

===============================================================================
Ethernet Ring 1 Path Information
===============================================================================
Description        : (Not Specified)
Port               : 1/1/c1/1           Raps-Tag         : 1
Admin State        : Up                 Oper State       : Up
Path Type          : normal             Fwd State        : unblocked
                                        Fwd State Change : 05/04/2023 12:45:09
Last Switch Command: noCmd
APS Rx PDU         : Request State: 0x0
                     Sub-Code     : 0x0
                     Status       : 0x20  ( BPR )
                     Node ID      : 02:0d:ff:00:00:00

===============================================================================

*A:PE-2# show eth-ring 1 path b

===============================================================================
Ethernet Ring 1 Path Information
===============================================================================
Description        : (Not Specified)
Port               : 1/1/c2/1           Raps-Tag         : 1
Admin State        : Up                 Oper State       : Up
Path Type          : rplEnd             Fwd State        : blocked
                                        Fwd State Change : 05/04/2023 12:46:09
Last Switch Command: noCmd
APS Rx PDU         : Request State: 0x0
                     Sub-Code     : 0x0
                     Status       : 0x20  ( BPR )
                     Node ID      : 02:0d:ff:00:00:00

===============================================================================

Configure user data channel VPLS service

The user data channels are created on a separate VPLS, "VPLS-100" in the example. The ring data channels must be on the same ports as the corresponding control channels configured above. The access into the data services can use SAPs and/or SDPs.

# on PE-1:
configure
    service
        vpls 100 name "VPLS-100" customer 1 create
            description "data channel VPLS 100"
            sap 1/1/c1/1:100 eth-ring 1 create
            exit
            sap 1/1/c2/1:100 eth-ring 1 create
            exit
            sap 1/1/c3/1:100 create
            exit
            no shutdown
        exit
# on PE-2:
configure
    service
        vpls 100 name "VPLS-100" customer 1 create
            description "data channel VPLS 100"
            sap 1/1/c1/1:100 eth-ring 1 create
            exit
            sap 1/1/c2/1:100 eth-ring 1 create
            exit
            sap 1/1/c3/1:100 create
            exit
            no shutdown
        exit
# on PE-3:
configure
    service
        vpls 100 name "VPLS-100" customer 1 create
            description "data channel VPLS 100"
            sap 1/1/c1/1:100 eth-ring 1 create
            exit
            sap 1/1/c2/1:100 eth-ring 1 create
            exit
            sap 1/1/c3/1:100 create
            exit
            no shutdown
        exit

The following command on PE-1 shows all the SAPs which are configured to use Ethernet rings.

*A:PE-1# show service sap-using eth-ring

===============================================================================
Service Access Points (Ethernet Ring)
===============================================================================
SapId                    SvcId       Eth-Ring Path Admin Oper  Blocked Control/
                                                   State State         Data
-------------------------------------------------------------------------------
1/1/c1/1:1               1           1        a    Up    Up    No      Ctrl
1/1/c2/1:1               1           1        b    Up    Up    No      Ctrl
1/1/c1/1:100             100         1        a    Up    Up    No      Data
1/1/c2/1:100             100         1        b    Up    Up    No      Data
-------------------------------------------------------------------------------
Number of SAPs : 4
===============================================================================

Debug

To emulate a failure on Ethernet ring 1, the unblocked port (1/1/c1/1) on node PE-2 is disabled, as follows.

# on PE-2:
configure 
    port 1/1/c1/1 
        shutdown

The following messages are logged in log 99 when the failure occurs:

85 2023/05/04 12:49:46.602 UTC MINOR: ETH_CFM #2001 Base
"MEP 1/1/1232 highest defect is now defRemoteCCM"

84 2023/05/04 12:49:43.312 UTC MAJOR: SVCMGR #2210 Base
"Processing of an access port state change event is finished and the status of all affected 
SAPs on port 1/1/c1/1 has been updated."

83 2023/05/04 12:49:43.308 UTC MINOR: ERING #2001 Base eth-ring-1
"Eth-Ring 1 path b changed fwd state to unblocked"

82 2023/05/04 12:49:43.308 UTC MINOR: ERING #2001 Base eth-ring-1
"Eth-Ring 1 path a changed fwd state to blocked"

81 2023/05/04 12:49:43.308 UTC WARNING: SNMP #2004 Base 1/1/c1/1
"Interface 1/1/c1/1 is not operational"

For troubleshooting, the tools dump eth-ring <ring-index> command displays path information, the internal state of the control protocol, related statistics information and up to the last 20 protocol events (including messages sent and received, and the expiration of timers). An associated parameter clear exists, clearing the event information in this output when the command is entered. The following is an example of the output on node PE-2 with port 1/1/c1/1 disabled.

*A:PE-2# tools dump eth-ring 1

ringId 1 (Up/Up): numPaths 2 nodeId 02:0b:ff:00:00:00
 SubRing: none (interconnect ring 0, propagateTc  No), Cnt 0
  path-a, port 1/1/c1/1 (Down), tag 1.0(Dn) status (Up/Dn/Blk)
      cc (Dn/Up): Cnt 4/3 tm 000 00:12:39.000/000 00:07:58.420
      state: Cnt 7 B/F 000 00:12:35.700/000 00:08:01.000, flag: 0x0
  path-b, port 1/1/c2/1 (Up), tag 1.0(Up) status (Up/Up/Fwd)
      cc (Dn/Up): Cnt 2/2 tm 497 02:27:20.970/000 00:03:59.980
      state: Cnt 8 B/F 000 00:09:01.090/000 00:12:35.700, flag: 0x0
  FsmState=  PROT, Rpl = Owner, revert = 60 s, guard = 5 ds
    Defects =
    Running Timers = PduReTx
    lastTxPdu = 0xb000 Sf
    path-a Normal, RxId(I)= 02:0d:ff:00:00:00, rx= v1-0x0020 Nr, cmd= None
    path-b Rpl, RxId= 02:0d:ff:00:00:00, rx= v1-0xb020 Sf, cmd= None
  DebugInfo:  aPathSts 6, bPathSts 3, pm (set/clr) 0/0, txFlush 0
    RxRaps: ok 14 nok 0 self 144, TmrExp - wtr 2(0), grd 3, wtb 0
    Flush: cnt 9 (7/2/0) tm 000 00:12:39.430-000 00:12:39.430 Out/Ack 0/1
    RxRawRaps: aPath 106 bPath 127 vPath 0
    Now: 000 00:13:19.130 , softReset: No - noTx 0

  Seq Event  RxInfo(Path: NodeId-Bytes)
             state:TxInfo (Bytes)            Dir  pA  pB        Time
  === ===== ==============================  ===== === === ================
  009   pdu B: 02:09:ff:00:00:00-0x0020 Nr
              PROT  : 0xb060  Sf(DNF)       Rx<-- Fwd Blk 000 00:04:01.450
  010   bUp
              PEND-G: 0x0020  Nr            Tx--> Fwd Blk 000 00:04:01.990
  011   pdu A: 02:0d:ff:00:00:00-0x0000 Nr
              PEND-G: 0x0020  Nr            Rx<-- Fwd Blk 000 00:04:01.990
  012   pdu A: 02:0d:ff:00:00:00-0x0000 Nr
              PEND-G: 0x0020  Nr            Rx<-- Fwd Blk 000 00:04:02.090
  013   pdu B: 02:0d:ff:00:00:00-0x0000 Nr
              PEND-G: 0x0020  Nr            Rx<-- Fwd Blk 000 00:04:02.090
  014   pdu A: 02:0d:ff:00:00:00-0x0000 Nr
              PEND-G: 0x0020  Nr            Rx<-- Fwd Blk 000 00:04:02.190
  015   pdu B: 02:0d:ff:00:00:00-0x0000 Nr
              PEND-G: 0x0020  Nr            Rx<-- Fwd Blk 000 00:04:02.190
  016   pdu A: 02:0d:ff:00:00:00-0x0000 Nr
              PEND  : 0x0020  Nr            Rx<-- Fwd Blk 000 00:04:06.390
  017   pdu
              PEND  :                       ----- Fwd Fwd 000 00:04:06.390
  018   pdu B: 02:0d:ff:00:00:00-0x0000 Nr
              PEND  :                       Rx<-- Fwd Fwd 000 00:04:06.390
  019  xWtr
              IDLE  : 0x00a0  Nr(RB )       TxF-> Fwd Blk 000 00:05:06.090
  000   aDn
              PROT  : 0xb000  Sf            TxF-> Blk Fwd 000 00:07:17.900
  001   pdu B: 02:0d:ff:00:00:00-0xb020 Sf
              PROT  : 0xb000  Sf            RxF<- Blk Fwd 000 00:07:21.420
  002   aUp
              PEND-G: 0x0000  Nr            Tx--> Blk Fwd 000 00:08:00.390
  003   pdu A: 02:0d:ff:00:00:00-0x0020 Nr
              PEND  : 0x0000  Nr            Rx<-- Blk Fwd 000 00:08:01.000
  004   pdu
              PEND  :                       ----- Fwd Fwd 000 00:08:01.000
  005   pdu B: 02:0d:ff:00:00:00-0x0020 Nr
              PEND  :                       Rx<-- Fwd Fwd 000 00:08:01.000
  006  xWtr
              IDLE  : 0x00a0  Nr(RB )       TxF-> Fwd Blk 000 00:09:01.090
  007   aDn
              PROT  : 0xb000  Sf            TxF-> Blk Fwd 000 00:12:35.700
  008   pdu B: 02:0d:ff:00:00:00-0xb020 Sf
              PROT  : 0xb000  Sf            RxF<- Blk Fwd 000 00:12:39.430

Conclusion

Ethernet ring APS provides an optimal solution for designing native Ethernet services with ring topology. This protocol provides simple configuration, operation, and guaranteed fast protection time. SR OS also has a flexible encapsulation that allows dot1Q, QinQ, or PBB for the ring traffic. Ethernet ring APS can be utilized for various services such as mobile backhaul, business VPN access, aggregation, and core.