<?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.22 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-opsawg-scheduling-oam-tests-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.26.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-ietf-opsawg-scheduling-oam-tests-00"/>
    <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="2025" month="January" day="29"/>
    <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-ietf-opsawg-scheduling-oam-tests.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-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-ietf-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="21" month="January" year="2025"/>
            <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 to 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-10"/>
        </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 614?>

<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:
H4sIAAAAAAAAA+09aXcbx5Hf8St64Q8iIwzEQyfs2KFIyuZ7JMUVaHm9efkw
GDSAiQYz8BykYJH57VtXH3OApOQ4m91nvsQiZ/qorq67q2uCIOiVcZnokeof
qJ8Pzr9XR2EZqrNsqhM1y3J1rsvrLP+gjuJwnmZFXKiqiNO5GkcLPa0SPVVj
/Uul00gXKpuptwdn6lIXZdHvhZNJrq9gYGmKvfA1ztLvRWGp51m+Hqk4nWW9
3jSL0nAJcEzzcFYGsS5nQbYqwut5UNj+QRYugxKHD3Z2ekU1WcZFEWdpuV5B
z5PjyzdKfaXCpMhg2jid6pWG/6Rlf6D6Jwev4R9YUf/k3eWbfi+tlhOdj3pT
AGTUi7K00GlRFSNV5pXuAdz7vTDXIQz0dqXzsIRpChWmU3UWpuFcL3HYHqJm
nmfV6q5m6gDGUT9BU0TB99i83/ug19B5OuqpALGC/zg84V+IRVUY3PaudFoB
nEp92XRKMY76refLME7gOeP6L4j3YZbP8U2YRwt4syjLVTF68gQb4qP4Sg9N
syf44Mkkz64L/YSHeIJd53G5qCbQ+SrJVvrXMLkCXP765GF7iwMkIf7qzV4b
aMjjD+NMhoTtK3PAR3HXuA+cfrgol0m/1wurcpHluEEAj1KzKkmYQk8r4IKz
oTo0k9J7wEaYxr/Sloxg9xI9y9I4CumlFiwn0HUZzyudDC3IyyqPkyT7S2m7
wLtlvz3v+zgqgX5PEREdU55nH+L6bFfUYUiY+0uKr3nkXprlS+h1BQTVQ/Zz
f0Hvk8sfg8vg590X+7sjGs79GFGBbPymSiOP/HS0AFiKZUFS47hc6DzVZTAJ
Cz1tjAI/IlVoq/0fYka1t7O3H+w8D3b3m/OH+VwDVRiiuL6+HsZlNYzT8kmu
oyeXwbvjw+DnIcL+RKe9XhAEKpwUZR5GZa93uYCNA0FTEZtM9SxOQWqFLPem
KPeWVu6lIvemVu5laTAFzMJic52skYeqVZYqx4cDdTBdxoCEkh8MhDEBOp2G
wMVqCxC3rZjKVDc0k6xcqEdIjFUaw3rXRJSPaKhHhkYDIxceMewANojiQpUZ
sDPKAQX4V0k809E6SjQK5vZ6VnkWAfHnuhgyopbxdJroXu8rdQKkCUPS/vZ6
X7DCsPgAiM01UG86DXGBYYK/C8UAPAiggWnpZNdWofVA6eF8OFCfPn337s3h
i70Xz29vt4fqe6DQlPpBU6ADnA4GcvvGlAgN4lxVZZwIZ4CCAR2VAzNodZFn
V/FU54+KrsmlO7wCtQa4BAmQAWcwNrMrwEKSgEjmobx+DtEM8stXz1/d3g6o
m9dM1GPmBPdEAz8iCYLGUqARhuodCIGrEOnBXxYgsoAFJYr0HVAeABchQKpY
6SiexRHBjBs5lgcA6npA8zm0r3j1DJcOUyKYGBVkPFvT6uMiQ8mrZmGVlLDd
0KoAClFM9assp1XAAkhm0IbDhgFOaAb1dLhntu358/2929uhegO8pD+Gy1Wi
8dV/wKtnL5/v3N5aikdoykWuEVewVah0C9izqyy5gm2AJ7AIkEx/Um8QKA+h
A3W9iKMFYC8B/WM3lPGb5bS6X6o4+pCs71olTuFR41AdM7iGTAtEVk26UT+A
v5RluzHprxxEGEr3OK3icq1AxUQfBkAk6QeFgkgz1yRZtpqE0Ydh77G68BDq
EQzw1AThWIJWgAXhxptF+luAoxm2hib+KyCXCgbYiocaGGqq53k4JSiBn8ZA
eoYTZZ9x1kIVFSIVlpoD50KnJFz7DQa1F6CPY153rQnCxM2SrCj8d8MeWDo6
AqUHuPEWa8jBwzXsH5AsYpkIGXhlWaF+ZGqe5dlSVSmr6fhXoJUwAktJpABs
oUaMAUv4cgQGhA3FVeKIZZYlvKWymYA+bzPhrxloUhSRSCSCe54AO/mYdns0
UAViVhsqQnpA8j10JHGIJDFiDWDYUwE7A+MSQ4Qgi9QqBE2gP4KwRUFRXmuU
fteAkixOmWpDSw4suaAbbiZ1RIVlBE2YIJGdCsE15xX2CQEHJNgA60ibCtvC
U9CrOkZOXMHfuuTH0AZnKtC8zhmBTIAliKJVla+yQpOK0yg84P9L4JgY0AHK
L1qkWZLNcaXYsfSBQTb5oNXJhbogTL4/PHwvv56O+aHyzAu7JlofMtglMtjG
FTZFBK0Dexh0gxzKqvnCa0pUlqXaw06YZji/cFBjQTgVSWiEIFwB/YbITYAC
NksITJ7z0yfP1ALSBHhg4fQOoCg1coovGc4siX3WAoUymTS84YD1GwTUUAay
pbpDogxRk5ZZhOxDO3b508HZBblXssyjs7Mn49Oz1iKjMFXZpERJX2MfTwAB
y55lgDCkvLRENXaSRgSZ7+UAV58ER+SJBOkyWwWylCCWxsE6TOcw4wxMrAKl
eYrWJKzaNHC2kNEkCNwE9cIVzD9Vk7WarsH2BppGfcSCx6hxtuJQuqBOe/kM
V2c0HPy1V/trH+BAlMqDV7v4QETe1NpwWoQRD+/IagTU7U9zj+kKuidlzRQA
tcBCYQoccmW2jBhTtG28ZB3g26IxiV6eBOYAUwtEU9SaiwSOoAwwPGWrJJ2B
f5ODkiMHJ0to3YYG7wXNKp+zi9NxcHmBbwfq4vXr4PKYf8fhvh++eLG7P9zF
J0MfOXsk4cnKKX4vyBPUMd1Av35zpLZex9M456Zg9IL9cx3mUxQJR8Zg2AZp
9vpMbRnpBd5TUYRzaLNNc5LU23of52UFIxzGeQRaA/UHQXCFGuQ9KYtIdLmP
gv06Ch6y9FyXsBlXWllfEMgcnJyw5PcbFnvvOgEXb45wsa11wtpfn8liH7pM
wAjgZRulYo2NxATezA5JbIx7tN1BX8WomMkpqbkjl9dZ8BOYNAc4O4hbJ5Ks
tFNbJOgACHAm0TIEMArLx6x80eopNZifOThpMcoRhEKjGpCJpvFsBooRxiUh
Igo/lw1xlobSiZhkZTYN102XkTyAQi2ya9wk6MvmvnNeg2u09vFFFJI+fmPU
k9go4FJU7Mtd1Q0WYybpKa+0hVh4jRodLSRUkHX5cY2uCvITEJMxFUwc0ZPg
GGksSpT0BxhWQqJBX2Pr/OzoYNvs8f5TdCPAKf1KXeocnE+UiayfzjPZwKZn
H4KOWhpDCicHlwLtFFSZIM2TOMwBRlL3mpidcAybw3O+ePVsx5Pe+0+f1f56
Xpfl0JoAfONUP8BZuP2cie4F/4mRatUIY80idYhWIm6heP6KQ2AHQLbsdjnS
opVZAY2hPV8tIc4nmnTWB9hBdYAmq/PCgMlABSbV1Dhf2B37DawQZBDdhAMx
qjH8IntfWHBLP1LpwdtcikfoeQUCCENDCq0X06GMl7QfSJJo4w4UB2nxHWBP
l7FEIbIctnPgeaVkF1blqiKwLtGZROUO4BeWqeo0ypYaO35CR5aPobHd7R1D
fe+Ym5kfT8G0qICOmTnAc1cYzC1U/+zH8SVGm/Ffdf6Wfn93/J8/nrw7PsLf
xz8cnJ7aX0yL8Q9vfzw9cr+5nodvz86Oz4+4MzxVjUdnBz/3GRH9txeXJ2/P
D0777cUiyg1NwHYCHaJkD1FyFVEeT3jNsui93d1XHsHvvngKBH+90BLtAQW4
lj8BeWu0cTXwU0xWKAiaFWx4ggQDmgJEU6rQB2AUXuSA4I/YlA4ZzoHo1TlQ
WIFxx5MG0LD5+MqGeNKMFBpCgNa3L4yyyd9BdhQsdyYkvGAeWBQfVZCnUkJP
0E/yDkVEFsWk4DxJkANpr7KUtBhJPNAUQF16aiJs3rIkauBZ/Oisw0JvzDpv
1M9AJniWAl39MOYNEBMpgIge30CXgH6U+aX503hBXbJwWZU4GAe0GxHDAmd5
c/hf8COTchd44XepRRO7uqARrWwX/CtAeVG4tTCdPH/1Ci3Tm96nkfoKUBHI
JhQcNP5z/8L8jVt42EY1o6no3/Z63yIY6nhKhhdIefCfv1UXCehjkqIJOk8E
pd06bC+yAnY2nqdsuDTMWtG+5m8bfcPuQzfBEvQqdwXJoHmjyWgqiI6NKmPt
ikLuR+h2iBqW1RQ4bxi2WWQZyqVe72AGPMdTW8uInC+wqaDhsu3KlE7TAU7r
8amB8z5YU7MXxQsG+cVmSA6TA8So+43+4cnRkedph+qH7BqsPhSkrZfGRKQh
yBMKKdSjwSgD2GchniwAOxhjMMTQZE17DNQC+O2agsAcRCH3EIR9Nivp8aSa
D73F4IwLnaw2rWPCWgQJxkY9YQOBiIz69mPKEmKjsy7EADjtyzBBKzHLrRN7
kBTZQJQzWAUTMA1Kti30DIYHuzFam4EZSD5SRK1Fk4VksXgtQLkWOpmx1SSx
jxrm3Hp9S1x/1FElMjl0fr0ZmPVuAe4wDJQ1gqpC1rQmNHE8wz0ERbUG2ttD
uSzLGzjsObxPkDyEb0irgn5GnwjjVEZ+lpVFMsVKruLQC8TYqAYhPkSKx0Fg
7FawhiEDYolQDzWNXXJOC10HLsqqVWJkNcl/clEZ48BK6RpIJikp4oc4wOgC
iYkJRSjXZPLyqQIZvgYt4DYkUyIJWqrRFnUziKwPCcuTFhqCtjKhYceIpD6i
kunJBmCW4FBcY88aOsMrPEwVehOkmoOFLSRQIrUEzHL0H7xACXoex3wOQoEq
Io+6wOGDHQy6wtQT39tg4iVbienXMLvhfoJdqDbSOUVpMOqKtqA9LUJsYVwi
2kDC0IfsM1wx0GsOVtYUFSYhljjZUJHMzsFLoC7ifhd7hYGnMZ4IelKADYnX
4DMu1CFAyN6h2GESzAjVhN5H7r3FCYc2rkASTPlgBw3SJHEb7BnZdOwCdEtR
vBWGuTWeJKQYZ4YVUtzKaiDhUUPMspkcabkTnCkGFzMcq5PyfJlm3UHohpIv
0bRncmy1ZssaXJ01STwDQq/HxNoBRkzePEIyqxJyDORYyDhOjeUoL+hIO8Qk
D1jZoi6xOzKa+n2WYQkOnjCX/rhiVSMNOAyw1LosRBR7hrYxyVH4e2zFeDVY
lB4FShyCK/RdED6M3GLuJ3bdJhrA0MLaLdUDV/iNRiosvOIJ+yOziAIrpopE
eAP5lPfRILNhYZVIA8eCSRodvbdOae9BG9oQykUeX+FExtfeen9xvj38nLgG
yPH5ojTndPvPXqDpL1Y1GgIUKAVjtgMKEPTB6cn58YATCEwc2Er/wzcGYc2Q
sJnASBBE9HpljjAta2xG6CLEExKdOqawR7lumxYhrJ1amXkGTmuLSysnrRT8
9TbTtxrFM5aZnfHVItAzVEr2BJGJsAw/aFFMIEpZVusA6CHJ1rQfqwUFasRb
ykLesXG1QkQXdBpPhw4NmrEsQLZTlcwQo+BFx1Fpj75PwdRL1MEcfGNmra3x
6UEB5KEOUgW/1s5j/dB8M+zgb/yyAuSZCX3Bj+zc5mbBZQS9YBU5ahK0poCy
csOgJxf1CCCd2Bcib+CPGZLf1uHFxbbND3j1QiIyhu7HCcJmFs7NXj17uo9p
BGCOu401y5AV2CQADCDlfLzNUI3FbN8b7g/3OVKEgz7dpdyEgVrZvbryI5aY
LYcnZLjvZFDBwEg24D6TD4s7wMdjmie2kUlf6ahw+nfAGD0W6UpDpBb+aYxE
a6bMJhTnnA49EiocCbXFJTMIZZ7AdgRlFsA/A7DPS85MyNxMnsHtHxfpMAcl
UKyXK9jYQgIzBZ7gmyPoiZ5hpI/0FKwSwNpICuQn0NkvkCzmTYAVFafxMv6V
BYF0F2IyvYDj4jKeyxk8b5dYQBojkRGbxOh9SBqJG8ee7JqjIV4Ct32SVknC
qsL1SR3r2aCWM9jQNKbHJqeg13NbYZyYJYlaNNDQAsAu7lipywZGcxrPtLMp
i0YVotyaVwlFX4A/waop2jaetfaRx2vc6NJdGoeGXmaQAOJZf4hTI22MUDSq
vSZLKVOiIgcprMCX90xTpF8bdREKQBWN212x2E/1HKzZ0MjyEOWW2P+ho5qw
zcuWd7dFjDpRxtlo6gK9l3dZxd45/XUIZF2JbD82VtbWxeEx2Ao2kEuHRNhO
e2xCvlDjNF6Ew/NnGBlWOEo9GnyZh+hequN0DhKXnZaty+Nte3JuxE62Kpns
O9I+BoBosDvIZJwjSZl0LCDRnCMYLmmJJCwaMnjoxqhx/qlzEMJknuWAYs69
ACqLKkqUkdPxeiCCjUyXRLKkl7BaJ2BKWaj2FuqdMQF1HdfOnGxYmoJ7JrZA
mTNLPKOKwL6cwBqv4ynSgedESTCYN9WPIQ/V67WNA5JnaKcbWICRw8zWshYH
vINBRaum6AGRWRwRswmlDVCd84pQsoNPUKXk//vTiyh0XDd0p7vxLxXlfmEc
mo/EcTR/tXy2zok2HNAg5eEdVbvgNq/E7SCFqiiPOzHs6SVi+6nazeMTd6CG
6SZ8Lj1qRfMJoFb4X5oz61FsTLrgTGxAtwbiIC70hh0gBbn5pMOFLrqPPKw9
xg6CO1h3pEWRB0Q2cARGmKeq34qd9nlaUqMFx2RcJ6IHFOXspbZPObrTR32h
epIWJg/Pjmt8b7LoE1DoyH9JF3h9d5TEzg61RhFosNOCidFB7fCwInaOFSyu
j2jomxwI7+y4IhIlLLkzTBxvqI7xV4t8IUAaPzehbRyBtwb3iiS3MAfHfdwm
M3S2LUtLYGUbGYmylW6lKYDCB4siowCmNuDUCAv9AiThUmMYn/jZTDlSfdal
QTYL8Nypz4coOWamEfh9kBxoESEs9hhADju16lOwVtLHoTOfD/B78J5cOFeX
8Mo2lJyUYXt2MaViZ4DDawxUVMbEEEqhuDHsc2EbycmZ8c38NbSGzVHJl3F7
TNcJDI3EmQ0iqPs+AQYcDewDz8JO5Jiqb4OENrrT3A1KlRFS5lFKUOkwFB7h
LzB9iYfIq8gEVbskBcA26vX+AT89+av7/KOn1OMgyK9Vi7k5p7z75Z/UX5Ha
/2bzzrkZcUDnDzpZeF+j3lwHHMfB4XQQT914N16beIpP8pIPVEaU85XD03bj
LcYXNNtuTCVkxOd4K9yr7+6CTJrDRoHRVPtBwhxhTCwI0bYBemp0xUfBrxnB
LTSV81zFuhjhW3qJqGr03JJZCf7vGqsbbYFZAv5aXG77b24aEIOlZRZ2J6xm
0KmE0GqDWojMWzekss8awDu+aCK5E8GznBXhWjV/GGvlGuRjo48x3r9r9ang
1f5eo3kHJ0pPw464CuIQPIvrYjlzJkcH5eMmy/kqG8RizqddYRLP0z/3MSVP
53hKt0Unc4qeS9oHiMv7hZ9ND8FsWC+CCrIJjPxCogSo9UXQg7WK+uFRx8If
icxZhhhf5ICmOZ399AmadfRB8XtppZXt6WdEuENdalRQ/m5/lYQpqMz+iLqD
tQb+SSLDXJPudqdAhZLWQ+xpc8tM502dJlrMV2lOvSmke09HDvuyEeTiaNA5
S4N5BoPe05+JHCO5EhSgzuBlre7pCL4IeWwYNlutZFKd51ne0RGzUPCVyiKY
sDBBMDMe9Z3h/ZKFxRT8eQeSbcBvKDqhx2wiP48t32x88rj3OPj2xuyWuqGH
3964LTBPlOCYTsU/d46bFmvXpJL/4DPavq+3fezNf9N+7APCz25kN26+gVeu
1Y0yROOguWnN0DGxP8PGVXQs9f0D225G+uN628e4CENIuDpaFZGoUvK3BVh9
xsDyy8FDADa/fEbbx8G9P497TrR3yzcj3JuiHAQ9MtEZC7w7BLt4btxH/Drn
unW4e+Tw0j0FOvmIQHq6NIc7ssDskaFNBTOu57QjF6ydAUanut1JYBK3svdn
7d2n0JmYU5efj0mwEgy1NxXc0QEZyFGWYXorRaSWKCxyPIqtuUEWK74PlLbN
2Ac4RBsG/sOjaQz7L3Zo2Pl9gzoJg5T9WvqUHcV3ZzoGsNtpXaL6MA/yi1ps
6DlGbc+oNkHNNWq+Udbe91/8c/wiGhJ4ozXazcYBG+Pc6RG5UWATSbSgrEDb
uNOO/sN1+te5TrM4J5e8sVFVGTFCCZLvHgJfJwid+7vlzT/JqnTagcAKdiPp
xh7CRq+9lT4AexQF7kYdvWo4eZ2Q//v5nF1yjrv6Pmfd6ewUar5xUhNhd9gj
7P11gXCv+9fV6Q//73f3/ySpqNmVU8TrxuA1DuiSkNgF5HzRdndKlcpB2+Xa
mWacjyCKcJ6V1sv8ba6o8yc/19lTn+9Rqs93KVm0HKgub6Thc9xI45v2q/aT
963GD/ErXZ9AvK37XUvXR7XmUffOc+9Pe4L7Gj/QDeTGNyatWd3rYH7myA/9
6YZ5c+PHAKJwWgPG5k/TKa77nF1CdaNcr4vZu6T8V836U3yS1qgeJSeWX31l
bw3INb9Gu/q54z/sT++bw7dHx+r18fcn5+NvFaUTdR4g/GVvZ+9psLsb7Lwc
ot4Xo7q7sfrUY+sgwCt56PnuDne/hmd0h2WFCV/9Kk9H2HlEPlsx+rhMRmkx
Ipuic9A+DiD3Vfp02wOewKMnT9QJuW+0UHNvGP00uo0o14QH8sseuYFyN1S6
W/9UbXTpoCH7iKrmF9JCLVTm6df00I4qxkMfb2XgPQ28E3bIacRdJcbcztGK
b3uNueVUX+6d1AAwhyd3APBy79XTUXv6SxrM3I2QbBAqneWA8Osr0ZB9KjH2
9mJ88NP3autzKnBt89aRexqxJdyHMX7SkxH8+o0paIR5D5hG/0HnrsbW9dyU
1vqWFwYdT2O8Gqi+wUpPZTZqVO+SdgdcwUoKVlHZKVe0Sp1x3SmvxNI3Dy9P
1ZihVZpKBuyuQPUtodgzbRkflIUgXOYnIz7q5I5H/uk+7CNPaw7mOfZ0T9Ej
7HCYrdY5ZWJtRdtYeeop15G7zKvCVQSCnS5wn63/hgfn1J/Lj7jURgAHUyox
pRxHRctMsvF4vncak/XyeFLZ0jGYEg92TJFVudyfmMQpyi5MZcDaBHTpgReI
v+PJOCzbBjMGkrO8jEu6wQPmTMU3Djg6VlR0P476y21cTJBMKcEMr6qaHATM
JOGkmHf6KsaQ3OvxEZAataXumPwMUHEu0NhW/YnM8h3qHhXqVM8pKVkSOAtZ
v2T3AyTU+khOeeRcVm0ZXihxGO3VmhOgA0zh2RZ08pVoI3RNioBXFItwIyli
Rh716hNhFbF8FgWaLpzRVDjFE3iGrbe/VljjiNACA/AFHx6CU9xgrxNaapqV
mBE4tGKar7ENR6paTU0dKfplojHpxx59TSVKBO2546qaJCaJlAOc9Utpw8b4
7VtxwAiYEu5fjLPjcGdvsB7KTskO7Tu91xdh2+RUFITi/Qjm+5sFsFEADysu
OVnXyiDyz4YKk1+b97CYHxnB9bucUemvnx0QuR1oRDxVU6TAcZdG71o6rGrs
VRywA5jCHbVIr5cKZLt3CiMmGQWEFM44CvZJOlCwmP1+s+BOoI48iUkDeLfS
hoKrW5kE83RskoKdCTODKEbVMY/qn0qSEd6Aql9T8SodAFNz0Sqc2sJWT0Uy
SzWLpUSIT7YxrbedFPG1w1/H6hWWL93fCyZxabZbPMNphkIx+KUKKfdySQns
fMGiapYmxCoKlPJUKxjGK0bKiuk+G1aFS7NlBkZvsQYJtayPQQmSALBUa3AR
PzMlEQUlW59cXD0ltoRfng8tPd/Kv9Eio/sgJtLpIQnLEGKq7pqqld6Lm8NF
hnV8iBwkcY4j2ReSK4wJjNOpJFst9DIMlpTNWGQJ6SnHa+q32Z/+Cm8NE7rc
uvYt5o0S6LCWkNc+ZfIsgTYX3s2DROnd8kC4BPjrTmY0zPJQsBxAdowOwJTi
QkYN0OpvjU0+qp/HbGjkQo11ruw6V2zwqBf5815xRNAFy2qvNhEo4eyyI3hW
o7vb1iQ2pvKF03iBtntm4hjcF8wiuDMhuvvmyVKO1n3ZeqT3fZNQWO/LZjBR
vntm4LP3L5zDHNzfNwmH9r5gDjxFtUHCDZO43zbI1HHtRrSvZevy7VYiDsfn
R+Nv/UBERwyj49j9gZGLWkymFbpoxS7qZR/+WcGL2qjN6AUZbA3PfoOQbcY8
8Jmz8fhWmQlg3GXxYXQXk6rNAF6vhi3YeG3sVhcK+I1BE7ske77+9R8hhn+n
EMODogv1Wr5/BBf+CC78EVz4ZwYX7g0r1AXzb3L8oeuRqyBFsiDmQ+ymP9LW
lQ/wRyT/RGoRSF+sPdpZq0nGOKdMkYYj0jU9eyF8b+dOZ712FNN2vf04Q2ek
oTHsj40LQfYg2GY0eSaQmckuArbRm629gsZk71wSnQiWbuR5qxLvhg2HUcd5
im3H6/fzhGp2JKGCMyF88xDIhEp/79Yfdluc/XNbvI62tY0tTFaoEpDIutbR
nt97mLltovU3+XpBVUZ1Uug80/tXOXwWH1/g+f3mCf8VPqA33e/tBdbOXdnx
/J29QjPjw71Dkx7y8MnQ5OlO+Gjmj9znmEpqycOnfvt5OSe/l8/a3NeH+bCf
78S6iaxo3OTXbnZs1Y8FFwKmG/no36qfOH6KHq53Us/n/HIB2XxFAmzYqKJ7
wCT0uX6EV9Us13yfWyqym49kJJxN4xXxJBNQArfmrq3+yFdl69kC7pKs3Imn
m8+USCwp4qyFJLiNXbwR5Io0oOVPEhm1VQ3N5WPRYJ0dJVJsk9HlftSKK074
q6wP1HGJuhZ/bxSTIm/A+yyKKWyjCwrdu/TmOjTuMj9iPgIkU82261bVcrqD
iy9cjjs8dd+HsPN5uzYknI39kLPUsqc/2H7yKn3ShxHcJYHEq8kuVfnVFhjk
eGlMAtlerXNT58BEDWK7VaV3V5w+pBO7WjdrrM/xqOT6QXLLHCzi0BR2NoB+
TVXo6HsNsrU0kiliwOn15XW4BCErl/epq1S1QL8LB/B9r4Kr1VDt3mVI5Z+u
NZMHunV+FWxze/vuyvBSpR8rt5jKz5rqR9dZKRKrhI4rhpSaY7/YcZjR3fXc
VV6uoU7qoHVV3HWg8c7wZyMQQHMgY0sQMpr5cx5STqXjcz3tkuTnx5eHb8/f
mJKke0/lswrvjsf+i5c7VNZX8aX47Brp1XRNqDJgLFn3uGossBemBYV16K2t
uOaOYbAYiKvd0+oGw4352XihYfe2xuMfth2UeyYlVWCx4Fpgfri8vBh/0byX
p2NTzmsPS1dLFTOzXPlkiql4z6QigD3bf+7XkqeJzVeDQCBweSkZgD6H4kpk
mOF93GMNkoJrP+J1D2t2YQhBiqpheqhU9Uh05yBmz/2vKCFWpIp3o+6mKx/t
lRD2FETLn7dXk66B2BGIJyTw6DfAjKbfzOd05PgUT+AM+wndiJ+wzSRWaH96
qUkUCR9RHTz4lUoDobysEvAhaRoK23jFvnR6FedZKmVE1E8AovbxIEVjMNIg
R7vb4jnVITDihu/OmE/soBilEqwo55Df5lIWHoQmVzyq1wkS+XSSytLJSbeu
WlErNWKMCywYawRJVBMkUnP7vqvDtK1YkgrUE8YwEE2mvrQ6OTg/aMun14f0
rlbyX7Hd07A7/EJ35sswXdVPN3w+gGu4qxNiuzDGyiJhKRndHBqZbixBjAWI
+SNsWCAVAbYfofr0lSnMf9uA1ytpkmZpoD8uQpDpuGemIIgt6V+X+AiCV4dT
pH6TL2ydDTqpOGTFH7IOcVeQELyArQLQbit0z2/tR1H4Aw0NndRQR8bqiv0i
9Y3XXkK+aSAxGrERvRpCJi4xy6q8maewdchyLjikb0IMqEYcCvSxpu+IBmP+
oBFKFPPonZ7hbcYsp9pxDkK66kg3L9D6og9baDXJOAs/2oCt+gWFBtpACTwE
DqlJCe/EAql9xaH28SWZno6UDCu5Da6bh1R3Bq8hLRBx3Z+2EtMOhWRepVim
KeY6ZK8UptxeHorxKI4EAV73sakEG12hwk8nwnJQPu++GNA3Hwc41M6r0c4O
jiUxRRAXylQdxLgTXQzFstVgmPE3MbS9EUQ0b4rUUME0cn/Rxqlyrt1ubUcp
2HgyfqtePt/ZNckh/YvL3R/6A6+wq3eKuwzzD1Izx6Kz71WvsboSCJPC/mSv
d32zbbKuoZVsjUQqcPtfXTBkXy/ibU3etVplqPcwZup93Y3EqSmI9ksVcplh
/PQJYk/uNqi/F+AMoifa7wysteJneJ+DHdd2SaKR+qv4iM615ejeCJxYpMLg
kkJMBm0B0U5/4FrbPBfsQoYyD+01aV/Zs8MzkV9Qg44uRHPYmL4tursT7L64
JEqD//13DYqOu3rYDwiyY1gB13fn+4YYG8/rb5jMur12b5rum2DY/6jJej50
9kYYtqQYNiVTtVBuboFBs13vcdfV2JFP8l5bm0bmkUCdDEyzeMr43x/uDHd3
94f73jCMenKOmliDFyJJAv7cXEcLaBPih0kJWNwQssnajSTKSaM14O2G28Fv
SBlG2O23h6ZGUZkngfeJK9PpHSWxHWzqhqVHA9SK2PZXnWebGrI5i1Fe/hYf
7sqrnZ0NrU2tyKB7l2ttsZaYN+jehmZ5dPWAVklIWE4poHzHpNQOh5RmHa1u
u7o+YIv2fs8tAvdqmi3/OZuUhMvJNLwDScvwo7+Bm3De3MBNwzV28M6t8bZw
bzP8tT3c2+naxNazv/XuauH/VSOA+2XK08+WKbkxq/5XxEpBC9jd279jX6eY
/7q6W3Y221fTVYARAOj17OnORuqzi29N0ERkRxd/jmeb5+BwnM9z/EG21pQb
xerGEcrIQrD7fP/pJmJu9+fvwLUg2Cg1No7gQfDy+aY9JPJgpgumRYST3rXf
/+cFsRD1i5evnu5/HllvJIFust4o5BpkvftqDybY27y/G4n64ST1B1E/nKj/
3ygn+7vpw0/+Zg7I7K3ZuqdvLsse+6GEMwkhvJYQwoaACxVoUgfRhzS7BlN8
ztlNn0Zsdujpn/uzMCk0Nrt8e/RWhbYl+H3/A7fYrdzvhQAA

-->

</rfc>
