<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.17 (Ruby 2.6.10) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-ietf-mpls-static-yang-14" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="MPLS Static LSPs YANG Data Model">A YANG Data Model for MPLS Static LSPs</title>

    <author initials="T." surname="Saad" fullname="Tarek Saad">
      <organization>Cisco Systems Inc</organization>
      <address>
        <email>tsaad.net@gmail.com</email>
      </address>
    </author>
    <author initials="R." surname="Gandhi" fullname="Rakesh Gandhi">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <email>rgandhi@cisco.com</email>
      </address>
    </author>
    <author initials="X." surname="Liu" fullname="Xufeng Liu">
      <organization>Volta Networks</organization>
      <address>
        <email>xufeng.liu.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="V. P." surname="Beeram" fullname="Vishnu Pavan Beeram">
      <organization>Juniper Networks</organization>
      <address>
        <email>vbeeram@juniper.net</email>
      </address>
    </author>
    <author initials="I." surname="Bryskin" fullname="Igor Bryskin">
      <organization>Individual</organization>
      <address>
        <email>i_bryskin@yahoo.com</email>
      </address>
    </author>

    <date year="2024" month="March" day="01"/>

    
    <workgroup>MPLS Working Group</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document contains the specification for the MPLS Static Label Switched
Paths (LSPs) YANG model. The model allows for the provisioning of static LSP(s)
on Label Edge Router(s) LER(s) and Label Switched Router(s) LSR(s) devices
along a LSP path without the dependency on any signaling protocol.  The MPLS
Static LSP model augments the MPLS base YANG model with specific data to
configure and manage MPLS Static LSP(s).</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t>This document describes a YANG <xref target="RFC7950"/> data model for configuring and
managing the Multiprotocol Label Switching (MPLS) <xref target="RFC3031"/> Static LSPs.
The model allows the configuration of LER and LSR devices with the necessary
MPLS cross-connects or bindings to realize an end-to-end LSP service.</t>

<t>A static LSP is established by manually specifying incoming and outgoing MPLS
label(s) and necessary forwarding information on each of the traversed LER and
LSR devices (ingress, transit, or egress nodes) of the forwarding path.</t>

<t>For example, on an ingress LER device, the model is used to associate a
specific Forwarding Equivalence Class (FEC) of packets-- e.g. matching a
specific IP prefix in a Virtual Routing or Forwarding (VRF) instance-- to an
MPLS outgoing label imposition, next-hop(s) and respective outgoing
interface(s) to forward the packet.  On an LSR device, the model is used to
create a binding that swaps the incoming label with an outgoing label and
forwards the packet on one or multiple egress path(s).  On an egress LER, it is
used to create a binding that decapsulates the incoming MPLS label and performs
forwarding based on the inner MPLS label (if present) or IP forwarding in the
packet.</t>

<t>The MPLS Static LSP YANG model is contained in the module "ietf-mpls-static"
and covers the basic
features for the configuration and management of unidirectional MPLS Static LSP(s),</t>

<t>The module "ietf-mpls-static" augments the MPLS Base YANG model defined in
module "ietf-mpls" in <xref target="RFC8960"/>.</t>

<section anchor="terminology"><name>Terminology</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 BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/>
when, and only when, they appear in all capitals, as shown here.</t>

<t>The terminology for describing YANG data models is found in <xref target="RFC7950"/>.</t>

</section>
<section anchor="acronyms-and-abbreviations"><name>Acronyms and Abbreviations</name>

<ul empty="true"><li>
  <t>MPLS: Multiprotocol Label Switching</t>
</li></ul>

<ul empty="true"><li>
  <t>LSP: Label Switched Path</t>
</li></ul>

<ul empty="true"><li>
  <t>LSR: Label Switching Router</t>
</li></ul>

<ul empty="true"><li>
  <t>LER: Label Edge Router</t>
</li></ul>

<ul empty="true"><li>
  <t>FEC: Forwarding Equivalence Class</t>
</li></ul>

<ul empty="true"><li>
  <t>NHLFE: Next Hop Label Forwarding Entry</t>
</li></ul>

<ul empty="true"><li>
  <t>ILM: Incoming Label Map</t>
</li></ul>

</section>
</section>
<section anchor="mpls-static-lsp-model"><name>MPLS Static LSP Model</name>

