Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IEEE 802.1AG CFM connectivity management + ITU Y1731 Performance management #1182

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

AnnamalaiRajeev
Copy link

@AnnamalaiRajeev AnnamalaiRajeev commented Sep 17, 2024

Change Scope

  • 802.1AG CFM + Y1731 Performance Management profiles are being added.
  • Backward compatibility: True

Platform Implementations

// Vendor 1 CiscoXR:

// Vendor 2 Juniper:
https://www.juniper.net/documentation/us/en/software/junos/network-mgmt/topics/topic-map/cfm-configuring.html

// Vendor 3 Nokia:

[Note: Please provide at least two references to implementations which are relevant to the model changes proposed. Each implementation should be from separate organizations.].

// references

[Note: If the feature being proposed is new - and something that is being
proposed as an enhancement to device functionality, it is sufficient to have
reviewers from the producers of two different implementations].

@AnnamalaiRajeev AnnamalaiRajeev requested a review from a team as a code owner September 17, 2024 16:15
Copy link

google-cla bot commented Sep 17, 2024

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@dplore dplore self-assigned this Sep 17, 2024
* Adds references to the following leaf nodes

[1] "remote-mep-id"
[2] "mac-address"
[2] "direction"

* Updates description to "maintenance-domain" and adds a reference.

* Adds  leaf "group-name" to support Ciscoxr vendor implementation of xconnect/bridgedomains to support Ciscoxr implementation
* https://github.com/YangModels/yang/blob/main/vendor/cisco/xr/613/Cisco-IOS-XR-ethernet-cfm-cfg.yang#L776C22-L776C33

* Adds "routing-disable" action to support Arista's implementation of link loss forwarding.

* Merges ETH-SLM and ETH-LM into loss-measurement config and state.

* Creates a common performance-measurement container for all performance-measurement functions i.e. delay & loss.

* Moves "loss-measurement" and "delay-measurement" configs and states into a common performance-measurement container.

* Moves the  previously modeled loss measurement and delay measurement states into a "pm-profiles" container

• Adds leaf-ref for "policy-name" associated with the endpoint to refer to the global policy
@AnnamalaiRajeev
Copy link
Author

// Tree view - Commit 4

