Skip to content

Adding SLM YANG model, and moving PM model to remote MEP level#1479

Open
cyama1225 wants to merge 7 commits into
openconfig:masterfrom
cyama1225:addSlm
Open

Adding SLM YANG model, and moving PM model to remote MEP level#1479
cyama1225 wants to merge 7 commits into
openconfig:masterfrom
cyama1225:addSlm

Conversation

@cyama1225
Copy link
Copy Markdown

@cyama1225 cyama1225 commented Apr 23, 2026

Change Scope

  • Some changes to the pm-profile in the CFM YANG model
    • pm-profile is currently stored at the local MEP level container, but Performance Measurement(PM) sessions are conducted between a pair of MEPs. This change moves the pm-profile to the remote MEP level container.
    • pm-profile stores the stats collected by each type of PM(e.g. LM and DM). Currently, the model for Synthetic Loss Measurement(SLM) stats is missing. This change adds the container for SLM stats. Note that unlike other PM types, multiple SLM sessions could exist between a pair of MEPs, depending on the cos and the test ID
  • Backward compatibility: local MEP level pm-profile is depcrecated.

Platform Implementations

References

Tree View

   augment /oc-oam:oam:
     +--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
        |                 |  +--rw auto-discovery?                        boolean
        |                 +--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 auto-discovery?                        boolean
        |                 |  +--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
+       |                 x--rw pm-profiles
        |                 |  +--rw pm-profile* [profile-name]
        |                 |     +--rw profile-name    -> ../config/profile-name
        |                 |     +--rw config
        |                 |     |  +--rw profile-name?   string
        |                 |     +--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
        |                 +--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 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
+       |                       +--rw pm-profiles
+       |                          +--rw pm-profile* [profile-name]
+       |                             +--rw profile-name                         -> ../config/profile-name
+       |                             +--rw config
+       |                             |  +--rw profile-name?   string
+       |                             +--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
+       |                             +--ro synthetic-loss-measurement-states
+       |                                +--ro synthetic-loss-measurement-state* [cos test-id]
+       |                                   +--ro cos        -> ../state/cos
+       |                                   +--ro test-id    -> ../state/test-id
+       |                                   +--ro state
+       |                                      +--ro cos?                                 uint8
+       |                                      +--ro test-id?                             uint32
+       |                                      +--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 mep-ccm-sequence-errors    oc-yang:counter64
-       |                             +--ro mep-ccms-sent              oc-yang:counter64
+       |                                         +--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 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 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 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 dmm-sent?       oc-yang:counter64
+             |        +--ro dmm-received?   oc-yang:counter64
+             |        +--ro dmr-sent?       oc-yang:counter64
+             |        +--ro dmr-received?   oc-yang:counter64
+             +--ro synthetic-loss-measurement-states
+                +--ro synthetic-loss-measurement-state* [cos test-id]
+                   +--ro cos        -> ../state/cos
+                   +--ro test-id    -> ../state/test-id
+                   +--ro state
+                      +--ro cos?                                 uint8
+                      +--ro test-id?                             uint32
+                      +--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 dmm-sent?       oc-yang:counter64
-                      +--ro dmm-received?   oc-yang:counter64
-                      +--ro dmr-sent?       oc-yang:counter64
-                      +--ro dmr-received?   oc-yang:counter64
+                         +--ro slm-sent?       oc-yang:counter64
+                         +--ro slm-received?   oc-yang:counter64
+                         +--ro slr-sent?       oc-yang:counter64
+                         +--ro slr-received?   oc-yang:counter64
+

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request updates the openconfig-oam-cfm YANG model to introduce Synthetic Loss Measurement (SLM) and relocates performance measurement profiles to the remote MEP level, deprecating the previous implementation. The changes include refactoring loss measurement groupings to share common statistics. Review feedback identifies opportunities to improve consistency by using standard configuration groupings for profiles and recommends nesting synthetic loss measurement data within the state container to adhere to OpenConfig's configuration and state separation patterns.