<section anchor="model-organization"><name>Model Organization</name>

<t>The base MPLS Static LSP model covers the core features with the minimal set of
configuration parameters needed to manage and operate MPLS Static LSPs.</t>

<figure title="Relationship between MPLS modules" anchor="fig-mpls-relation"><artwork><![CDATA[
  Routing module   +---------------+    v: import
                   | ietf-routing  |    o: augment
                   +---------------+
                       o
                       |
                       v
  MPLS base        +-----------+    v: import
  module           | ietf-mpls |    o: augment
                   +-----------+
                      o
                      |
                      v
              +------------------+
  MPLS Static | ietf-mpls-static |
  LSP module  +------------------+

]]></artwork></figure>

</section>
<section anchor="model-tree-diagram"><name>Model Tree Diagram</name>

<t>The MPLS Static tree diagram as per <xref target="RFC8340"/> is shown in
<xref target="fig-mpls-static-tree"/>.</t>

<figure title="MPLS Static LSP tree diagram" anchor="fig-mpls-static-tree"><artwork><![CDATA[
module: ietf-mpls-static

  augment /rt:routing/mpls:mpls:
    +--rw static-lsps
       +--rw static-lsp* [name]
          +--rw name           string
          +--rw operation?     mpls:mpls-operations-type
          +--rw in-segment
          |  +--rw fec
          |     +--rw (type)?
          |     |  +--:(ip-prefix)
          |     |  |  +--rw ip-prefix?        inet:ip-prefix
          |     |  +--:(mpls-label)
          |     |     +--rw incoming-label?   rt-types:mpls-label
          |     +--rw incoming-interface?     if:interface-ref
          +--rw out-segment
             +--rw (out-segment)?
                +--:(nhlfe-single)
                |  +--rw nhlfe-single
                |     +--rw mpls-label-stack
                |     |  +--rw entry* [id]
                |     |     +--rw id               uint8
                |     |     +--rw label?
                |     |     |       rt-types:mpls-label
                |     |     +--rw ttl?             uint8
                |     |     +--rw traffic-class?   uint8
                |     +--rw outgoing-interface?   if:interface-ref
                +--:(nhlfe-multiple)
                   +--rw nhlfe-multiple
                      +--rw nhlfe* [index]
                         +--rw index                 string
                         +--rw backup-index?         string
                         +--rw loadshare?            uint16
                         +--rw role?                 nhlfe-role
                         +--rw mpls-label-stack
                         |  +--rw entry* [id]
                         |     +--rw id               uint8
                         |     +--rw label?
                         |     |       rt-types:mpls-label
                         |     +--rw ttl?             uint8
                         |     +--rw traffic-class?   uint8
                         +--rw outgoing-interface?   if:interface-ref
]]></artwork></figure>

</section>
<section anchor="model-overview"><name>Model Overview</name>

<t>This document describes a YANG data model for the configuration and
management of MPLS Static LSP(s) contained in a the YANG module 'ietf-mpls-static'.</t>

<t>The 'ietf-mpls-static' module contains the following high-level types and groupings:</t>

<t>static-lsp-ref:</t>

<ul empty="true"><li>
  <t>A YANG reference type for a static LSP that can be used by data models to reference
a configured static LSP.</t>
</li></ul>

<t>in-segment:</t>

<ul empty="true"><li>
  <t>A YANG grouping that describes parameters of an incoming class of FEC associated with a specific LSP as described in the MPLS architecture document <xref target="RFC3031"/>.
The model allows the following types of traffic to be mapped onto the static LSP on an ingress LER:</t>
</li></ul>

<figure><artwork><![CDATA[
    o Unlabeled traffic destined to a specific prefix
    o Labeled traffic arriving with a specific label
]]></artwork></figure>

<t>out-segment:</t>

<ul empty="true"><li>
  <t>A YANG grouping that describes parameters for the forwarding path(s) and their associated attributes for an LSP.
The model allows for the following cases:</t>
</li></ul>

<figure><artwork><![CDATA[
    o single forwarding path or NHLFE
    o multiple forwarding path(s) or NHLFE(s), each of which can
      serve a primary, backup or both role(s).
]]></artwork></figure>