anamalai@gokussg:~$ path/to/venv/bin/pyang -f tree -p /google/src/cloud/anamalai/yang_p/google3/third_party/openconfig/public/release/models/ /google/src/cloud/anamalai/yang_p/google3/third_party/openconfig/public/release/models/cfm/openconfig-cfm.yang
module: openconfig-cfm
  +--rw cfm
     +--rw domains
     |  +--rw maintenance-domain* [md-id]
     |     +--rw md-id                       -> ../config/md-id
     |     +--rw config
     |     |  +--rw md-id?           oc-cfm-types:name-key-type
     |     |  +--rw level?           uint8
     |     |  +--rw md-name-type?    enumeration
     |     |  +--rw none?            boolean
     |     |  +--rw dns_like_name?   string
     |     |  +--rw address          oc-yang:mac-address
     |     |  +--rw unsigned-int     uint16
     |     |  +--rw char-string?     string
     |     +--ro state
     |     |  +--ro md-id?           oc-cfm-types:name-key-type
     |     |  +--ro level?           uint8
     |     |  +--ro md-name-type?    enumeration
     |     |  +--ro none?            boolean
     |     |  +--ro dns_like_name?   string
     |     |  +--ro address          oc-yang:mac-address
     |     |  +--ro unsigned-int     uint16
     |     |  +--ro char-string?     string
     |     +--rw maintenance-associations
     |        +--rw maintenance-association* [ma-id]
     |           +--rw ma-id            -> ../config/ma-id
     |           +--rw config
     |           |  +--rw ma-id?            oc-cfm-types:name-key-type
     |           |  +--rw group-name?       string
     |           |  +--rw ma-name-type?     enumeration
     |           |  +--rw primary-vid       oc-vlan-types:vlan-id
     |           |  +--rw char-string       string
     |           |  +--rw unsigned-int16    uint16
     |           |  +--rw vpn-oui           uint32
     |           |  +--rw vpn-index         uint32
     |           |  +--rw ccm-interval?     enumeration
     |           |  +--rw loss-threshold?   uint16
     |           +--ro state
     |           |  +--ro ma-id?            oc-cfm-types:name-key-type
     |           |  +--ro group-name?       string
     |           |  +--ro ma-name-type?     enumeration
     |           |  +--ro primary-vid       oc-vlan-types:vlan-id
     |           |  +--ro char-string       string
     |           |  +--ro unsigned-int16    uint16
     |           |  +--ro vpn-oui           uint32
     |           |  +--ro vpn-index         uint32
     |           |  +--ro ccm-interval?     enumeration
     |           |  +--ro loss-threshold?   uint16
     |           +--rw mep-endpoints
     |              +--rw mep-endpoint* [local-mep-id]
     |                 +--rw local-mep-id            -> ../config/local-mep-id
     |                 +--rw config
     |                 |  +--rw ccm-enabled?                           boolean
     |                 |  +--rw lowest-priority-defect?                oc-cfm-types:lowest-alarm-priority-type
     |                 |  +--rw fng-alarm-time?                        uint16
     |                 |  +--rw fng-reset-time?                        uint16
     |                 |  +--rw local-mep-id?                          oc-cfm-types:mep-id-type
     |                 |  +--rw interface?                             -> /oc-if:interfaces/interface/name
     |                 |  +--rw include-mep-port-status-in-tlv?        boolean
     |                 |  +--rw include-mep-interface-status-in-tlv?   boolean
     |                 |  +--rw direction?                             enumeration
     |                 +--ro state
     |                 |  +--ro ccm-enabled?                           boolean
     |                 |  +--ro lowest-priority-defect?                oc-cfm-types:lowest-alarm-priority-type
     |                 |  +--ro fng-alarm-time?                        uint16
     |                 |  +--ro fng-reset-time?                        uint16
     |                 |  +--ro local-mep-id?                          oc-cfm-types:mep-id-type
     |                 |  +--ro interface?                             -> /oc-if:interfaces/interface/name
     |                 |  +--ro include-mep-port-status-in-tlv?        boolean
     |                 |  +--ro include-mep-interface-status-in-tlv?   boolean
     |                 |  +--ro direction?                             enumeration
     |                 |  +--ro oper-state?                            oc-cfm-types:operational-state-type
     |                 |  +--ro interface-state?                       oc-cfm-types:interface-status-type
     |                 |  +--ro fng-state?                             oc-cfm-types:fng-state-type
     |                 |  +--ro highest-priority-defect?               oc-cfm-types:highest-defect-priority-type
     |                 |  +--ro mep-defects*                           oc-cfm-types:mep-defects-type
     |                 |  +--ro present-rdi?                           boolean
     |                 |  +--ro config-errors-detected*                oc-cfm-types:config-error-type
     |                 |  +--ro error-ccm-last-failure?                binary
     |                 |  +--ro counters
     |                 |     +--ro mep-ccm-sequence-errors    oc-yang:counter64
     |                 |     +--ro mep-ccms-sent              oc-yang:counter64
     |                 +--rw pm-profiles
     |                 |  +--rw pm-profile* [profile-name]
     |                 |     +--rw profile-name    -> ../../../../../../../../../performance-measurement-profiles-global/performance-measurement-profile/config/profile-name
     |                 |     +--rw config
     |                 |     +--ro state
     |                 |        +--ro loss-measurement-state
     |                 |        |  +--ro far-end-min-frame-loss-ratio?        uint32
     |                 |        |  +--ro far-end-max-frame-loss-ratio?        uint32
     |                 |        |  +--ro far-end-average-frame-loss-ratio?    uint32
     |                 |        |  +--ro near-end-min-frame-loss-ratio?       uint32
     |                 |        |  +--ro near-end-max-frame-loss-ratio?       uint32
     |                 |        |  +--ro near-end-average-frame-loss-ratio?   uint32
     |                 |        |  +--ro counters
     |                 |        |     +--ro slm-sent?       oc-yang:counter64
     |                 |        |     +--ro slm-received?   oc-yang:counter64
     |                 |        |     +--ro slr-sent?       oc-yang:counter64
     |                 |        |     +--ro slr-received?   oc-yang:counter64
     |                 |        +--ro delay-measurement-state
     |                 |           +--ro frame-delay-two-way-min?       uint32
     |                 |           +--ro frame-delay-two-way-max?       uint32
     |                 |           +--ro frame-delay-two-way-average?   uint32
     |                 |           +--ro frame-delay-two-way-stddev?    uint32
     |                 |           +--ro counters
     |                 |              +--ro dmm-sent?       oc-yang:counter64
     |                 |              +--ro dmm-received?   oc-yang:counter64
     |                 |              +--ro dmr-sent?       oc-yang:counter64
     |                 |              +--ro dmr-received?   oc-yang:counter64
     |                 +--rw rdi
     |                 |  +--rw config
     |                 |  |  +--rw transmit-on-defect?   boolean
     |                 |  +--ro state
     |                 |     +--ro transmit-on-defect?   boolean
     |                 +--rw link-loss-forwarding
     |                 |  +--rw config
     |                 |  |  +--rw enable?   boolean
     |                 |  |  +--rw action?   enumeration
     |                 |  +--ro state
     |                 |     +--ro enable?   boolean
     |                 |     +--ro action?   enumeration
     |                 +--rw remote-meps
     |                    +--rw remote-mep* [id]
     |                       +--rw id        -> ../config/id
     |                       +--rw config
     |                       |  +--rw id?            oc-cfm-types:mep-id-type
     |                       |  +--rw mac-address?   oc-yang:mac-address
     |                       +--ro state
     |                          +--ro id?                        oc-cfm-types:mep-id-type
     |                          +--ro mac-address?               oc-yang:mac-address
     |                          +--ro oper-state?                oc-cfm-types:operational-state-type
     |                          +--ro interface-state?           oc-cfm-types:interface-status-type
     |                          +--ro fng-state?                 oc-cfm-types:fng-state-type
     |                          +--ro highest-priority-defect?   oc-cfm-types:highest-defect-priority-type
     |                          +--ro mep-defects*               oc-cfm-types:mep-defects-type
     |                          +--ro present-rdi?               boolean
     |                          +--ro config-errors-detected*    oc-cfm-types:config-error-type
     |                          +--ro error-ccm-last-failure?    binary
     |                          +--ro counters
     |                             +--ro mep-ccm-sequence-errors    oc-yang:counter64
     |                             +--ro mep-ccms-sent              oc-yang:counter64
     +--ro state
     |  +--ro local-meps?                    uint32
     |  +--ro local-meps-operational?        uint32
     |  +--ro cfm-domains?                   uint32
     |  +--ro cfm-services?                  uint32
     |  +--ro down-meps?                     uint32
     |  +--ro up-meps?                       uint32
     |  +--ro disabled-misconfigured?        uint32
     |  +--ro disabled-operational-errors?   uint32
     |  +--ro disabled-out-of-resources?     uint32
     |  +--ro peer-meps?                     uint32
     |  +--ro operational-peer-meps?         uint32
     |  +--ro peer-meps-with-defects?        uint32
     |  +--ro peer-meps-timed-out?           uint32
     +--rw performance-measurement-profiles-global
        +--rw performance-measurement-profile* [profile-name]
           +--rw profile-name    -> ../config/profile-name
           +--rw config
           |  +--rw profile-name?                    string
           |  +--rw enable?                          boolean
           |  +--rw measurement-type?                enumeration
           |  +--rw protocol-type?                   enumeration
           |  +--rw frame-size?                      uint16
           |  +--rw measurement-interval?            uint32
           |  +--rw repetition-period?               uint32
           |  +--rw intervals-archived?              uint16
           |  +--rw packets-per-meaurement-period?   uint16
           |  +--rw burst-interval?                  uint32
           |  +--rw packet-per-burst?                uint32
           +--ro state
              +--ro profile-name?                    string
              +--ro enable?                          boolean
              +--ro measurement-type?                enumeration
              +--ro protocol-type?                   enumeration
              +--ro frame-size?                      uint16
              +--ro measurement-interval?            uint32
              +--ro repetition-period?               uint32
              +--ro intervals-archived?              uint16
              +--ro packets-per-meaurement-period?   uint16
              +--ro burst-interval?                  uint32
              +--ro packet-per-burst?                uint32
              +--ro loss-measurement-state
              |  +--ro far-end-min-frame-loss-ratio?        uint32
              |  +--ro far-end-max-frame-loss-ratio?        uint32
              |  +--ro far-end-average-frame-loss-ratio?    uint32
              |  +--ro near-end-min-frame-loss-ratio?       uint32
              |  +--ro near-end-max-frame-loss-ratio?       uint32
              |  +--ro near-end-average-frame-loss-ratio?   uint32
              |  +--ro counters
              |     +--ro slm-sent?       oc-yang:counter64
              |     +--ro slm-received?   oc-yang:counter64
              |     +--ro slr-sent?       oc-yang:counter64
              |     +--ro slr-received?   oc-yang:counter64
              +--ro delay-measurement-state
                 +--ro frame-delay-two-way-min?       uint32
                 +--ro frame-delay-two-way-max?       uint32
                 +--ro frame-delay-two-way-average?   uint32
                 +--ro frame-delay-two-way-stddev?    uint32
                 +--ro counters
                    +--ro dmm-sent?       oc-yang:counter64
                    +--ro dmm-received?   oc-yang:counter64
                    +--ro dmr-sent?       oc-yang:counter64
                    +--ro dmr-received?   oc-yang:counter64

}
}

