<?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.1 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ogondio-opsawg-ospf-topology-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.2 -->
  <front>
    <title abbrev="OSPF Topology YANG">A YANG Data Model for Open Shortest Path First (OSPF) Topology</title>
    <seriesInfo name="Internet-Draft" value="draft-ogondio-opsawg-ospf-topology-01"/>
    <author fullname="Oscar González de Dios">
      <organization>Telefonica</organization>
      <address>
        <email>oscar.gonzalezdedios@telefonica.com</email>
      </address>
    </author>
    <author fullname="Samier Barguil Giraldo">
      <organization>Nokia</organization>
      <address>
        <email>samier.barguil_giraldo@nokia.com</email>
      </address>
    </author>
    <author fullname="Victor Lopez">
      <organization>Nokia</organization>
      <address>
        <email>victor.lopez@nokia.com</email>
      </address>
    </author>
    <date year="2023" month="October" day="23"/>
    <area>Operations and Management</area>
    <workgroup>opsawg</workgroup>
    <abstract>
      <?line 34?>

<t>This document defines a YANG data model for representing an abstracted view of a network topology that contains Open Shortest Path First (OSPF) information. This document augments the 'ietf-network' data model by adding OSPF concepts and explains how the data model can be used to represent the OSPF topology.</t>
      <t>The YANG data model defined in this document conforms to the Network Management Datastore Architecture (NMDA).</t>
    </abstract>
  </front>
  <middle>
    <?line 41?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Topology collection is a critical use case for network operators because the network topology is an abstract representation of the physical nodes, links, and network interconnections. Network planning processes require that network resources are placed to meet traffic demand requirements not just in terms of bandwidth or delay, but also for failure scenarios. Network operators perform the network planning process as an offline process, which obtains information not directly from the network, but from inventory or template information. The main reason for this process was the lack of dynamic and programmatic interfaces that can allow planning tools to obtain such information.</t>
      <t>Thanks to the definition of the ietf-network model in <xref target="RFC8345"/> this situation has changed, because network operators can use an API with dynamic topological information. On top of the work in <xref target="RFC8345"/>, <xref target="RFC8346"/> and <xref target="RFC8944"/> extends the generic network and network topology data models with topology attributes that are specific to Layer 3 and Layer 2. However, there is not any model that exposes Open Shortest Path First (OSPF) information. This information is required in the IP/MPLS planning process to properly assess the required network resources to meet the traffic demands in normal and failure scenarios.</t>
      <t>The main objective of this model is to represent most relevant OSPF topology attributes.</t>
      <t>This document defines a YANG data model for representing, managing, and controlling the OSPF topology. The data model augments ietf-network module <xref target="RFC8345"/> by adding the OSPF information.</t>
      <t>This document explains the scope and purpose of the OSPF topology model and how the topology and service models fit together.</t>
      <t>The YANG data model defined in this document conforms to the Network Management Datastore Architecture <xref target="RFC8342"/>.</t>
      <section anchor="terminology-and-notations">
        <name>Terminology and Notations</name>
        <t>This document assumes that the reader is familiar with OSPF and the contents of <xref target="RFC8345"/>. The document uses terms from those documents.</t>
        <t>The terminology for describing YANG data models is found in <xref target="RFC7950"/>, <xref target="RFC8795"/> and <xref target="RFC8346"/>.</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="tree-diagram">
        <name>Tree Diagram</name>
        <t>Authors include a simplified graphical representation of the data model is used in <xref target="ietf-l3-ospf-topology-tree"/> of this document.
The meaning of the symbols in these diagrams is defined in <xref target="RFC8340"/>.</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 are 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">ospfnt</td>
              <td align="left">ietf-l3-ospf-topology</td>
              <td align="left">RFCXXX</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>
        <t>RFC Editor Note:
