<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.21 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-contreras-opsawg-scheduling-oam-tests-04" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.24.0 -->
  <front>
    <title abbrev="Scheduling OAM YANG">A YANG Data Model for Network Diagnosis using Scheduled Sequences of OAM Tests</title>
    <seriesInfo name="Internet-Draft" value="draft-contreras-opsawg-scheduling-oam-tests-04"/>
    <author fullname="Luis M. Contreras">
      <organization>Telefonica</organization>
      <address>
        <email>luismiguel.contrerasmurillo@telefonica.com</email>
      </address>
    </author>
    <author fullname="Victor Lopez">
      <organization>Nokia</organization>
      <address>
        <email>victor.lopez@nokia.com</email>
      </address>
    </author>
    <date year="2024" month="November" day="18"/>
    <area>Operations and Management</area>
    <workgroup>Operations and Management Area Working Group</workgroup>
    <keyword>OAM</keyword>
    <keyword>Scheduling</keyword>
    <keyword>Test sequences</keyword>
    <abstract>
      <?line 46?>

<t>This document defines a YANG data model for network diagnosis on-demand relying upon Operations, Administration, and Maintenance (OAM) tests. This document defines both 'oam-unitary-test' and 'oam-test-sequence' YANG modules to manage the lifecycle of network diagnosis procedures.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://vlopezalvarez.github.io/draft-contreras-opsawg-scheduling-oam-tests/draft-contreras-opsawg-scheduling-oam-tests.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-contreras-opsawg-scheduling-oam-tests/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Operations and Management Area Working Group Working Group mailing list (<eref target="mailto:opsawg@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/opsawg/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/opsawg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/vlopezalvarez/draft-contreras-opsawg-scheduling-oam-tests"/>.</t>
    </note>
  </front>
  <middle>
    <?line 50?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Operations, Administration, and Maintenance (OAM) tasks are fundamental functions of the network management (see, e.g., <xref target="RFC7276"/>). Given the emergence of data models and their utilization in Service Provider's network management and the need to automate the overall service management lifecycle <xref target="RFC8969"/>, the management of OAM operations becomes also key. Relevant data models are still missing to cover specific needs.</t>
      <t>Specifically, OAM functions provide the means to identify and isolate faults, measure and report of performance (see section 4.2, <xref target="RFC6632"/>. For example, <xref target="RFC5860"/> defines the three main areas involved in OAM:</t>
      <ul spacing="normal">
        <li>
          <t>Fault management, which allows network operators to quickly identify and isolate faults in the network. Examples of these mechanisms for fault detection and isolation are: continuity check, link trace, and loopback.</t>
        </li>
        <li>
          <t>Performance management enables monitoring network performance and diagnosing performance issues (i.e., degradation). Some of the measurements such as frame delay measurement, frame delay variation measurement, and frame loss measurement.</t>
        </li>
        <li>
          <t>Security management defines mechanisms to protect OAM communications from unauthorized access and tampering.</t>
        </li>
      </ul>
      <t><xref target="RFC7276"/> presents OAM tools for detecting and isolating failures in networks and for performance monitoring, some examples are:</t>
      <ul spacing="normal">
        <li>
          <t>Continuity Check: This function verifies that a path exists between two points in a network and that the path is operational.</t>
        </li>
        <li>
          <t>Loopback: This function allows a device to loop back a received packet back to the sender for diagnostic purposes. There are multiple technologies for this function, like IP Ping, VCCV Ping, LSP Ping or Ethernet Loopback.</t>
        </li>
        <li>
          <t>Link Trace: This function allows a network operator to trace a path through a network from one device to another. Some technologies following this approach are Y.1731 Linktrace <xref target="ITU-T-Y1731"/> or IP traceroute.</t>
        </li>
        <li>
          <t>Performance Monitoring: This function allows a network operator to monitor the performance of a network and to identify and diagnose performance issues. Protocols like TWAMP, or Y.1731 DMM/SLM <xref target="ITU-T-Y1731"/> can obtain performance measurements.</t>
        </li>
      </ul>
      <t>More recently, Incident Management <xref target="I-D.ietf-nmop-network-incident-yang"/> focuses on
   of incident diagnosis, which can be favored by dynamic invocation of OAM tests.</t>
      <t><xref target="RFC8531"/>, <xref target="RFC8532"/>, <xref target="RFC8533"/> and <xref target="RFC8913"/>  defined YANG models for OAM technologies:
+ <xref target="RFC8531"/> defines a YANG data model for connection-oriented OAM protocols. The main aim of this document is to define a generic YANG data model that can be used to configure, control and monitor connection-oriented OAM protocols such as MPLS-TP OAM, PBB-TE OAM, and G.7713.1 OAM.
+ <xref target="RFC8532"/> provides a generic YANG data model that can be used to configure, control and monitor connectionless OAM protocols such as BFD (Bidirectional Forwarding Detection), LBM (Loopback Messaging) and VCCV (Virtual Circuit Connectivity Verification).
+ <xref target="RFC8533"/> provides a YANG data model that can be used to retrieve information related to OAM protocols such as Bidirectional Forwarding Detection (BFD), Loopback Messaging (LBM) and Virtual Circuit Connectivity Verification (VCCV).
- <xref target="RFC8913"/> specifies a YANG data model for client and server implementations of the Two-Way Active Measurement Protocol (TWAMP).</t>
      <t>These RFCs defined the parameters required for each of the different tests that are used in network elements today. This document covers how to use OAM for network-wide use cases. Following, some illustrative examples are presented.</t>
      <t>The YANG data model resulting from this document will conform to the Network Management Datastore Architecture (NMDA) <xref target="RFC8342"/>.</t>
      <section anchor="terminology-and-notations">
        <name>Terminology and Notations</name>
        <t>This document assumes that the reader is familiar with the contents of <xref target="RFC7950"/>, <xref target="RFC8345"/>, <xref target="RFC8346"/> and <xref target="RFC8795"/>.</t>
        <t>Following terms are used for the representation of this data model.</t>
        <ul spacing="normal">
          <li>
            <t>OAM unitary test: A set of parameters that define a type of OAM test to be invoked. As an example, it includes the type test, configuration parameters, and target results.</t>
          </li>
          <li>
            <t>OAM test sequence: A set of OAM unitary tests that are run based on a set of time constraints, number of repetitions, order, and reporting outputs.</t>
          </li>
        </ul>
        <t>Tree diagrams used in this document follow the notation defined in <xref target="RFC8340"/>.</t>
      </section>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in  <xref target="RFC2119"/>, <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
      </section>
      <section anchor="prefix-in-data-node-names">
        <name>Prefix in Data Node Names</name>
        <t>In this document, names of data nodes and other data model objects will be prefixed using the standard prefix associated with the corresponding YANG imported modules, as shown in the following table.</t>
        <table anchor="tab-prefixes">
          <name>Prefixes and Corresponding YANG Modules</name>
          <thead>
            <tr>
              <th align="left">Prefix</th>
              <th align="left">Yang Module</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">oamut</td>
              <td align="left">ietf-oam-unitary-tests</td>
              <td align="left">RFCXXXX</td>
            </tr>
            <tr>
              <td align="left">oamts</td>
              <td align="left">ietf-oam-test-sequence</td>
              <td align="left">RFCXXXX</td>
            </tr>
            <tr>
              <td align="left">yang</td>
              <td align="left">ietf-yang-types</td>
              <td align="left">
                <xref target="RFC6991"/></td>
            </tr>
          </tbody>
        </table>
        <ul empty="true">
          <li>
            <t>RFC Editor Note:
Please replace XXXX with the RFC number assigned to this document if the document becomes a RFC. Please remove this note in that case.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="network-wide-oam-use-cases">
      <name>Network-wide OAM Use Cases</name>
      <section anchor="troubleshooting">
        <name>Troubleshooting</name>
        <t>After the detection of a problem <xref target="I-D.ietf-nmop-terminology"/> in the network, OAM tests are performed to find the root cause for the detected problem. However, a detected problem can be caused by a variety of factors, such as a misconfiguration, hardware failure, or a software bug. OAM tests can help to find the root cause by testing specific components of the network and looking for anomalies or issues. Also, the reliability and efficiency of the tests depend on the nature of the test itself.</t>
        <t>There are a variety of OAM tests that can be executed as a function of the target scenario. For example, if the issue is related to a Layer 2 capability, specific tests can be designed and run to check the status of the path via Ethernet Linktrace and later run an Ethernet Loopback to a concrete network element. These tests can be coupled with others to test if any filtering is in place by varying, e.g., some Layer 2 fields or checking the configuration of relevant nodes.  If these tests are correct, the operator may want to check the availability of the service (or its delivered performance).</t>
        <t>Even though the troubleshooting process may be different depending on the problem detected, there are certain common procedures or logics that can be executed in order to narrow down the cause of the problem and thus help isolating candidate root cause.</t>
      </section>
      <section anchor="birth-certificate">
        <name>Birth Certificate</name>
        <t>The aim of a birth certificate process is to validate that all relevant parameters are set appropriately in accordance with the target network service. The birth certificate process is done once the configuration of the network elements is completed, and they are ready for service.</t>
        <t>If the birth certificate is successful, it means that the network service is functioning correctly (that is, measured service is matching the expected service) and meets the requirements defined by the operator. The process requires running a set of OAM tasks (e.g., tests) to verify that the service is performing as expected.</t>
        <t>The set of OAM tests conducted as part of a birth certificate process depends on the network service that is tested.  For example, if the service is a Virtual Private Network (VPN). Two-Way Active Measurement Protocol (TWAMP) Light <xref target="RFC5357"/> will be used, while if the service is an E-LINE, ITU-T Y.1731 Ethernet CFM tests <xref target="ITU-T-Y1731"/> will be executed.</t>
        <t>Typically, once the birth certificate process has been completed and the OAM tests have been executed, the test results are stored as part of the documentation process performed by the operator. Many of these tasks take place during pre-deployment phases.</t>
      </section>
      <section anchor="proactive-supervision">
        <name>Proactive Supervision</name>
        <t>Some network services require to fulfill strict Service Level Agreements (SLAs).  An SLA defines the performance parameters that the service must fulfill in order to meet the requirements of the customer or end user (e.g., IP Connectivity Provisioning Profile (CPP) <xref target="RFC7297"/> and Network Slice Service <xref target="RFC9543"/>).</t>
        <t>As part of service fulfillment and assurance (e.g., Section 2.3.3 of <xref target="RFC4176"/>), proactive verification is undertaken to assess whether SLAs are met and implement appropriate adjustment measures when service distortion is observed. Proactive supervision requires running tests both end-to-end, but also on service components to identify early symptoms and resolve issues before they impact the customer or end user, or to prevent or minimize the impact of the end user. Mitigation action may be enforced to soften the impact of networks incidents and soften/nullify the impact on services that are delivered via that network.</t>
        <t>Proactive testing might be done via OAM tests. These tests can be run periodically at regular intervals depending on the specific SLA requirements and the network operator procedures. These procedures may require documenting the test results for future auditing processes with the customers (eventually, negotiated and agreed with a customer as part of service assurance).</t>
      </section>
      <section anchor="performance-based-path-routing">
        <name>Performance-based Path Routing</name>
        <t>Path Computation Elements (PCEs) are used to compute end-to-end paths in a network <xref target="RFC4655"/>. PCEs are used for Traffic Engineering (TE) purposes (e.g., optimize network performance, reduce congestion, and improve the overall user experience).</t>
        <t>There are different algorithms to calculate a path in the network for some of them the PCE requires traffic engineering information. TE information includes data such as link metrics, bandwidth availability, and routing constraints. By using this information, the PCE can compute the optimal path for a particular service, taking into account its constraints and requirements. OAM techniques allow obtaining link metrics like delay and loss which can be used in the PCE algorithms.</t>
      </section>
    </section>
    <section anchor="modelling-the-scheduling-of-oam-tests">
      <name>Modelling the Scheduling of OAM Tests</name>
      <t>This document specifies two models: OAM unitary test and OAM test sequence models.</t>
      <section anchor="oam-unitary-test">
        <name>OAM Unitary Test</name>
        <t>The OAM unitary test model encompasses parameters that define a specific type of OAM test to be performed. The YANG model includes a container named "oam-unitary-tests" that serves as a container for activating OAM unitary tests for network diagnosis procedures. Inside the container, there is a list called "oam-unitary-test" representing a list of specific OAM unitary tests. The list key is defined as "name", which provides a unique name for each test. Each OAM test in the list references a test type with its concrete parameters. The test types are out of the scope of this document. Moreover, each OAM unitary test has two temporal parameters: "period-of-time" and "recurrence". Both are imported from the "ietf-schedule" module from <xref target="I-D.ietf-netmod-schedule-yang"/>. "period-of-time" identifies the period values that contain a precise period of time, while "recurrence" identifies the properties that contain a recurrence rule specification. "unitary-test-status" enumerates the state of the OAM unitary test.</t>
        <t><xref target="oam-uni-test-tree-st"/> shows the structure of OAM unitary test module:</t>
        <figure anchor="oam-uni-test-tree-st">
          <name>Tree Structure of OAM Unitary Test</name>
          <artwork align="center"><![CDATA[
module: ietf-oam-unitary-test
  +--rw oam-unitary-tests
     +--rw oam-unitary-test* [name]
        +--rw name                      string
        +--rw ne-config* [ne-id]
        |  +--rw ne-id    rt-types:router-id
        |  +--rw (test-type)
        +--rw period-description?       string
        +--rw period-start              yang:date-and-time
        +--rw time-zone-identifier?     sys:timezone-name
        +--rw (period-type)?
        |  +--:(explicit)
        |  |  +--rw period-end?         yang:date-and-time
        |  +--:(duration)
        |     +--rw duration?           duration
        +--rw recurrence-description?   string
        +--rw frequency                 identityref
        +--rw interval?                 uint32
        +--rw unitary-test-status?      enumeration
]]></artwork>
        </figure>
        <t>(Note: alignment with <xref target="I-D.ietf-netmod-schedule-yang"/> will continue with the progress of that document).
The 'unitary-test-status' state machine is shown in <xref target="st-unitary-test-status"/>. The state machine includes the following states:</t>
        <ul spacing="normal">
          <li>
            <t>"planned": The initial state where the test is planned.</t>
          </li>
          <li>
            <t>"configured": The state where the test is being configured.</t>
          </li>
          <li>
            <t>"ready": The state where the test is ready to be executed.</t>
          </li>
          <li>
            <t>"on-going": The state where the test is currently running.</t>
          </li>
          <li>
            <t>"stop": The state where the test is manually stopped.</t>
          </li>
          <li>
            <t>"error": The state where an error occurs during the test.</t>
          </li>
          <li>
            <t>"finished": The final state where the test is completed.</t>
          </li>
        </ul>
        <figure anchor="st-unitary-test-status">
          <name>OAM Unitary Test State Machine</name>
          <artwork align="center"><![CDATA[
   +---------+      +----------+      +---------+
+->| planned |----->|configured|----->|  ready  |
|  +---------+      +----------+      +---------+
|                        |                |
|                        |                V
|            +-------+   |          +----------+
|      +-----| error |<--+----------| on-going |
|      |     +-------+              +----------+
|      |                                  |
|      V                                  |
|  +---------+      +--------+            |
+--| finished|<-----|  stop  |<------------+
   +---------+      +--------+            |
       A                                  |
       |                                  |
       +----------------------------------+

]]></artwork>
        </figure>
      </section>
      <section anchor="oam-test-sequence">
        <name>OAM Test Sequence</name>
        <t>The OAM test sequence model consists of a collection of OAM unitary tests that are executed based on specified time constraints, repetitions, ordering, and reporting outputs. These sequences provide a structured approach to running multiple OAM tests in a coordinated manner.</t>
        <t>Each OAM test sequence references an OAM unitary test type with its concrete parameters. Each OAM test sequence has two temporal parameters: "period-of-time" and "recurrence". Both are imported from the "ietf-schedule" module from <xref target="I-D.ietf-netmod-schedule-yang"/>. "period-of-time" identifies the period values that contain a precise period of time, while "recurrence" identifies theproperties that contain a recurrence rule specification. "unitary-test-status" enumerates the state of the OAM test. Finally, "test-sequence-status" shows the state of the OAM test sequence.</t>
        <t><xref target="oam-test-sequence-tree-st"/> shows the structure of OAM test sequence module:</t>
        <figure anchor="oam-test-sequence-tree-st">
          <name>OAM test sequence</name>
          <artwork align="center"><![CDATA[
module: ietf-oam-test-sequence
  +--rw oam-test-sequence
     +--rw test-sequence* [name]
        +--rw name                      string
        +--rw test-ref* [name]
        |  +--rw name             string
        |  +--rw (test-type)
        |  +--rw numexecutions?   uint32
        +--rw period-description?       string
        +--rw period-start              yang:date-and-time
        +--rw time-zone-identifier?     sys:timezone-name
        +--rw (period-type)?
        |  +--:(explicit)
        |  |  +--rw period-end?         yang:date-and-time
        |  +--:(duration)
        |     +--rw duration?           duration
        +--rw recurrence-first
        |  +--rw utc-start-time?   yang:date-and-time
        |  +--rw duration?         uint32
        +--rw (recurrence-bound)?
        |  +--:(until)
        |  |  +--rw utc-until?          yang:date-and-time
        |  +--:(count)
        |     +--rw count?              uint32
        +--rw recurrence-description?   string
        +--rw frequency                 identityref
        +--rw interval?                 uint32
        +--rw test-sequence-status?     enumeration

]]></artwork>
        </figure>
        <t>The 'test-sequence-status' state machine is shown in <xref target="st-test-sequence-status"/>. The state machine includes the following states:</t>
        <ul spacing="normal">
          <li>
            <t>"planned": The initial state where the test is planned.</t>
          </li>
          <li>
            <t>"configured": The state where the test is being configured.</t>
          </li>
          <li>
            <t>"ready": The state where the test is ready to be executed.</t>
          </li>
          <li>
            <t>"on-going": The state where the test is currently running.</t>
          </li>
          <li>
            <t>"stop": The state where the test is manually stopped.</t>
          </li>
          <li>
            <t>"success": The state when all unitary tests were successful.</t>
          </li>
          <li>
            <t>"failure": The state when one or more tests in the sequence got an error.</t>
          </li>
          <li>
            <t>"error": The state where an error occurs during the test.</t>
          </li>
        </ul>
        <figure anchor="st-test-sequence-status">
          <name>OAM test sequence state machine</name>
          <artwork align="center"><![CDATA[
    +---------+      +----------+      +---------+
 +->| planned |----->|configured|----->|  ready  |
 |  +---------+      +----------+      +---------+
 |    A   A                 |              |
 |    |   |                 |              V
 |    |   |     +-------+   |          +----------+
 |    |   ------| error |<--+----------| on-going |
 |    |         +-------+              +----------+
 |    |                                    |
 |    |                                    |
 | +---------+      +--------+             |
 | | failure |<-----|  stop  |<------------+
 | +---------+      +--------+             |
 |                                         |
 | +---------+                             |
 +-| success |<----------------------------+
   +---------+

]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="yang-data-models-for-scheduling-oam-tests">
      <name>YANG Data Models for Scheduling OAM Tests</name>
      <section anchor="yang-model-for-scheduling-oam-unitary-test">
        <name>YANG Model for Scheduling OAM Unitary Test</name>
        <sourcecode markers="true"><![CDATA[ file ietf-oam-unitary-test@2024-11-08.yang
module ietf-oam-unitary-test {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-oam-unitary-test";
  prefix "oamut";

  // Import OAM models from RFCs RFC8531, RFC8532 and RFC8533

  // reference ietf-netmod-schedule-yang
  import ietf-schedule {
    prefix schedule;
    reference
      "RFC XXXX: A Common YANG Data Model for Scheduling";
  }

  import ietf-routing-types {
    prefix rt-types;
    reference
      "RFC 8294: Common YANG Data Types for the Routing Area";
  }

  organization
    "IETF OPSAWG (Operations and Management Area Working Group)";

  contact
    "WG Web:   <https://datatracker.ietf.org/wg/opsawg/>
     WG List:  <mailto:opsawg@ietf.org>
     Author: Luis Miguel Contreras Murillo
          <luismiguel.contrerasmurillo@telefonica.com>
     Author: Victor Lopez
          <victor.lopez@nokia.com>";
  description
    "This module defines the 'ietf-oam-unitary-test' YANG model for
     activation of network diagnosis procedures.

    Copyright (c) 2024 IETF Trust and the persons identified as
    authors of the code.  All rights reserved.

    Redistribution and use in source and binary forms, with or
    without modification, is permitted pursuant to, and subject
    to the license terms contained in, the Revised BSD License
    set forth in Section 4.c of the IETF Trust's Legal Provisions
    Relating to IETF Documents
      (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX
     (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself
     for full legal notices.";

  // RFC Ed.: update the date below with the date of RFC
  // publication and remove this note.
  // RFC Ed.: replace XXXX with actual RFC number and remove
  // this note.

  revision "2024-11-08" {
    description
      "Initial version";
    reference
      "RFCXXXX: A YANG Data Model for Network Diagnosis by Scheduling
       Sequences of OAM Tests";
       // Update with the correct RFC number when assigned
  }

  grouping oam-unitary-test {
    description
        "Specifies a grouping for OAM unitary test for network
        diagnosis procedures.";

    leaf name {
      type string;
      description
        "Defines the name of the test.";
    }

    list ne-config {
      key ne-id;
      description "List of node configurations required to enable the
        unitary tests.";

      leaf ne-id {
        type rt-types:router-id;
        description
          "A 32-bit number in the dotted-quad format that is used
            to uniquely identify a node within an autonomous system
            the ne-id. This identifier is used for both IPv4 and IPv6.";
      }
      choice test-type {
        mandatory true;
        description
          "Choose the type of test. Pending to add the schema-mount solution";
          // Import OAM models from RFCs RFC8531, RFC8532 and RFC8533
      }
    }
  }

  container oam-unitary-tests {
    description
      "Container for OAM unitary tests activation for network
      diagnosis procedures.";

    list oam-unitary-test {
      key name;
      description
        "List of OAM unitary tests activation for network diagnosis
        procedures.";

      uses oam-unitary-test;

      uses schedule:period-of-time;

      uses schedule:recurrence;

      leaf unitary-test-status {
        type enumeration {
          enum "planned" {
            description
              "The test is planned.";
          }
          enum "configure" {
            description
              "The test is configured.";
          }
          enum "ready" {
            description
              "The test status is ready.";
          }
          enum "ongoing" {
            description
              "The test is ongoing.";
          }
          enum "stop" {
            description
              "The test is stopped.";
          }
          enum "finish" {
            description
              "The test is finished.";
          }
          enum "error" {
            description
              "The test has an error.";
          }
        }
        description
          "Status of the test.";
      }
    }
  }
}

]]></sourcecode>
      </section>
      <section anchor="yang-model-for-oam-test-sequence">
        <name>YANG Model for OAM Test Sequence</name>
        <sourcecode markers="true"><![CDATA[ file ietf-oam-test-sequence@2024-11-08.yang

module ietf-oam-test-sequence {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-oam-test-sequence";
  prefix "oamts";

  import ietf-oam-unitary-test {
    prefix "oamut";
    // Update the reference with the correct RFC number or other
    // reference when assigned
    // reference "RFCXXXX";
  }

  // reference ietf-netmod-schedule-yang
  import ietf-schedule { prefix "schedule"; }

  organization
    "IETF OPSAWG (Operations and Management Area Working Group)";

  contact
    "WG Web:   <https://datatracker.ietf.org/wg/opsawg/>
     WG List:  <mailto:opsawg@ietf.org>
     Author: Luis Miguel Contreras Murillo
          <luismiguel.contrerasmurillo@telefonica.com>
     Author: Victor Lopez
          <victor.lopez@nokia.com>";
  description
    "This module defines the 'oam-unitary-test' YANG model for
    management of network diagnosis procedures.

    Copyright (c) 2024 IETF Trust and the persons identified as
    authors of the code.  All rights reserved.

    Redistribution and use in source and binary forms, with or
    without modification, is permitted pursuant to, and subject
    to the license terms contained in, the Revised BSD License
    set forth in Section 4.c of the IETF Trust's Legal Provisions
    Relating to IETF Documents
      (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX
     (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself
     for full legal notices.";

  // RFC Ed.: update the date below with the date of RFC
  // publication and remove this note.
  // RFC Ed.: replace XXXX with actual RFC number and remove
  // this note.

  revision "2024-11-08" {
    description "Initial version";
    reference "RFCXXXX";
    // Update with the correct RFC number when assigned
  }

  // Data model definition

  container oam-test-sequence {
    description
      "Container for executing a sequence of ietf-oam-unitary-tests
      N times.";

    list test-sequence {
      key "name";
      description "List of test sequences.";

      leaf name {
        type string;
        description "Unique name for the test sequence.";
      }

      list test-ref {
        key "name";
        description "References to the ietf-oam-unitary-tests.";

        uses "oamut:oam-unitary-test";

        leaf numexecutions {
          type uint32;
          default 1;
          description
            "Number of times the test sequence should be
            executed.";
        }
      }

      uses schedule:period-of-time;

      uses schedule:recurrence-utc;

      leaf test-sequence-status {
        type enumeration {
          enum "planned" {
            description
              "The test sequence is planned.";
          }
          enum "configured" {
            description
              "The test sequence is configured.";
          }
          enum "ready" {
            description
              "The test sequence is ready.";
          }
          enum "ongoing" {
            description
              "The test sequence status is ongoing.";
          }
          enum "stop" {
            description
              "The test sequenceis stopped.";
          }
          enum "success" {
            description
              "All tests in the sequence were successful.";
          }
          enum "failure" {
            description
              "One or more tests in the sequence got an error.";
          }
          enum "error" {
            description
              "The test sequence status has an error.";
          }
        }

        description
          "Status of the test sequence execution.";
      }
    }
  }
}

]]></sourcecode>
      </section>
    </section>
    <section anchor="using-device-mode-within-oam-scheduling-models">
      <name>Using Device Mode Within OAM Scheduling Models</name>
      <t>This section discusses the issues related to reusing device models already defined in IETF within the context of scheduling OAM tests. There are two main approaches to enable OAM scheduling models:
  * Importing YANG model into the OAM scheduling models. This approach will copy the device model into the OAM unitary test model to enable the configuration and utilization of the desired OAM test. This approach requires to recreate new YANG models for each new test type or variation of the device models.
  * Schema-mount allows mounting a data model at a specified location of another (parent) schema. The main difference with importing the YANG modules is that they don't have to be prepared for mounting; any existing modules such as "ietf-twamp" can be mounted without any modifications.</t>
      <t>As an exmaple, we will use <xref target="RFC8913"/>, which defines a YANG data model for TWAMP, to illustrate how device models could be used.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The YANG module targeted in this document defines a schema for data that is designed to be accessed via network management protocols such as NETCONF <xref target="RFC6241"/> or RESTCONF <xref target="RFC8040"/>.  The lowest NETCONF layer is the secure transport layer, and the mandatory-to-implement secure transport is Secure Shell (SSH) <xref target="RFC6242"/>. The lowest RESTCONF layer is HTTPS, and the mandatory-to-implement secure transport is TLS <xref target="RFC5246"/>.</t>
      <t>The NETCONF access control model <xref target="RFC6536"/> provides the means to restrict access for particular NETCONF or RESTCONF users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content.</t>
      <t>There are a number of data nodes defined in this YANG module that are writable/creatable/deletable (i.e., config true, which is the default).  These data nodes may be considered sensitive or vulnerable in some network environments.  Write operations (e.g., edit-config) to these data nodes without proper protection can have a negative effect on network operations.</t>
      <t>In which refers to the scheduling of the tests, security considerations in <xref target="I-D.ietf-netmod-schedule-yang"/> are also applicable here.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TBC</t>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t>This section will be used to track the status of the implementations of the model. It is aimed at being removed if the document becomes RFC.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC5860">
          <front>
            <title>Requirements for Operations, Administration, and Maintenance (OAM) in MPLS Transport Networks</title>
            <author fullname="M. Vigoureux" initials="M." role="editor" surname="Vigoureux"/>
            <author fullname="D. Ward" initials="D." role="editor" surname="Ward"/>
            <author fullname="M. Betts" initials="M." role="editor" surname="Betts"/>
            <date month="May" year="2010"/>
            <abstract>
              <t>This document lists architectural and functional requirements for the Operations, Administration, and Maintenance of MPLS Transport Profile. These requirements apply to pseudowires, Label Switched Paths, and Sections. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5860"/>
          <seriesInfo name="DOI" value="10.17487/RFC5860"/>
        </reference>
        <reference anchor="RFC8531">
          <front>
            <title>Generic YANG Data Model for Connection-Oriented Operations, Administration, and Maintenance (OAM) Protocols</title>
            <author fullname="D. Kumar" initials="D." surname="Kumar"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <author fullname="Z. Wang" initials="Z." surname="Wang"/>
            <date month="April" year="2019"/>
            <abstract>
              <t>This document presents a base YANG data model for connection-oriented Operations, Administration, and Maintenance (OAM) protocols. It provides a technology-independent abstraction of key OAM constructs for such protocols. The model presented here can be extended to include technology-specific details. This guarantees uniformity in the management of OAM protocols and provides support for nested OAM workflows (i.e., performing OAM functions at different levels through a unified interface).</t>
              <t>The YANG data model in this document conforms to the Network Management Datastore Architecture.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8531"/>
          <seriesInfo name="DOI" value="10.17487/RFC8531"/>
        </reference>
        <reference anchor="RFC8532">
          <front>
            <title>Generic YANG Data Model for the Management of Operations, Administration, and Maintenance (OAM) Protocols That Use Connectionless Communications</title>
            <author fullname="D. Kumar" initials="D." surname="Kumar"/>
            <author fullname="Z. Wang" initials="Z." surname="Wang"/>
            <author fullname="Q. Wu" initials="Q." role="editor" surname="Wu"/>
            <author fullname="R. Rahman" initials="R." surname="Rahman"/>
            <author fullname="S. Raghavan" initials="S." surname="Raghavan"/>
            <date month="April" year="2019"/>
            <abstract>
              <t>This document presents a base YANG Data model for the management of Operations, Administration, and Maintenance (OAM) protocols that use connectionless communications. The data model is defined using the YANG data modeling language, as specified in RFC 7950. It provides a technology-independent abstraction of key OAM constructs for OAM protocols that use connectionless communication. The base model presented here can be extended to include technology-specific details.</t>
              <t>There are two key benefits of this approach: First, it leads to uniformity between OAM protocols. Second, it supports both nested OAM workflows (i.e., performing OAM functions at the same level or different levels through a unified interface) as well as interactive OAM workflows (i.e., performing OAM functions at the same level through a unified interface).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8532"/>
          <seriesInfo name="DOI" value="10.17487/RFC8532"/>
        </reference>
        <reference anchor="RFC8533">
          <front>
            <title>A YANG Data Model for Retrieval Methods for the Management of Operations, Administration, and Maintenance (OAM) Protocols That Use Connectionless Communications</title>
            <author fullname="D. Kumar" initials="D." surname="Kumar"/>
            <author fullname="M. Wang" initials="M." surname="Wang"/>
            <author fullname="Q. Wu" initials="Q." role="editor" surname="Wu"/>
            <author fullname="R. Rahman" initials="R." surname="Rahman"/>
            <author fullname="S. Raghavan" initials="S." surname="Raghavan"/>
            <date month="April" year="2019"/>
            <abstract>
              <t>This document presents a retrieval method YANG data model for connectionless Operations, Administration, and Maintenance (OAM) protocols. It provides technology-independent RPC operations for OAM protocols that use connectionless communication. The retrieval methods model herein presented can be extended to include technology- specific details. There are two key benefits of this approach: First, it leads to uniformity between OAM protocols. Second, it supports both nested OAM workflows (i.e., performing OAM functions at different or the same levels through a unified interface) as well as interactive OAM workflows (i.e., performing OAM functions at the same levels through a unified interface).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8533"/>
          <seriesInfo name="DOI" value="10.17487/RFC8533"/>
        </reference>
        <reference anchor="RFC8913">
          <front>
            <title>Two-Way Active Measurement Protocol (TWAMP) YANG Data Model</title>
            <author fullname="R. Civil" initials="R." surname="Civil"/>
            <author fullname="A. Morton" initials="A." surname="Morton"/>
            <author fullname="R. Rahman" initials="R." surname="Rahman"/>
            <author fullname="M. Jethanandani" initials="M." surname="Jethanandani"/>
            <author fullname="K. Pentikousis" initials="K." role="editor" surname="Pentikousis"/>
            <date month="November" year="2021"/>
            <abstract>
              <t>This document specifies a data model for client and server
implementations of the Two-Way Active Measurement Protocol (TWAMP).
This document defines the TWAMP data model through Unified Modeling
Language (UML) class diagrams and formally specifies it using the
YANG data modeling language (RFC 7950). The data model is compliant
with the Network Management Datastore Architecture (NMDA).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8913"/>
          <seriesInfo name="DOI" value="10.17487/RFC8913"/>
        </reference>
        <reference anchor="RFC8342">
          <front>
            <title>Network Management Datastore Architecture (NMDA)</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="P. Shafer" initials="P." surname="Shafer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Wilton" initials="R." surname="Wilton"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>Datastores are a fundamental concept binding the data models written in the YANG data modeling language to network management protocols such as the Network Configuration Protocol (NETCONF) and RESTCONF. This document defines an architectural framework for datastores based on the experience gained with the initial simpler model, addressing requirements that were not well supported in the initial model. This document updates RFC 7950.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8342"/>
          <seriesInfo name="DOI" value="10.17487/RFC8342"/>
        </reference>
        <reference anchor="RFC7950">
          <front>
            <title>The YANG 1.1 Data Modeling Language</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols. This document describes the syntax and semantics of version 1.1 of the YANG language. YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification. There are a small number of backward incompatibilities from YANG version 1. This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7950"/>
          <seriesInfo name="DOI" value="10.17487/RFC7950"/>
        </reference>
        <reference anchor="RFC8345">
          <front>
            <title>A YANG Data Model for Network Topologies</title>
            <author fullname="A. Clemm" initials="A." surname="Clemm"/>
            <author fullname="J. Medved" initials="J." surname="Medved"/>
            <author fullname="R. Varga" initials="R." surname="Varga"/>
            <author fullname="N. Bahadur" initials="N." surname="Bahadur"/>
            <author fullname="H. Ananthakrishnan" initials="H." surname="Ananthakrishnan"/>
            <author fullname="X. Liu" initials="X." surname="Liu"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document defines an abstract (generic, or base) YANG data model for network/service topologies and inventories. The data model serves as a base model that is augmented with technology-specific details in other, more specific topology and inventory data models.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8345"/>
          <seriesInfo name="DOI" value="10.17487/RFC8345"/>
        </reference>
        <reference anchor="RFC8346">
          <front>
            <title>A YANG Data Model for Layer 3 Topologies</title>
            <author fullname="A. Clemm" initials="A." surname="Clemm"/>
            <author fullname="J. Medved" initials="J." surname="Medved"/>
            <author fullname="R. Varga" initials="R." surname="Varga"/>
            <author fullname="X. Liu" initials="X." surname="Liu"/>
            <author fullname="H. Ananthakrishnan" initials="H." surname="Ananthakrishnan"/>
            <author fullname="N. Bahadur" initials="N." surname="Bahadur"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document defines a YANG data model for Layer 3 network topologies.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8346"/>
          <seriesInfo name="DOI" value="10.17487/RFC8346"/>
        </reference>
        <reference anchor="RFC8795">
          <front>
            <title>YANG Data Model for Traffic Engineering (TE) Topologies</title>
            <author fullname="X. Liu" initials="X." surname="Liu"/>
            <author fullname="I. Bryskin" initials="I." surname="Bryskin"/>
            <author fullname="V. Beeram" initials="V." surname="Beeram"/>
            <author fullname="T. Saad" initials="T." surname="Saad"/>
            <author fullname="H. Shah" initials="H." surname="Shah"/>
            <author fullname="O. Gonzalez de Dios" initials="O." surname="Gonzalez de Dios"/>
            <date month="August" year="2020"/>
            <abstract>
              <t>This document defines a YANG data model for representing, retrieving, and manipulating Traffic Engineering (TE) Topologies. The model serves as a base model that other technology-specific TE topology models can augment.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8795"/>
          <seriesInfo name="DOI" value="10.17487/RFC8795"/>
        </reference>
        <reference anchor="RFC8340">
          <front>
            <title>YANG Tree Diagrams</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="L. Berger" initials="L." role="editor" surname="Berger"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document captures the current syntax used in YANG module tree diagrams. The purpose of this document is to provide a single location for this definition. This syntax may be updated from time to time based on the evolution of the YANG language.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="215"/>
          <seriesInfo name="RFC" value="8340"/>
          <seriesInfo name="DOI" value="10.17487/RFC8340"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC6991">
          <front>
            <title>Common YANG Data Types</title>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document introduces a collection of common data types to be used with the YANG data modeling language. This document obsoletes RFC 6021.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6991"/>
          <seriesInfo name="DOI" value="10.17487/RFC6991"/>
        </reference>
        <reference anchor="RFC5357">
          <front>
            <title>A Two-Way Active Measurement Protocol (TWAMP)</title>
            <author fullname="K. Hedayat" initials="K." surname="Hedayat"/>
            <author fullname="R. Krzanowski" initials="R." surname="Krzanowski"/>
            <author fullname="A. Morton" initials="A." surname="Morton"/>
            <author fullname="K. Yum" initials="K." surname="Yum"/>
            <author fullname="J. Babiarz" initials="J." surname="Babiarz"/>
            <date month="October" year="2008"/>
            <abstract>
              <t>The One-way Active Measurement Protocol (OWAMP), specified in RFC 4656, provides a common protocol for measuring one-way metrics between network devices. OWAMP can be used bi-directionally to measure one-way metrics in both directions between two network elements. However, it does not accommodate round-trip or two-way measurements. This memo specifies a Two-Way Active Measurement Protocol (TWAMP), based on the OWAMP, that adds two-way or round-trip measurement capabilities. The TWAMP measurement architecture is usually comprised of two hosts with specific roles, and this allows for some protocol simplifications, making it an attractive alternative in some circumstances. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5357"/>
          <seriesInfo name="DOI" value="10.17487/RFC5357"/>
        </reference>
        <reference anchor="I-D.ietf-netmod-schedule-yang">
          <front>
            <title>A Common YANG Data Model for Scheduling</title>
            <author fullname="Qiufang Ma" initials="Q." surname="Ma">
              <organization>Huawei</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Daniel King" initials="D." surname="King">
              <organization>Lancaster University</organization>
            </author>
            <date day="10" month="October" year="2024"/>
            <abstract>
              <t>   This document defines a common schedule YANG module which is designed
   to be applicable for scheduling purposes such as event, policy,
   services, or resources based on date and time.  For the sake of
   better modularity, the module includes a set of recurrence related
   groupings with varying granularity levels (i.e., from basic to
   advanced).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-schedule-yang-03"/>
        </reference>
        <reference anchor="RFC6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6241"/>
          <seriesInfo name="DOI" value="10.17487/RFC6241"/>
        </reference>
        <reference anchor="RFC8040">
          <front>
            <title>RESTCONF Protocol</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8040"/>
          <seriesInfo name="DOI" value="10.17487/RFC8040"/>
        </reference>
        <reference anchor="RFC6242">
          <front>
            <title>Using the NETCONF Protocol over Secure Shell (SSH)</title>
            <author fullname="M. Wasserman" initials="M." surname="Wasserman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>This document describes a method for invoking and running the Network Configuration Protocol (NETCONF) within a Secure Shell (SSH) session as an SSH subsystem. This document obsoletes RFC 4742. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6242"/>
          <seriesInfo name="DOI" value="10.17487/RFC6242"/>
        </reference>
        <reference anchor="RFC5246">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.2</title>
            <author fullname="T. Dierks" initials="T." surname="Dierks"/>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2008"/>
            <abstract>
              <t>This document specifies Version 1.2 of the Transport Layer Security (TLS) protocol. The TLS protocol provides communications security over the Internet. The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5246"/>
          <seriesInfo name="DOI" value="10.17487/RFC5246"/>
        </reference>
        <reference anchor="RFC6536">
          <front>
            <title>Network Configuration Protocol (NETCONF) Access Control Model</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <date month="March" year="2012"/>
            <abstract>
              <t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability. There is a need for standard mechanisms to restrict NETCONF protocol access for particular users to a pre-configured subset of all available NETCONF protocol operations and content. This document defines such an access control model. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6536"/>
          <seriesInfo name="DOI" value="10.17487/RFC6536"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="ITU-T-Y1731" target="https://www.itu.int/rec/T-REC-Y.1731/en">
          <front>
            <title>OAM Functions and Mechanisms for Ethernet-based Networks</title>
            <author>
              <organization/>
            </author>
            <date year="2023" month="June" day="13"/>
          </front>
        </reference>
        <reference anchor="RFC7276">
          <front>
            <title>An Overview of Operations, Administration, and Maintenance (OAM) Tools</title>
            <author fullname="T. Mizrahi" initials="T." surname="Mizrahi"/>
            <author fullname="N. Sprecher" initials="N." surname="Sprecher"/>
            <author fullname="E. Bellagamba" initials="E." surname="Bellagamba"/>
            <author fullname="Y. Weingarten" initials="Y." surname="Weingarten"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>Operations, Administration, and Maintenance (OAM) is a general term that refers to a toolset for fault detection and isolation, and for performance measurement. Over the years, various OAM tools have been defined for various layers in the protocol stack.</t>
              <t>This document summarizes some of the OAM tools defined in the IETF in the context of IP unicast, MPLS, MPLS Transport Profile (MPLS-TP), pseudowires, and Transparent Interconnection of Lots of Links (TRILL). This document focuses on tools for detecting and isolating failures in networks and for performance monitoring. Control and management aspects of OAM are outside the scope of this document. Network repair functions such as Fast Reroute (FRR) and protection switching, which are often triggered by OAM protocols, are also out of the scope of this document.</t>
              <t>The target audience of this document includes network equipment vendors, network operators, and standards development organizations. This document can be used as an index to some of the main OAM tools defined in the IETF. At the end of the document, a list of the OAM toolsets and a list of the OAM functions are presented as a summary.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7276"/>
          <seriesInfo name="DOI" value="10.17487/RFC7276"/>
        </reference>
        <reference anchor="RFC8969">
          <front>
            <title>A Framework for Automating Service and Network Management with YANG</title>
            <author fullname="Q. Wu" initials="Q." role="editor" surname="Wu"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="D. Lopez" initials="D." surname="Lopez"/>
            <author fullname="C. Xie" initials="C." surname="Xie"/>
            <author fullname="L. Geng" initials="L." surname="Geng"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>Data models provide a programmatic approach to represent services and networks. Concretely, they can be used to derive configuration information for network and service components, and state information that will be monitored and tracked. Data models can be used during the service and network management life cycle (e.g., service instantiation, service provisioning, service optimization, service monitoring, service diagnosing, and service assurance). Data models are also instrumental in the automation of network management, and they can provide closed-loop control for adaptive and deterministic service creation, delivery, and maintenance.</t>
              <t>This document describes a framework for service and network management automation that takes advantage of YANG modeling technologies. This framework is drawn from a network operator perspective irrespective of the origin of a data model; thus, it can accommodate YANG modules that are developed outside the IETF.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8969"/>
          <seriesInfo name="DOI" value="10.17487/RFC8969"/>
        </reference>
        <reference anchor="RFC6632">
          <front>
            <title>An Overview of the IETF Network Management Standards</title>
            <author fullname="M. Ersue" initials="M." role="editor" surname="Ersue"/>
            <author fullname="B. Claise" initials="B." surname="Claise"/>
            <date month="June" year="2012"/>
            <abstract>
              <t>This document gives an overview of the IETF network management standards and summarizes existing and ongoing development of IETF Standards Track network management protocols and data models. The document refers to other overview documents, where they exist and classifies the standards for easy orientation. The purpose of this document is, on the one hand, to help system developers and users to select appropriate standard management protocols and data models to address relevant management needs. On the other hand, the document can be used as an overview and guideline by other Standard Development Organizations or bodies planning to use IETF management technologies and data models. This document does not cover Operations, Administration, and Maintenance (OAM) technologies on the data-path, e.g., OAM of tunnels, MPLS Transport Profile (MPLS-TP) OAM, and pseudowire as well as the corresponding management models. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6632"/>
          <seriesInfo name="DOI" value="10.17487/RFC6632"/>
        </reference>
        <reference anchor="I-D.ietf-nmop-network-incident-yang">
          <front>
            <title>A YANG Data Model for Network Incident Management</title>
            <author fullname="Tong Hu" initials="T." surname="Hu">
              <organization>CMCC</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
         </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Nigel Davis" initials="N." surname="Davis">
              <organization>Ciena</organization>
            </author>
            <author fullname="Chong Feng" initials="C." surname="Feng">
         </author>
            <date day="10" month="October" year="2024"/>
            <abstract>
              <t>   A network incident refers to an unexpected interruption of a network
   service, degradation of a network service quality, or sub-health of a
   network service.  Different data sources including alarms, metrics,
   and other anomaly information can be aggregated into a few amount of
   network incidents through data correlation analysis and the service
   impact analysis.

   This document defines a YANG Module for the network incident
   lifecycle management.  This YANG module is meant to provide a
   standard way to report, diagnose, and help resolve network incidents
   for the sake of network service health and root cause analysis.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-nmop-network-incident-yang-02"/>
        </reference>
        <reference anchor="I-D.ietf-nmop-terminology">
          <front>
            <title>Some Key Terms for Network Fault and Problem Management</title>
            <author fullname="Nigel Davis" initials="N." surname="Davis">
              <organization>Ciena</organization>
            </author>
            <author fullname="Adrian Farrel" initials="A." surname="Farrel">
              <organization>Old Dog Consulting</organization>
            </author>
            <author fullname="Thomas Graf" initials="T." surname="Graf">
              <organization>Swisscom</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Chaode Yu" initials="C." surname="Yu">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="3" month="November" year="2024"/>
            <abstract>
              <t>   This document sets out some terms that are fundamental to a common
   understanding of network fault and problem management within the
   IETF.

   The purpose of this document is to bring clarity to discussions and
   other work related to network fault and problem management in
   particular YANG models and management protocols that report, make
   visible, or manage network faults and problems.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-nmop-terminology-07"/>
        </reference>
        <reference anchor="RFC7297">
          <front>
            <title>IP Connectivity Provisioning Profile (CPP)</title>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <author fullname="C. Jacquenet" initials="C." surname="Jacquenet"/>
            <author fullname="N. Wang" initials="N." surname="Wang"/>
            <date month="July" year="2014"/>
            <abstract>
              <t>This document describes the Connectivity Provisioning Profile (CPP) and proposes a CPP template to capture IP/MPLS connectivity requirements to be met within a service delivery context (e.g., Voice over IP or IP TV). The CPP defines the set of IP transfer parameters to be supported by the underlying transport network together with a reachability scope and bandwidth/capacity needs. Appropriate performance metrics, such as one-way delay or one-way delay variation, are used to characterize an IP transfer service. Both global and restricted reachability scopes can be captured in the CPP.</t>
              <t>Such a generic CPP template is meant to (1) facilitate the automation of the service negotiation and activation procedures, thus accelerating service provisioning, (2) set (traffic) objectives of Traffic Engineering functions and service management functions, and (3) improve service and network management systems with 'decision- making' capabilities based upon negotiated/offered CPPs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7297"/>
          <seriesInfo name="DOI" value="10.17487/RFC7297"/>
        </reference>
        <reference anchor="RFC9543">
          <front>
            <title>A Framework for Network Slices in Networks Built from IETF Technologies</title>
            <author fullname="A. Farrel" initials="A." role="editor" surname="Farrel"/>
            <author fullname="J. Drake" initials="J." role="editor" surname="Drake"/>
            <author fullname="R. Rokui" initials="R." surname="Rokui"/>
            <author fullname="S. Homma" initials="S." surname="Homma"/>
            <author fullname="K. Makhijani" initials="K." surname="Makhijani"/>
            <author fullname="L. Contreras" initials="L." surname="Contreras"/>
            <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
            <date month="March" year="2024"/>
            <abstract>
              <t>This document describes network slicing in the context of networks built from IETF technologies. It defines the term "IETF Network Slice" to describe this type of network slice and establishes the general principles of network slicing in the IETF context.</t>
              <t>The document discusses the general framework for requesting and operating IETF Network Slices, the characteristics of an IETF Network Slice, the necessary system components and interfaces, and the mapping of abstract requests to more specific technologies. The document also discusses related considerations with monitoring and security.</t>
              <t>This document also provides definitions of related terms to enable consistent usage in other IETF documents that describe or use aspects of IETF Network Slices.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9543"/>
          <seriesInfo name="DOI" value="10.17487/RFC9543"/>
        </reference>
        <reference anchor="RFC4176">
          <front>
            <title>Framework for Layer 3 Virtual Private Networks (L3VPN) Operations and Management</title>
            <author fullname="Y. El Mghazli" initials="Y." role="editor" surname="El Mghazli"/>
            <author fullname="T. Nadeau" initials="T." surname="Nadeau"/>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <author fullname="K. Chan" initials="K." surname="Chan"/>
            <author fullname="A. Gonguet" initials="A." surname="Gonguet"/>
            <date month="October" year="2005"/>
            <abstract>
              <t>This document provides a framework for the operation and management of Layer 3 Virtual Private Networks (L3VPNs). This framework intends to produce a coherent description of the significant technical issues that are important in the design of L3VPN management solutions. The selection of specific approaches, and making choices among information models and protocols are outside the scope of this document. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4176"/>
          <seriesInfo name="DOI" value="10.17487/RFC4176"/>
        </reference>
        <reference anchor="RFC4655">
          <front>
            <title>A Path Computation Element (PCE)-Based Architecture</title>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="J.-P. Vasseur" initials="J.-P." surname="Vasseur"/>
            <author fullname="J. Ash" initials="J." surname="Ash"/>
            <date month="August" year="2006"/>
            <abstract>
              <t>Constraint-based path computation is a fundamental building block for traffic engineering systems such as Multiprotocol Label Switching (MPLS) and Generalized Multiprotocol Label Switching (GMPLS) networks. Path computation in large, multi-domain, multi-region, or multi-layer networks is complex and may require special computational components and cooperation between the different network domains.</t>
              <t>This document specifies the architecture for a Path Computation Element (PCE)-based model to address this problem space. This document does not attempt to provide a detailed description of all the architectural components, but rather it describes a set of building blocks for the PCE architecture from which solutions may be constructed. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4655"/>
          <seriesInfo name="DOI" value="10.17487/RFC4655"/>
        </reference>
      </references>
    </references>
    <?line 615?>

<section anchor="examples">
      <name>Examples</name>
      <t>This section includes a non-exhaustive list of examples to illustrate the use of the models defined in this document.</t>
      <section anchor="ex-create-twp-oam">
        <name>Create a TWAMP OAM test</name>
        <t><xref target="RFC8913"/> defines a YANG model for TWAMP. There is an example for TWAMP. The following example contains the information for the four configurations (Control-Client, Server, Session-Sender and Session-Reflector).</t>
        <t>An example of a request message body to create a TWAMP OAM test is shown in <xref target="create-twp-oam"/>. Session-Sender and Session-Reflector as expanded for illustrative purposes. The TWAMP Test scheduled in this configuration is a one-hour performance monitoring test that runs daily at 9 AM UTC. This test session is configured to start on October 17, 2023, at 09:00 UTC and recur at the same time every day. The duration of each test run is one hour, as specified by the ISO 8601 format "PT1H", with the test status marked as "scheduled". The test provides insight into network performance by monitoring the selected parameters, allowing for the detection of any potential degradations in service quality over time.</t>
        <figure anchor="create-twp-oam">
          <name>Example of a Message Body to Create a TWAMP OAM test</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-oam-unitary-test:oam-unitary-tests": {
    "oam-unitary-test": [
      {
        "name": "TWAMP-Test-scheduled-daily",
        "test-type": "twamp-test",
        "period-description": "TWAMP Test Period",
        "period-start": "2023-10-17T09:00:00Z",
        "time-zone-identifier": "UTC",
        "period-type": {
          "duration": {
            "duration": "PT1H"
          }
        },
        "recurrence-description": "Daily at 9 AM UTC",
        "frequency": "oam-types:daily",
        "interval": 1,
        "unitary-test-status": "scheduled",
        "ne-config": [
          {
            "ne-id": "203.0.113.3",
            "twamp": {
              "session-sender": {
                "admin-state": true,
                "test-session": [
                  {
                    "name": "Test1",
                    "ctrl-connection-name": "RouterA",
                    "fill-mode": "zero",
                    "number-of-packets": 900,
                    "periodic-interval": 1,
                    "sent-packets": 2,
                    "rcv-packets": 2,
                    "last-sent-seq": 1,
                    "last-rcv-seq": 1
                  },
                  {
                    "name": "Test2",
                    "ctrl-connection-name": "RouterA",
                    "fill-mode": "random",
                    "number-of-packets": 900,
                    "lambda": 1,
                    "max-interval": 2,
                    "sent-packets": 21,
                    "rcv-packets": 21,
                    "last-sent-seq": 20,
                    "last-rcv-seq": 20
                  }
                ]
              }
            }
          },
          {
            "ne-id": "203.0.113.4",
            "twamp": {
              "session-reflector": {
                "admin-state": true,
                "test-session": [
                  {
                    "sid": 1232,
                    "sender-ip": "203.0.113.3",
                    "sender-udp-port": 54000,
                    "reflector-ip": "203.0.113.4",
                    "reflector-udp-port": 55000,
                    "parent-connection-client-ip": "203.0.113.1",
                    "parent-connection-client-tcp-port": 16341,
                    "parent-connection-server-ip": "203.0.113.2",
                    "parent-connection-server-tcp-port": 862,
                    "test-packet-dscp": 32,
                    "sent-packets": 2,
                    "rcv-packets": 2,
                    "last-sent-seq": 1,
                    "last-rcv-seq": 1
                  },
                  {
                    "sid": 178943,
                    "sender-ip": "203.0.113.1",
                    "sender-udp-port": 54001,
                    "reflector-ip": "192.0.2.2",
                    "reflector-udp-port": 55001,
                    "parent-connection-client-ip": "203.0.113.1",
                    "parent-connection-client-tcp-port": 16341,
                    "parent-connection-server-ip": "203.0.113.2",
                    "parent-connection-server-tcp-port": 862,
                    "test-packet-dscp": 32,
                    "sent-packets": 21,
                    "rcv-packets": 21,
                    "last-sent-seq": 20,
                    "last-rcv-seq": 20
                  }
                ]
              }
            }
          }
        ]
      }
    ]
  }
}
]]></sourcecode>
        </figure>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
0JO/9qdhUmhsdvHu4J0KbUtw+/4HeYCoxP6FAAA=

-->

</rfc>