uses cfm-top;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should there be some hierarchical structure to group OAM vs. CFM directly at the root?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I support this to hopefully get a Juniper LFM augmentation.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

earies are you suggesting we have an umbrella node; i.e "openconfig/EthernetOAM/cfm"?

@dplore
Copy link
Member

dplore commented Sep 18, 2024

/gcbrun

@OpenConfigBot
Copy link

No major YANG version changes in commit 28b6cf9

* removes trailing spaces.
* removes unused and non OC flavoured imports (ietf).
* moves leaf nomenclature from "_" to "-" .
* add damping timer leaf to LLF feature.
@AnnamalaiRajeev
Copy link
Author

Tree view Commit 7

module: openconfig-cfm
  +--rw cfm
     +--rw domains
     |  +--rw maintenance-domain* [md-id]
     |     +--rw md-id                       -> ../config/md-id
     |     +--rw config
     |     |  +--rw md-id?           oc-cfm-types:name-key-type
     |     |  +--rw level?           uint8
     |     |  +--rw md-name-type?    enumeration
     |     |  +--rw none?            boolean
     |     |  +--rw dns-like-name?   string
     |     |  +--rw address          oc-yang:mac-address
     |     |  +--rw unsigned-int     uint16
     |     |  +--rw char-string?     string
     |     +--ro state
     |     |  +--ro md-id?           oc-cfm-types:name-key-type
     |     |  +--ro level?           uint8
     |     |  +--ro md-name-type?    enumeration
     |     |  +--ro none?            boolean
     |     |  +--ro dns-like-name?   string
     |     |  +--ro address          oc-yang:mac-address
     |     |  +--ro unsigned-int     uint16
     |     |  +--ro char-string?     string
     |     +--rw maintenance-associations
     |        +--rw maintenance-association* [ma-id]
     |           +--rw ma-id            -> ../config/ma-id
     |           +--rw config
     |           |  +--rw ma-id?            oc-cfm-types:name-key-type
     |           |  +--rw group-name?       string
     |           |  +--rw ma-name-type?     enumeration
     |           |  +--rw primary-vid       oc-vlan-types:vlan-id
     |           |  +--rw char-string       string
     |           |  +--rw unsigned-int16    uint16
     |           |  +--rw vpn-oui           uint32
     |           |  +--rw vpn-index         uint32
     |           |  +--rw ccm-interval?     enumeration
     |           |  +--rw loss-threshold?   uint16
     |           +--ro state
     |           |  +--ro ma-id?            oc-cfm-types:name-key-type
     |           |  +--ro group-name?       string
     |           |  +--ro ma-name-type?     enumeration
     |           |  +--ro primary-vid       oc-vlan-types:vlan-id
     |           |  +--ro char-string       string
     |           |  +--ro unsigned-int16    uint16
     |           |  +--ro vpn-oui           uint32
     |           |  +--ro vpn-index         uint32
     |           |  +--ro ccm-interval?     enumeration
     |           |  +--ro loss-threshold?   uint16
     |           +--rw mep-endpoints
     |              +--rw mep-endpoint* [local-mep-id]
     |                 +--rw local-mep-id            -> ../config/local-mep-id
     |                 +--rw config
     |                 |  +--rw ccm-enabled?                           boolean
     |                 |  +--rw lowest-priority-defect?                oc-cfm-types:lowest-alarm-priority-type
     |                 |  +--rw fng-alarm-time?                        uint16
     |                 |  +--rw fng-reset-time?                        uint16
     |                 |  +--rw local-mep-id?                          oc-cfm-types:mep-id-type
     |                 |  +--rw interface?                             -> /oc-if:interfaces/interface/name
     |                 |  +--rw include-mep-port-status-in-tlv?        boolean
     |                 |  +--rw include-mep-interface-status-in-tlv?   boolean
     |                 |  +--rw direction?                             enumeration
     |                 +--ro state
     |                 |  +--ro ccm-enabled?                           boolean
     |                 |  +--ro lowest-priority-defect?                oc-cfm-types:lowest-alarm-priority-type
     |                 |  +--ro fng-alarm-time?                        uint16
     |                 |  +--ro fng-reset-time?                        uint16
     |                 |  +--ro local-mep-id?                          oc-cfm-types:mep-id-type
     |                 |  +--ro interface?                             -> /oc-if:interfaces/interface/name
     |                 |  +--ro include-mep-port-status-in-tlv?        boolean
     |                 |  +--ro include-mep-interface-status-in-tlv?   boolean
     |                 |  +--ro direction?                             enumeration
     |                 |  +--ro oper-state?                            oc-cfm-types:operational-state-type
     |                 |  +--ro interface-state?                       oc-cfm-types:interface-status-type
     |                 |  +--ro fng-state?                             oc-cfm-types:fng-state-type
     |                 |  +--ro highest-priority-defect?               oc-cfm-types:highest-defect-priority-type
     |                 |  +--ro mep-defects*                           oc-cfm-types:mep-defects-type
     |                 |  +--ro present-rdi?                           boolean
     |                 |  +--ro config-errors-detected*                oc-cfm-types:config-error-type
     |                 |  +--ro error-ccm-last-failure?                binary
     |                 |  +--ro counters
     |                 |     +--ro mep-ccm-sequence-errors    oc-yang:counter64
     |                 |     +--ro mep-ccms-sent              oc-yang:counter64
     |                 +--rw pm-profiles
     |                 |  +--rw pm-profile* [profile-name]
     |                 |     +--rw profile-name    -> ../../../../../../../../../performance-measurement-profiles-global/performance-measurement-profile/config/profile-name
     |                 |     +--rw config
     |                 |     +--ro state
     |                 |        +--ro loss-measurement-state
     |                 |        |  +--ro far-end-min-frame-loss-ratio?        uint32
     |                 |        |  +--ro far-end-max-frame-loss-ratio?        uint32
     |                 |        |  +--ro far-end-average-frame-loss-ratio?    uint32
     |                 |        |  +--ro near-end-min-frame-loss-ratio?       uint32
     |                 |        |  +--ro near-end-max-frame-loss-ratio?       uint32
     |                 |        |  +--ro near-end-average-frame-loss-ratio?   uint32
     |                 |        |  +--ro counters
     |                 |        |     +--ro slm-sent?       oc-yang:counter64
     |                 |        |     +--ro slm-received?   oc-yang:counter64
     |                 |        |     +--ro slr-sent?       oc-yang:counter64
     |                 |        |     +--ro slr-received?   oc-yang:counter64
     |                 |        +--ro delay-measurement-state
     |                 |           +--ro frame-delay-two-way-min?       uint32
     |                 |           +--ro frame-delay-two-way-max?       uint32
     |                 |           +--ro frame-delay-two-way-average?   uint32
     |                 |           +--ro frame-delay-two-way-stddev?    uint32
     |                 |           +--ro counters
     |                 |              +--ro dmm-sent?       oc-yang:counter64
     |                 |              +--ro dmm-received?   oc-yang:counter64
     |                 |              +--ro dmr-sent?       oc-yang:counter64
     |                 |              +--ro dmr-received?   oc-yang:counter64
     |                 +--rw rdi
     |                 |  +--rw config
     |                 |  |  +--rw transmit-on-defect?   boolean
     |                 |  +--ro state
     |                 |     +--ro transmit-on-defect?   boolean
     |                 +--rw link-loss-forwarding
     |                 |  +--rw config
     |                 |  |  +--rw enable?          boolean
     |                 |  |  +--rw damping-timer?   uint64
     |                 |  |  +--rw action?          enumeration
     |                 |  +--ro state
     |                 |     +--ro enable?          boolean
     |                 |     +--ro damping-timer?   uint64
     |                 |     +--ro action?          enumeration
     |                 +--rw remote-meps
     |                    +--rw remote-mep* [id]
     |                       +--rw id        -> ../config/id
     |                       +--rw config
     |                       |  +--rw id?            oc-cfm-types:mep-id-type
     |                       |  +--rw mac-address?   oc-yang:mac-address
     |                       +--ro state
     |                          +--ro id?                        oc-cfm-types:mep-id-type
     |                          +--ro mac-address?               oc-yang:mac-address
     |                          +--ro oper-state?                oc-cfm-types:operational-state-type
     |                          +--ro interface-state?           oc-cfm-types:interface-status-type
     |                          +--ro fng-state?                 oc-cfm-types:fng-state-type
     |                          +--ro highest-priority-defect?   oc-cfm-types:highest-defect-priority-type
     |                          +--ro mep-defects*               oc-cfm-types:mep-defects-type
     |                          +--ro present-rdi?               boolean
     |                          +--ro config-errors-detected*    oc-cfm-types:config-error-type
     |                          +--ro error-ccm-last-failure?    binary
     |                          +--ro counters
     |                             +--ro mep-ccm-sequence-errors    oc-yang:counter64
     |                             +--ro mep-ccms-sent              oc-yang:counter64
     +--ro state
     |  +--ro local-meps?                    uint32
     |  +--ro local-meps-operational?        uint32
     |  +--ro cfm-domains?                   uint32
     |  +--ro cfm-services?                  uint32
     |  +--ro down-meps?                     uint32
     |  +--ro up-meps?                       uint32
     |  +--ro disabled-misconfigured?        uint32
     |  +--ro disabled-operational-errors?   uint32
     |  +--ro disabled-out-of-resources?     uint32
     |  +--ro peer-meps?                     uint32
     |  +--ro operational-peer-meps?         uint32
     |  +--ro peer-meps-with-defects?        uint32
     |  +--ro peer-meps-timed-out?           uint32
     +--rw performance-measurement-profiles-global
        +--rw performance-measurement-profile* [profile-name]
           +--rw profile-name    -> ../config/profile-name
           +--rw config
           |  +--rw profile-name?                    string
           |  +--rw enable?                          boolean
           |  +--rw measurement-type?                enumeration
           |  +--rw protocol-type?                   enumeration
           |  +--rw frame-size?                      uint16
           |  +--rw measurement-interval?            uint32
           |  +--rw repetition-period?               uint32
           |  +--rw intervals-archived?              uint16
           |  +--rw packets-per-meaurement-period?   uint16
           |  +--rw burst-interval?                  uint32
           |  +--rw packet-per-burst?                uint32
           +--ro state
              +--ro profile-name?                    string
              +--ro enable?                          boolean
              +--ro measurement-type?                enumeration
              +--ro protocol-type?                   enumeration
              +--ro frame-size?                      uint16
              +--ro measurement-interval?            uint32
              +--ro repetition-period?               uint32
              +--ro intervals-archived?              uint16
              +--ro packets-per-meaurement-period?   uint16
              +--ro burst-interval?                  uint32
              +--ro packet-per-burst?                uint32
              +--ro loss-measurement-state
              |  +--ro far-end-min-frame-loss-ratio?        uint32
              |  +--ro far-end-max-frame-loss-ratio?        uint32
              |  +--ro far-end-average-frame-loss-ratio?    uint32
              |  +--ro near-end-min-frame-loss-ratio?       uint32
              |  +--ro near-end-max-frame-loss-ratio?       uint32
              |  +--ro near-end-average-frame-loss-ratio?   uint32
              |  +--ro counters
              |     +--ro slm-sent?       oc-yang:counter64
              |     +--ro slm-received?   oc-yang:counter64
              |     +--ro slr-sent?       oc-yang:counter64
              |     +--ro slr-received?   oc-yang:counter64
              +--ro delay-measurement-state
                 +--ro frame-delay-two-way-min?       uint32
                 +--ro frame-delay-two-way-max?       uint32
                 +--ro frame-delay-two-way-average?   uint32
                 +--ro frame-delay-two-way-stddev?    uint32
                 +--ro counters
                    +--ro dmm-sent?       oc-yang:counter64
                    +--ro dmm-received?   oc-yang:counter64
                    +--ro dmr-sent?       oc-yang:counter64
                    +--ro dmr-received?   oc-yang:counter64

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

6 participants