</section>
<section anchor="model-yang-modules"><name>Model YANG Module(s)</name>

<t>Configuring LSPs through an LSR/LER involves the following steps:</t>

<t><list style="symbols">
  <t>Enabling MPLS on MPLS capable interfaces.</t>
  <t>Configuring in-segments and out-segments on LER(s) and LSR(s) traversed by the LSP.</t>
  <t>Setting up the cross-connect per LSP to associate segments and/or to
indicate connection origination and termination.</t>
  <t>Optionally specifying label stack actions.</t>
  <t>Optionally specifying segment traffic parameters.</t>
</list></t>

<t>The objects covered by this model are derived from the Incoming Label Map (ILM)
and Next Hop Label Forwarding Entry (NHLFE) as specified in the MPLS
architecture document <xref target="RFC3031"/>.</t>

<t>The ietf-mpls-static module imports the followinig modules:</t>

<t><list style="symbols">
  <t>ietf-inet-types defined in <xref target="RFC6991"/></t>
  <t>ietf-routing defined in <xref target="RFC8349"/></t>
  <t>ietf-routing-types defined in <xref target="RFC8294"/></t>
  <t>ietf-interfaces defined in <xref target="RFC8343"/></t>
  <t>ietf-mpls defined in <xref target="RFC8960"/></t>
</list></t>

<t>The ietf-mpls-static module is shown below:</t>

<figure><artwork><![CDATA[
<CODE BEGINS> file "ietf-mpls-static@2024-03-01.yang"
module ietf-mpls-static {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-mpls-static";
  prefix "mpls-static";

  import ietf-mpls {
    prefix "mpls";
    reference "RFC8960: MPLS Base YANG Data Model";
  }

  import ietf-routing {
    prefix "rt";
    reference "RFC8349: A YANG Data Model for Routing Management";
  }

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

  import ietf-inet-types {
    prefix inet;
    reference "RFC6991: Common YANG Data Types";
  }

  import ietf-interfaces {
    prefix "if";
    reference "RFC7223: A YANG Data Model for Interface Management";
  }

  organization "IETF MPLS Working Group";

  contact
    "WG Web:   <http://tools.ietf.org/wg/mpls/>

     WG List:  <mailto:mpls@ietf.org>

     Editor:   Tarek Saad
               <mailto:tsaad.net@gmail.com>

     Editor:   Rakesh Gandhi
               <mailto:rgandhi@cisco.com>

     Editor:   Xufeng Liu
               <mailto: xufeng.liu.ietf@gmail.com>

     Editor:   Vishnu Pavan Beeram
               <mailto:vbeeram@juniper.net>

     Editor:   Igor Bryskin
               <mailto: Igor.Bryskin@huawei.com>";

  description
     "This YANG module augments the 'ietf-routing' module with basic
      configuration and operational state data for MPLS static
      The model fully conforms to the Network Management Datastore
      Architecture (NMDA).

      Copyright (c) 2018 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 Simplified 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; see
      the RFC itself for full legal notices.";

  // RFC Ed.: replace XXXX with actual RFC number and remove this
  // note.

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

  revision "2024-03-01" {
    description
      "Latest revision of MPLS Static LSP YANG module";
    reference "RFC XXXX: A YANG Data Model for MPLS Static LSPs";
  }

  typedef static-lsp-ref {
    type leafref {
      path "/rt:routing/mpls:mpls/mpls-static:static-lsps/" + 
           "mpls-static:static-lsp/mpls-static:name";
    }
    description
      "This type is used by data models that need to reference
       configured static LSP.";
  }

  grouping in-segment {
    description "In-segment grouping";
    container in-segment {
      description "MPLS incoming segment";
      container fec {
        description "Forwarding Equivalence Class grouping";
        choice type {
          description "FEC type choices";
          case ip-prefix {
            leaf ip-prefix {
              type inet:ip-prefix;
              description "An IP prefix";
            }
          }
          case mpls-label {
            leaf incoming-label {
              type rt-types:mpls-label;
              description "label value on the incoming packet";
            }
          }
        }
        leaf incoming-interface {
          type if:interface-ref;
          description
            "Optional incoming interface if FEC is restricted
             to traffic incoming on a specific interface";
        }
      }
    }
  }

  grouping out-segment {
    description "Out-segment grouping";
    container out-segment {
      description "MPLS outgoing segment";
      choice out-segment {
        description "The MPLS out-segment type choice";
        case nhlfe-single {
          container nhlfe-single {
            description "Container for single NHLFE entry";
            uses mpls:nhlfe-single-contents;
            leaf outgoing-interface {
              type if:interface-ref;
              description
                "The outgoing interface";
            }
          }
        }
        case nhlfe-multiple {
          container nhlfe-multiple {
            description "Container for multiple NHLFE entries";
            list nhlfe {
              key index;
              description "MPLS NHLFE entry";
              uses mpls:nhlfe-multiple-contents;
              leaf outgoing-interface {
                type if:interface-ref;
                description
                  "The outgoing interface";
              }
            }
          }
        }
      }
    }
  }

  augment "/rt:routing/mpls:mpls" {
    description "Augmentations for MPLS Static LSPs";
    container static-lsps {
      description
        "Statically configured LSPs, without dynamic signaling";
      list static-lsp {
        key name;
        description "list of defined static LSPs";
        leaf name {
          type string;
          description "name to identify the LSP";
        }
        leaf operation {
          type mpls:mpls-operations-type;
          description
            "The MPLS operation to be executed on the incoming
             packet";
        }
        uses in-segment;
        uses out-segment;
      }
    }
  }
}
<CODE ENDS>
]]></artwork></figure>

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document registers the following URIs in the IETF XML registry
<xref target="RFC3688"/>.
Following the format in <xref target="RFC3688"/>, the following registration is
requested to be made.</t>