Please replace XXXX with the RFC number assigned to this document.
Please remove this note.</t>
      </section>
    </section>
    <section anchor="yang-data-model-for-ospf-topology">
      <name>YANG Data Model for OSPF Topology</name>
      <t>The abstract (base) network data model is defined in the "ietf-network" module of <xref target="RFC8345"/>. The OSPF-topology builds on the network data model defined in the "ietf-network" module <xref target="RFC8345"/>, augmenting the nodes with OSPF information, which anchor the links and are contained in nodes.</t>
      <t>There is a set of parameters and augmentations that are included at the node level. Each parameter and description are detailed following:</t>
      <ul spacing="normal">
        <li>
          <t>Network-types: Its presence identifies the OSPF topology type. Thus, the network type MUST be ospf-topology.</t>
        </li>
        <li>
          <t>OSPF timer attributes: Identifies the node timer attributes configured in the network element. They are wait timer, rapid delay, slow delay, and the timer type (linear or exponential back-off).</t>
        </li>
        <li>
          <t>OSPF status: contains the neighbours' information.</t>
        </li>
      </ul>
      <t>A second set of parameters, along with augmentations, is included at the link and termination point level. Each parameter is listed as follows:</t>
      <ul spacing="normal">
        <li>
          <t>Interface-type</t>
        </li>
        <li>
          <t>Area ID</t>
        </li>
        <li>
          <t>Metric</t>
        </li>
        <li>
          <t>Passive mode</t>
        </li>
      </ul>
    </section>
    <section anchor="ietf-l3-ospf-topology-tree">
      <name>OSPF Topology Tree Diagram</name>
      <t><xref target="fig-ietf-l3-ospf-topology-tree"/> below shows the tree diagram of the YANG data model defined in module ietf-l3-ospf-topology.yang (<xref target="ietf-l3-ospf-topology-yang"/>).</t>
      <figure anchor="fig-ietf-l3-ospf-topology-tree">
        <name>OSPF Topology tree diagram</name>
        <artwork><![CDATA[
module: ietf-l3-ospf-topology
  augment /nw:networks/nw:network/nw:network-types:
    +--rw ospfv2-topology!
  augment /nw:networks/nw:network/nw:node/
    l3t:l3-node-attributes:
    +--rw ospf-timer-attributes
       +--rw wait-timer?    uint32
       +--rw rapid-delay?   uint32
       +--rw slow-delay?    uint32
       +--rw timer-type?    enumeration
  augment /nw:networks/nw:network/nt:link/
    l3t:l3-link-attributes:
    +--rw ospfv2-termination-point-attributes
       +--rw interface-type?   identityref
       +--rw area-id?          area-id-type
       +--rw metric?           uint64
       +--rw is-passive?       boolean
  augment /nw:networks/nw:network/nw:node/nt:termination-point/
    l3t:l3-termination-point-attributes:
    +--rw ospfv2-termination-point-attributes
       +--rw interface-type?   identityref
       +--rw area-id?          area-id-type
       +--rw metric?           uint64
       +--rw is-passive?       boolean
]]></artwork>
      </figure>
    </section>
    <section anchor="ietf-l3-ospf-topology-yang">
      <name>YANG Model for OSPF topology</name>
      <t>Following the YANG model is presented.</t>
      <figure anchor="fig-ietf-ospf-topolopy-yang">
        <name>OSPF Topology YANG module</name>
        <sourcecode markers="true" name="ietf-l3-ospf-topology@2023-10-23.yang"><![CDATA[

module ietf-l3-ospf-topology {
  yang-version 1.1;
  namespace
    "urn:ietf:params:xml:ns:yang:ietf-l3-ospf-topology";
  prefix "ospfnt";
  import ietf-yang-types {
          prefix "yang";
      }
  import ietf-network {
    prefix "nw";
  }
  import ietf-network-topology {
    prefix "nt";
  }
  import ietf-l3-unicast-topology {
    prefix "l3t";
  }

  organization
    "IETF OPSA (Operations and Management Area) Working Group";
  contact
    "WG Web:  <https://datatracker.ietf.org/wg/opsawg/>
    WG List:  <mailto:opsawg@ietf.org>

    Editor:   Oscar Gonzalez de Dios
              <mailto:oscar.gonzalezdedios@telefonica.com>
    Editor:   Samier Barguil
              <mailto:samier.barguilgiraldo.ext@telefonica.com>
    Editor:   Victor Lopez
              <mailto:victor.lopez@nokia.com>";
  description
    "This module defines a model for Layer 3 OSPF
     topologies.

     Copyright (c) 2022 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.";

  revision 2022-03-07 {
    description
      "Initial version";
    reference
      "RFC XXXX: A YANG Data Model for Open Shortest Path First
       (OSPF) Topology"; }

  typedef area-id-type {
    type yang:dotted-quad;
    description
      "An identifier for the OSPFv2 area.";
    reference
         "RFC 2328: OSPF Version 2";
  }

  identity inf-type {
    description
      "Identity for the OSPF interface type.";
    reference
         "RFC 2328: OSPF Version 2";
  }

  identity nbma {
    base inf-type;
    description
      "Identity for the NBMA interface.";
    reference
         "RFC 2328: OSPF Version 2";
  }

  identity p2mp {
    base inf-type;
    description
      "Identity for the p2mp interface.";
    reference
         "RFC 2328: OSPF Version 2";
  }
  identity p2mp-over-lan {
    base inf-type;
    description
      "Identity for the p2mp-over-lan interface.";
    reference
         "RFC 2328: OSPF Version 2";
  }

  identity p2p {
    base inf-type;
    description
      "Identity for the p2p interface.";
    reference
         "RFC 2328: OSPF Version 2";
  }

  grouping ospfv2-topology-type {
    description "Identifies the topology type to be OSPF v2.";
    container ospfv2-topology {
      presence "indicates OSPF v2 topology";
      description
        "The presence of the container node indicates OSPF v2
        topology";
    }
  }

  grouping ospfv2-node-attributes {
    description "OSPF v2 node scope attributes";
    container ospf-timer-attributes {
      description
        "Contains OSPFv2 node timer attributes";
      leaf wait-timer {
        type uint32;
        units msec;
        description
          "The amount of time to wait without detecting SPF
          trigger events before going back to the rapid delay.";
        reference
         "RFC 8541: SPF Impact on IGP Micro-loops";
      }
      leaf rapid-delay {
        type uint32;
        units msec;
        description
          "The amount of time to wait before running SPF after
          the initial SPF trigger event.";
        reference
         "RFC 8541: SPF Impact on IGP Micro-loops";
      }
      leaf slow-delay {
        type uint32;
        units msec;
        description
          "The amount of time to wait before running an SPF.";
        reference
         "RFC 8541: SPF Impact on IGP Micro-loops";
      }
      leaf timer-type {
        type enumeration {
          enum LINEAR_BACKOFF {
            description
              "The link state routing protocol uses linear
               back-off.";
          }
          enum EXPONENTIAL_BACKOFF {
            description
              "The link state routing protocol uses exponential
               back-off.";
          }
        }
        description
          "The timer mode that is utilised by the SPF algorithm.";
        reference
         "RFC 8541: SPF Impact on IGP Micro-loops";
      }
    }
  }

  grouping ospfv2-termination-point-attributes {
    description "OSPF termination point scope attributes";
    container ospfv2-termination-point-attributes {
      description
        "Indicates the termination point from the
              which the OSPF is configured. A termination
              point can be a physical port, an interface, etc.";
      leaf interface-type {
        type identityref {
          base inf-type ;
        }
        description
          "OSPF interface type.";
        reference
          "RFC 2328: OSPF Version 2";
      }
      leaf area-id {
        type area-id-type;
        description
          "An identifier for the OSPFv2 area.";
        reference
          "RFC 2328: OSPF Version 2";
      }
      leaf metric {
        type uint64;
        description
          "OSFP Protocol metric";
        reference
          "RFC 2328: OSPF Version 2";
      }
      leaf is-passive{
        type boolean;
        description
          "Interface passive mode";
        reference
          "RFC 2328: OSPF Version 2";
      }
    }
  }

  augment "/nw:networks/nw:network/nw:network-types" {
    description
      "Introduces new network type for L3 Unicast topology";
    uses ospfv2-topology-type;
  }

  augment "/nw:networks/nw:network/nw:node/"
    +"l3t:l3-node-attributes" {
    when
    "/nw:networks/nw:network/nw:network-types/"
      +"ospfnt:ospfv2-topology" {
      description
        "Augmentation parameters apply only for networks with
        OSPF topology";
    }
    description
        "OSPF node-level attributes ";
    uses ospfv2-node-attributes;
  }

  augment "/nw:networks/nw:network/"
      + "nt:link/l3t:l3-link-attributes" {
    when "/nw:networks/nw:network/nw:network-types/"
      +"ospfnt:ospfv2-topology" {
      description
        "Augmentation parameters apply only for networks with
        OSFP topology";
    }
    description "Augments topology link configuration";
    uses ospfv2-termination-point-attributes;
  }

  augment "/nw:networks/nw:network/nw:node/"
      +"nt:termination-point/l3t:l3-termination-point-attributes" {
    when "/nw:networks/nw:network/nw:network-types/"
      +"ospfnt:ospfv2-topology" {
      description
        "Augmentation parameters apply only for networks with
        OSFP topology";
    }
    description "Augments topology termination point configuration";
    uses ospfv2-termination-point-attributes;
  }
}

]]></sourcecode>
      </figure>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The YANG module specified in this document defines a schema for data that is designed to be accessed via network management protocols such as NETCONF {!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="RFC8446"/>.</t>
      <t>The Network Configuration Access Control Model (NACM) <xref target="RFC8341"/> 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>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document registers the following namespace URIs in the IETF XML registry <xref target="RFC3688"/>:</t>
      <artwork><![CDATA[
--------------------------------------------------------------------
URI: urn:ietf:params:xml:ns:yang:ietf-l3-ospf-topology
Registrant Contact: The IESG.
XML: N/A, the requested URI is an XML namespace.
--------------------------------------------------------------------
]]></artwork>
      <t>This document registers the following YANG module in the YANG Module Names registry <xref target="RFC6020"/>:</t>
      <artwork><![CDATA[
--------------------------------------------------------------------
name:         ietf-l3-ospf-topology
namespace:    urn:ietf:params:xml:ns:yang:ietf-l3-ospf-topology
maintained by IANA: N
prefix:       ietf-l3-ospf-topology
reference:    RFC XXXX
--------------------------------------------------------------------
]]></artwork>
    </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-normative-references">
      <name>Normative References</name>
      <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="RFC8944">
        <front>
          <title>A YANG Data Model for Layer 2 Network Topologies</title>
          <author fullname="J. Dong" initials="J." surname="Dong"/>
          <author fullname="X. Wei" initials="X." surname="Wei"/>
          <author fullname="Q. Wu" initials="Q." surname="Wu"/>
          <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
          <author fullname="A. Liu" initials="A." surname="Liu"/>
          <date month="November" year="2020"/>
          <abstract>
            <t>This document defines a YANG data model for Layer 2 network topologies. In particular, this data model augments the generic network and network topology data models with topology attributes that are specific to Layer 2.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8944"/>
        <seriesInfo name="DOI" value="10.17487/RFC8944"/>
      </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="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="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="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="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="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="RFC8446">
        <front>
          <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
          <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
          <date month="August" year="2018"/>
          <abstract>
            <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
            <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8446"/>
        <seriesInfo name="DOI" value="10.17487/RFC8446"/>
      </reference>
      <reference anchor="RFC8341">
        <front>
          <title>Network Configuration Access Control Model</title>
          <author fullname="A. Bierman" initials="A." surname="Bierman"/>
          <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
          <date month="March" year="2018"/>
          <abstract>
            <t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol 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 or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. This document defines such an access control model.</t>
            <t>This document obsoletes RFC 6536.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="91"/>
        <seriesInfo name="RFC" value="8341"/>
        <seriesInfo name="DOI" value="10.17487/RFC8341"/>
      </reference>
      <reference anchor="RFC3688">
        <front>
          <title>The IETF XML Registry</title>
          <author fullname="M. Mealling" initials="M." surname="Mealling"/>
          <date month="January" year="2004"/>
          <abstract>
            <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="81"/>
        <seriesInfo name="RFC" value="3688"/>
        <seriesInfo name="DOI" value="10.17487/RFC3688"/>
      </reference>
      <reference anchor="RFC6020">
        <front>
          <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
          <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
          <date month="October" year="2010"/>
          <abstract>
            <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6020"/>
        <seriesInfo name="DOI" value="10.17487/RFC6020"/>
      </reference>
    </references>
    <?line 431?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This work is partially supported by the European Commission under Horizon 2020 Secured autonomic traffic management for a Tera of SDN flows (Teraflow) project (grant agreement number 101015857).</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
2x3vvwHlZBGwFD8AAA==

-->

</rfc>