Comment on lines +257 to +263
container config {
description "Associated performance measurement profile.";
leaf profile-name {
description "A unique profile name identifying the profile";
type string;
}
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

high

The config container in the pm-profile list manually defines profile-name instead of using the performance-measurement-config grouping. This is inconsistent with the state container (lines 265-270) and prevents the configuration of other profile parameters (e.g., enable, measurement-type) at the remote MEP level. Following the OpenConfig style, the config container should use the common configuration grouping.

                                container config {
                                  description "Associated performance measurement profile.";
                                  uses performance-measurement-config;
                                }

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I simply moved over the existing container from local-mep to remote-mep level.

Comment on lines +265 to +272
container state {
description "Operational data for performance measurement.";
config false;
uses performance-measurement-config;
uses performance-measurement-state;
}

uses synthetic-loss-measurement-state;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

The synthetic-loss-measurement-state grouping is used outside of the state container. In OpenConfig, all operational state data should be nested within the state container to maintain the configuration/state separation pattern. This also applies to the usage at line 321.

Suggested change
container state {
description "Operational data for performance measurement.";
config false;
uses performance-measurement-config;
uses performance-measurement-state;
}
uses synthetic-loss-measurement-state;
container state {
description "Operational data for performance measurement.";
config false;
uses performance-measurement-config;
uses performance-measurement-state;
uses synthetic-loss-measurement-state;
}

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

This was done intentionally to avoid the /state/.../state path.

@dplore dplore moved this to Ready to discuss in OC Operator Review Apr 27, 2026
@dplore
Copy link
Copy Markdown
Member

dplore commented Apr 27, 2026

/gcbrun

@OpenConfigBot
Copy link
Copy Markdown

OpenConfigBot commented Apr 27, 2026

No major YANG version changes in commit af290e5

@rgwilton
Copy link
Copy Markdown
Contributor

rgwilton commented May 7, 2026

I'm not an expert on CFM, but one of my colleagues has looked at it. His comments are summarised as:

  1. Moving the PM from the local to the remote MEP makes sense, all the measurements are point-to-point so there could certainly be different values for each remote MEP in a multipoint network, and configuring different profiles for different remote MEPs also makes sense.

  2. Adding SLM is also fine in principal, but it looks like it has been done in an implementations specific way:

  • CoS should probably just be a property of the profile.
  • test-id is determined by internal implementation, and it is unclear whether it should be exposed at all.
  • if want to measure SLM on multiple CoS then you would need to use a separate profile for each.

@ElodinLaarz
Copy link
Copy Markdown
Contributor

/gcbrun

@cyama1225
Copy link
Copy Markdown
Author

cyama1225 commented May 7, 2026

I'm not an expert on CFM, but one of my colleagues has looked at it. His comments are summarised as:

  1. Moving the PM from the local to the remote MEP makes sense, all the measurements are point-to-point so there could certainly be different values for each remote MEP in a multipoint network, and configuring different profiles for different remote MEPs also makes sense.
  2. Adding SLM is also fine in principal, but it looks like it has been done in an implementations specific way:
  • CoS should probably just be a property of the profile.
  • test-id is determined by internal implementation, and it is unclear whether it should be exposed at all.
  • if want to measure SLM on multiple CoS then you would need to use a separate profile for each.

I believe test ID is a publicly exposed notion, and is carried in the SLM PDU.

For example, the following SNMP MIB model exposes the testId.

https://www.mplify.net/resources/mef-36-1-service-oam-snmp-mib-for-performance-monitoring/

mefSoamLmTestId OBJECT-TYPE
 SYNTAX Unsigned32
 MAX-ACCESS read-create
 STATUS current
 DESCRIPTION
 "This object specifies the Test ID if mefSoamLmCfgType is set to
 'lmSlm', 'lm1SlTx', 'lm1SlRx'. The value of this objecdt is ignored
 if mefSoamLmCfgType is set to 'lmLmm' or 'lmCcm'.
 For 'lmSlm' and 'lm1SlTx' it is the value of the transmitted Test ID
 field in the SLM and 1SL PDU.
 For 'lm1SlRx' it is the value of the received 1SLM PDU Test ID field.

 This object can only be written at row creation time and cannot be
 modified once it has been created.
 "
 REFERENCE
 "[MEF35.1] Section 16.4; [Y.1731]"
 DEFVAL { 0 }
 ::= { mefSoamLmCfgEntry 39 }

As for CoS, I believe the proposed model leaves room for configuring multiple CoS per profile if needed. This would, for example, mitigate the need to repeat the same performance measurement profile configuration for each of the CoS value.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Ready to discuss

Development

Successfully merging this pull request may close these issues.

6 participants