<figure><artwork><![CDATA[
   URI: urn:ietf:params:xml:ns:yang:ietf-mpls-static
   Registrant Contact: The MPLS WG of the IETF.
   XML: N/A, the requested URI is an XML namespace.

]]></artwork></figure>

<t>This document registers two YANG modules in the YANG Module Names
registry <xref target="RFC6020"/>.</t>

<figure><artwork><![CDATA[
   name:       ietf-mpls-static
   namespace:  urn:ietf:params:xml:ns:yang:ietf-mpls-static
   prefix:     ietf-mpls-static
   // RFC Ed.: replace XXXX with RFC number and remove this note
   reference:  RFCXXXX

]]></artwork></figure>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>The YANG modules specified in this document define schemas 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
{!RFC8446}}.</t>

<t>The NETCONF access control model <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>All nodes defined in this YANG module that are
writable/creatable/deletable (i.e., config true, which is the
default) 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. These are the subtrees and data nodes and their
sensitivity/vulnerability:</t>

<t>o /ietf-routing:routing/ietf-mpls:mpls:/ietf-mpls:static-lsps: This entire
subtree is related to security.</t>

<t>An administrator needs to restrict write access to all configurable
objects within this data model.</t>

</section>
<section anchor="contributors"><name>Contributors</name>

<figure><artwork><![CDATA[
   Himanshu Shah
   Ciena
   email: hshah@ciena.com

   Kamran Raza
   Cisco Systems, Inc.
   email: skraza@cisco.com

]]></artwork></figure>

</section>


  </middle>

  <back>


    <references title='Normative References'>



<reference anchor='RFC7950' target='https://www.rfc-editor.org/info/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='RFC3031' target='https://www.rfc-editor.org/info/rfc3031'>
  <front>
    <title>Multiprotocol Label Switching Architecture</title>
    <author fullname='E. Rosen' initials='E.' surname='Rosen'/>
    <author fullname='A. Viswanathan' initials='A.' surname='Viswanathan'/>
    <author fullname='R. Callon' initials='R.' surname='Callon'/>
    <date month='January' year='2001'/>
    <abstract>
      <t>This document specifies the architecture for Multiprotocol Label Switching (MPLS). [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='3031'/>
  <seriesInfo name='DOI' value='10.17487/RFC3031'/>
</reference>

<reference anchor='RFC8960' target='https://www.rfc-editor.org/info/rfc8960'>
  <front>
    <title>A YANG Data Model for MPLS Base</title>
    <author fullname='T. Saad' initials='T.' surname='Saad'/>
    <author fullname='K. Raza' initials='K.' surname='Raza'/>
    <author fullname='R. Gandhi' initials='R.' surname='Gandhi'/>
    <author fullname='X. Liu' initials='X.' surname='Liu'/>
    <author fullname='V. Beeram' initials='V.' surname='Beeram'/>
    <date month='December' year='2020'/>
    <abstract>
      <t>This document contains a specification of the MPLS base YANG data model. The MPLS base YANG data model serves as a base framework for configuring and managing an MPLS switching subsystem on an MPLS-enabled router. It is expected that other MPLS YANG data models (e.g., MPLS Label Switched Path (LSP) static, LDP, or RSVP-TE YANG data models) will augment the MPLS base YANG data model.</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='8960'/>
  <seriesInfo name='DOI' value='10.17487/RFC8960'/>
</reference>

<reference anchor='RFC2119' target='https://www.rfc-editor.org/info/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' target='https://www.rfc-editor.org/info/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' target='https://www.rfc-editor.org/info/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='RFC8349' target='https://www.rfc-editor.org/info/rfc8349'>
  <front>
    <title>A YANG Data Model for Routing Management (NMDA Version)</title>
    <author fullname='L. Lhotka' initials='L.' surname='Lhotka'/>
    <author fullname='A. Lindem' initials='A.' surname='Lindem'/>
    <author fullname='Y. Qu' initials='Y.' surname='Qu'/>
    <date month='March' year='2018'/>
    <abstract>
      <t>This document specifies three YANG modules and one submodule. Together, they form the core routing data model that serves as a framework for configuring and managing a routing subsystem. It is expected that these modules will be augmented by additional YANG modules defining data models for control-plane protocols, route filters, and other functions. The core routing data model provides common building blocks for such extensions -- routes, Routing Information Bases (RIBs), and control-plane protocols.</t>
      <t>The YANG modules in this document conform to the Network Management Datastore Architecture (NMDA). This document obsoletes RFC 8022.</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='8349'/>
  <seriesInfo name='DOI' value='10.17487/RFC8349'/>
</reference>

<reference anchor='RFC8294' target='https://www.rfc-editor.org/info/rfc8294'>
  <front>
    <title>Common YANG Data Types for the Routing Area</title>
    <author fullname='X. Liu' initials='X.' surname='Liu'/>
    <author fullname='Y. Qu' initials='Y.' surname='Qu'/>
    <author fullname='A. Lindem' initials='A.' surname='Lindem'/>
    <author fullname='C. Hopps' initials='C.' surname='Hopps'/>
    <author fullname='L. Berger' initials='L.' surname='Berger'/>
    <date month='December' year='2017'/>
    <abstract>
      <t>This document defines a collection of common data types using the YANG data modeling language. These derived common types are designed to be imported by other modules defined in the routing area.</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='8294'/>
  <seriesInfo name='DOI' value='10.17487/RFC8294'/>
</reference>

<reference anchor='RFC8343' target='https://www.rfc-editor.org/info/rfc8343'>
  <front>
    <title>A YANG Data Model for Interface Management</title>
    <author fullname='M. Bjorklund' initials='M.' surname='Bjorklund'/>
    <date month='March' year='2018'/>
    <abstract>
      <t>This document defines a YANG data model for the management of network interfaces. It is expected that interface-type-specific data models augment the generic interfaces data model defined in this document. The data model includes definitions for configuration and system state (status information and counters for the collection of statistics).</t>
      <t>The YANG data model in this document conforms to the Network Management Datastore Architecture (NMDA) defined in RFC 8342.</t>
      <t>This document obsoletes RFC 7223.</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='8343'/>
  <seriesInfo name='DOI' value='10.17487/RFC8343'/>
</reference>

<reference anchor='RFC3688' target='https://www.rfc-editor.org/info/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' target='https://www.rfc-editor.org/info/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>

<reference anchor='RFC6241' target='https://www.rfc-editor.org/info/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' target='https://www.rfc-editor.org/info/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' target='https://www.rfc-editor.org/info/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='RFC8341' target='https://www.rfc-editor.org/info/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>




    </references>

    <references title='Informative References'>



<reference anchor='RFC8340' target='https://www.rfc-editor.org/info/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>




    </references>



  </back>

<!-- ##markdown-source:
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
xP8fwqJ2wm4+AAA=

-->

</rfc>

