<?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.6.39 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-boro-opsawg-ac-lxsm-lxnm-glue-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.4 -->
  <front>
    <title abbrev="AC Glue for VPN Models">A YANG Data Model for Augmenting VPN Service and Network Models with Attachment Circuits</title>
    <seriesInfo name="Internet-Draft" value="draft-boro-opsawg-ac-lxsm-lxnm-glue-00"/>
    <author fullname="Mohamed Boucadair">
      <organization>Orange</organization>
      <address>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <author fullname="Richard Roberts">
      <organization>Juniper</organization>
      <address>
        <email>rroberts@juniper.net</email>
      </address>
    </author>
    <author fullname="Samier Barguil Giraldo">
      <organization>Nokia</organization>
      <address>
        <email>samier.barguil_giraldo@nokia.com</email>
      </address>
    </author>
    <author fullname="Oscar Gonzalez de Dios">
      <organization>Telefonica</organization>
      <address>
        <email>oscar.gonzalezdedios@telefonica.com</email>
      </address>
    </author>
    <date year="2023" month="July" day="23"/>
    <area>Operations and Management</area>
    <workgroup>OPSAWG</workgroup>
    <keyword>Slice Service</keyword>
    <keyword>L3VPN</keyword>
    <keyword>L2VPN</keyword>
    <abstract>
      <?line 48?>

<t>The document specifies a module that updates existing service and
   network VPN modules with the required information to bind specific
   services to ACs that are created using the Attachment Circuit (AC) service model.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Operations and Management Area Working Group Working Group mailing list (opsawg@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/opsawg/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/boucadair/attachment-circuit-model"/>.</t>
    </note>
  </front>
  <middle>
    <?line 54?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The document specifies a YANG module that updates existing service and
   network VPN modules with the required information to bind specific
   services to Attachment Circuits (ACs) that are created using the AC service model <xref target="I-D.boro-opsawg-teas-attachment-circuit"/>, specifically the following modules are augmented:</t>
      <ul spacing="normal">
        <li>The Layer 2 Service Model (L2SM) <xref target="RFC8466"/></li>
        <li>The Layer 3 Service Model (L3SM) <xref target="RFC8299"/></li>
        <li>The Layer 2 Network Model (L2NM) <xref target="RFC9291"/></li>
        <li>The Layer 3 Network Model (L3NM) <xref target="RFC9182"/></li>
      </ul>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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>
      <?line -18?>

<t>The meanings of the symbols in the YANG tree diagrams are defined in <xref target="RFC8340"/>.</t>
      <t>This document uses terms defined in <xref target="I-D.boro-opsawg-teas-attachment-circuit"/>.</t>
      <t>LxSM refers to both the L2SM and the L3SM.</t>
      <t>LxNM refers to both the L2NM and the L3NM.</t>
    </section>
    <section anchor="sample-uses-of-the-data-models">
      <name>Sample Uses of the Data Models</name>
      <section anchor="acs-terminated-by-one-or-multiple-customer-edges-ces">
        <name>ACs Terminated by One or Multiple Customer Edges (CEs)</name>
        <t><xref target="uc"/> depicts two target topology flavors that involve ACs. These topologies have the following characteristics:</t>
        <ul spacing="normal">
          <li>A Customer Edges (CEs) can be either a physical device or a logical entity. Such logical entity is typically a software component (e.g., a virtual service function that is hosted within the provider's network or a third-party infrastructure). A CE is seen by the network as a peer SAP.</li>
          <li>An AC service request may include one or multiple ACs, which may be associated to a single CE or multiple CEs.</li>
          <li>CEs may be either dedicated to one single connectivity service or host multiple connectivity services (e.g., CEs with roles of service functions <xref target="RFC7665"/>).</li>
          <li>A network provider may bind a single AC to one or multiple peer SAPs (e.g., CE#1 and CE#2 are tagged as peer SAPs for the same AC). For example, and as discussed in <xref target="RFC4364"/>, multiple CEs can be attached to a PE over the same attachment circuit. This scenario is typically implemented when the layer 2 infrastructure between the CE and the network is a multipoint service.</li>
          <li>A single CE may terminate multiple ACs, which can be associated with the same bearer or distinct bearers.</li>
          <li>Customers may request protection schemes in which the ACs associated with their endpoints are terminated by the same PE (e.g., CE#3), distinct PEs (e.g., CE#34), etc. The network provider uses this request to decide where to terminate the AC in the network provider network and also whether to enable specific capabilities (e.g., Virtual Router Redundancy Protocol (VRRP)).</li>
        </ul>
        <figure anchor="uc">
          <name>Examples of ACs</name>
          <artwork align="center"><![CDATA[
┌───────┐                ┌────────────────────┐           ┌───────┐
│       ├──────┐         │                    ├────AC─────┤       │
│ CE#1  │      │         │                    ├────AC─────┤ CE#3  |
└───────┘      │         │                    │           └───────┘
               ├───AC────┤     Network        │
┌───────┐      │         │                    │
│       │      │         │                    │           ┌───────┐
│ CE#2  ├──────┘         │                    │─────AC────┤ CE#4  │
└───────┘                │                    │           └────+──┘
                         └───────────+────────┘                |
                                     |                         |
                                     └────────────AC───────────┘
]]></artwork>
        </figure>
      </section>
      <section anchor="separate-ac-provisioning-vs-actual-service-provisioning">
        <name>Separate AC Provisioning vs. Actual Service Provisioning</name>
        <t>The procedure to provision a service in a service provider network may depend on the practices adopted by a service provider. This includes the flow put in place for the provisioning of advanced network services and how they are bound to an attachment circuit. For example, a single attachment circuit may be used to host multiple connectivity services. In order to avoid service interference and redundant information in various locations, a service provider may expose an interface to manage ACs network-wide. Customers can then request a bearer or an attachment circuit to be put in place, and then refer to that bearer or AC when requesting services that are bound to the bearer or AC.</t>
        <t><xref target="_u-ex"/> shows the positioning of the AC service model is the overall service delivery process.</t>
        <figure anchor="_u-ex">
          <name>An Example of AC Model Usage</name>
          <artwork align="center"><![CDATA[
                          +---------------+
                          |   Customer    |
                          +-------+-------+
          Customer Service Model  |
          e.g., slice-svc, ac-svc,| and bearer-svc
                          +-------+-------+
                          |    Service    |
                          | Orchestration |
                          +-------+-------+
           Network Model          |
  e.g., l3vpn-ntw, sap, and ac-ntw|
                          +-------+-------+
                          |   Network     |
                          | Orchestration |
                          +-------+-------+
    Network Configuration Model   |
                      +-----------+-----------+
                      |                       |
             +--------+------+       +--------+------+
             |    Domain     |       |     Domain    |
             | Orchestration |       | Orchestration |
             +---+-----------+       +--------+------+
  Device         |        |                   |
  Configuration  |        |                   |
  Model          |        |                   |
            +----+----+   |                   |
            | Config  |   |                   |
            | Manager |   |                   |
            +----+----+   |                   |
                 |        |                   |
                 | NETCONF/CLI..................
                 |        |                   |
               +--------------------------------+
 +----+ Bearer |                                | Bearer +----+
 |CE#1+--------+            Network             +--------+CE#2|
 +----+        |                                |        +----+
               +--------------------------------+
  Site A                                                  Site B
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="module-tree-structure">
      <name>Module Tree Structure</name>
      <t>ACs created using the "ietf-ac-svc" module <xref target="I-D.boro-opsawg-teas-attachment-circuit"/> can be referenced in other
   modules (e.g., L2SM, L3SM, L2NM, L3NM, and Slicing).  Some
   augmentations are required to that aim as shown in <xref target="tree"/>.</t>
      <figure anchor="tree">
        <name>AC Glue Tree Structure</name>
        <artwork align="center"><![CDATA[
module: ietf-ac-glue
  augment /l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site
            /l2vpn-svc:site-network-accesses
            /l2vpn-svc:site-network-access:
    +--rw ac-ref*   ac-svc:attachment-circuit-reference
  augment /l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site
            /l3vpn-svc:site-network-accesses
            /l3vpn-svc:site-network-access:
    +--rw ac-ref*   ac-svc:attachment-circuit-reference
  augment /l2nm:l2vpn-ntw/l2nm:vpn-services/l2nm:vpn-service
            /l2nm:vpn-nodes/l2nm:vpn-node/l2nm:vpn-network-accesses
            /l2nm:vpn-network-access:
    +--rw ac-ref*   ac-svc:attachment-circuit-reference
  augment /l3nm:l3vpn-ntw/l3nm:vpn-services/l3nm:vpn-service
            /l3nm:vpn-nodes/l3nm:vpn-node/l3nm:vpn-network-accesses
            /l3nm:vpn-network-access:
    +--rw ac-ref*   ac-svc:attachment-circuit-reference
]]></artwork>
      </figure>
    </section>
    <section anchor="the-ac-glue-ietf-ac-glue-yang-module">
      <name>The AC Glue ("ietf-ac-glue") YANG Module</name>
      <sourcecode markers="true"><![CDATA[ file ietf-ac-glue@2023-07-13.yang
module ietf-ac-glue {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-ac-glue";
  prefix ac-glue;

  import ietf-l3vpn-svc {
    prefix l3vpn-svc;
    reference
      "RFC 8299: YANG Data Model for L3VPN Service Delivery";
  }
  import ietf-l2vpn-svc {
    prefix l2vpn-svc;
    reference
      "RFC 8466: A YANG Data Model for Layer 2 Virtual Private
                 Network (L2VPN) Service Delivery";
  }
  import ietf-l3vpn-ntw {
    prefix l3nm;
    reference
      "RFC 9182: A YANG Network Data Model for Layer 3 VPNs";
  }
  import ietf-l2vpn-ntw {
    prefix l2nm;
    reference
      "RFC 9291: A YANG Network Data Model for Layer 2 VPNs";
  }
  import ietf-ac-svc {
    prefix ac-svc;
    reference
      "RFC XXXX: YANG Service Data Models for Attachment Circuits";
  }

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

     Editor:   Mohamed Boucadair
               <mailto:mohamed.boucadair@orange.com>
     Author:   Richard Roberts
               <mailto:rroberts@juniper.net>
     Author:   Samier Barguil
               <mailto:ssamier.barguil_giraldo@nokia.com>
     Author:   Oscar Gonzalez de Dios
               <mailto:oscar.gonzalezdedios@telefonica.com>";
  description
    "This YANG module defines a YANG model for augmenting the LxSM
     and the LxNM with attachment circuit references.

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

  revision 2023-07-13 {
    description
      "Initial revision.";
    reference
      "RFC XXXX: A YANG Data Model for Augmenting VPN Service
                 and Network Models with Attachment Circuits";
  }

  grouping ac-glue {
    description
      "A set of AC-related data.";
    leaf-list ac-ref {
      type ac-svc:attachment-circuit-reference;
      description
        "A reference to the AC as exposed at the service that 
         was provisionned using the AC module.";
    }
  }

  augment "/l2vpn-svc:l2vpn-svc"
        + "/l2vpn-svc:sites/l2vpn-svc:site"
        + "/l2vpn-svc:site-network-accesses/l2vpn-svc:site-network-access" {
    description
      "Augments VPN network access with AC provisioning details.";

    uses ac-glue;
  }

  augment "/l3vpn-svc:l3vpn-svc"
        + "/l3vpn-svc:sites/l3vpn-svc:site"
        + "/l3vpn-svc:site-network-accesses/l3vpn-svc:site-network-access" {
    description
      "Augments VPN network access with AC provisioning details.";

    uses ac-glue;
  }

  augment "/l2nm:l2vpn-ntw/l2nm:vpn-services/l2nm:vpn-service"
        + "/l2nm:vpn-nodes/l2nm:vpn-node"
        + "/l2nm:vpn-network-accesses/l2nm:vpn-network-access" {
    description
      "Augments VPN network access with AC provisioning details.";

    uses ac-glue;
  }

  augment "/l3nm:l3vpn-ntw/l3nm:vpn-services/l3nm:vpn-service"
        + "/l3nm:vpn-nodes/l3nm:vpn-node"
        + "/l3nm:vpn-network-accesses/l3nm:vpn-network-access" {
    description
      "Augments VPN network access with AC provisioning details.";

    uses ac-glue;
  }
}
]]></sourcecode>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The YANG module specified in this document defines 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="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)
   and delete operations to these data nodes without proper protection
   or authentication can have a negative effect on network operations.
   These are the subtrees and data nodes and their sensitivity/
   vulnerability in the "ietf-ac-svc" module:</t>
      <ul spacing="normal">
        <li>TBC</li>
        <li>TBC</li>
      </ul>
      <t>Some of the readable data nodes in this YANG module may be considered
   sensitive or vulnerable in some network environments.  It is thus
   important to control read access (e.g., via get, get-config, or
   notification) to these data nodes.  These are the subtrees and data
   nodes and their sensitivity/vulnerability in the "ietf-ac-svc" module:</t>
      <ul spacing="normal">
        <li>TBC</li>
        <li>TBC</li>
      </ul>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to register the following URI in the "ns" subregistry within
   the "IETF XML Registry" <xref target="RFC3688"/>:</t>
      <artwork><![CDATA[
   URI:  urn:ietf:params:xml:ns:yang:ietf-ac-glue
   Registrant Contact:  The IESG.
   XML:  N/A; the requested URI is an XML namespace.
]]></artwork>
      <t>IANA is requested to register the following YANG module in the "YANG Module
   Names" registry <xref target="RFC6020"/> within the "YANG Parameters" registry group.</t>
      <artwork><![CDATA[
   Name:  ietf-ac-glue
   Maintained by IANA?  N
   Namespace:  urn:ietf:params:xml:ns:yang:ietf-ac-glue
   Prefix:  ac-glue
   Reference:  RFC xxxx
]]></artwork>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="I-D.boro-opsawg-teas-attachment-circuit">
          <front>
            <title>YANG Data Models for 'Attachment Circuits'-as-a-Service (ACaaS)</title>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Richard Roberts" initials="R." surname="Roberts">
              <organization>Juniper</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Samier Barguil" initials="S." surname="Barguil">
              <organization>Nokia</organization>
            </author>
            <author fullname="Bo Wu" initials="B." surname="Wu">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="10" month="July" year="2023"/>
            <abstract>
              <t>   This document specifies a YANG service data model for Attachment
   Circuits (ACs).  This model can be used for the provisioning of ACs
   before or during service provisioning (e.g., Network Slice Service).
   The document also specifies a module that updates other service and
   network modules with the required information to bind specific
   services to ACs that are created using the AC service model.

   Also, the document specifies a set of reusable groupings.  Whether
   other service models reuse structures defined in the AC models or
   simply include an AC reference is a design choice of these service
   models.  Utilizing the AC service model to manage ACs over which a
   service is delivered has the advantage of decoupling service
   management from upgrading AC components to incorporate recent AC
   technologies or features.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-boro-opsawg-teas-attachment-circuit-07"/>
        </reference>
        <reference anchor="RFC8466">
          <front>
            <title>A YANG Data Model for Layer 2 Virtual Private Network (L2VPN) Service Delivery</title>
            <author fullname="B. Wen" initials="B." surname="Wen"/>
            <author fullname="G. Fioccola" initials="G." role="editor" surname="Fioccola"/>
            <author fullname="C. Xie" initials="C." surname="Xie"/>
            <author fullname="L. Jalil" initials="L." surname="Jalil"/>
            <date month="October" year="2018"/>
            <abstract>
              <t>This document defines a YANG data model that can be used to configure a Layer 2 provider-provisioned VPN service. It is up to a management system to take this as an input and generate specific configuration models to configure the different network elements to deliver the service. How this configuration of network elements is done is out of scope for this document.</t>
              <t>The YANG data model defined in this document includes support for point-to-point Virtual Private Wire Services (VPWSs) and multipoint Virtual Private LAN Services (VPLSs) that use Pseudowires signaled using the Label Distribution Protocol (LDP) and the Border Gateway Protocol (BGP) as described in RFCs 4761 and 6624.</t>
              <t>The YANG data model defined in this document conforms to the Network Management Datastore Architecture defined in RFC 8342.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8466"/>
          <seriesInfo name="DOI" value="10.17487/RFC8466"/>
        </reference>
        <reference anchor="RFC8299">
          <front>
            <title>YANG Data Model for L3VPN Service Delivery</title>
            <author fullname="Q. Wu" initials="Q." role="editor" surname="Wu"/>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
            <author fullname="L. Tomotaki" initials="L." surname="Tomotaki"/>
            <author fullname="K. Ogaki" initials="K." surname="Ogaki"/>
            <date month="January" year="2018"/>
            <abstract>
              <t>This document defines a YANG data model that can be used for communication between customers and network operators and to deliver a Layer 3 provider-provisioned VPN service. This document is limited to BGP PE-based VPNs as described in RFCs 4026, 4110, and 4364. This model is intended to be instantiated at the management system to deliver the overall service. It is not a configuration model to be used directly on network elements. This model provides an abstracted view of the Layer 3 IP VPN service configuration components. It will be up to the management system to take this model as input and use specific configuration models to configure the different network elements to deliver the service. How the configuration of network elements is done is out of scope for this document.</t>
              <t>This document obsoletes RFC 8049; it replaces the unimplementable module in that RFC with a new module with the same name that is not backward compatible. The changes are a series of small fixes to the YANG module and some clarifications to the text.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8299"/>
          <seriesInfo name="DOI" value="10.17487/RFC8299"/>
        </reference>
        <reference anchor="RFC9291">
          <front>
            <title>A YANG Network Data Model for Layer 2 VPNs</title>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="O. Gonzalez de Dios" initials="O." role="editor" surname="Gonzalez de Dios"/>
            <author fullname="S. Barguil" initials="S." surname="Barguil"/>
            <author fullname="L. Munoz" initials="L." surname="Munoz"/>
            <date month="September" year="2022"/>
            <abstract>
              <t>This document defines an L2VPN Network Model (L2NM) that can be used to manage the provisioning of Layer 2 Virtual Private Network (L2VPN) services within a network (e.g., a service provider network). The L2NM complements the L2VPN Service Model (L2SM) by providing a network-centric view of the service that is internal to a service provider. The L2NM is particularly meant to be used by a network controller to derive the configuration information that will be sent to relevant network devices.</t>
              <t>Also, this document defines a YANG module to manage Ethernet segments and the initial versions of two IANA-maintained modules that include a set of identities of BGP Layer 2 encapsulation types and pseudowire types.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9291"/>
          <seriesInfo name="DOI" value="10.17487/RFC9291"/>
        </reference>
        <reference anchor="RFC9182">
          <front>
            <title>A YANG Network Data Model for Layer 3 VPNs</title>
            <author fullname="S. Barguil" initials="S." surname="Barguil"/>
            <author fullname="O. Gonzalez de Dios" initials="O." role="editor" surname="Gonzalez de Dios"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="L. Munoz" initials="L." surname="Munoz"/>
            <author fullname="A. Aguado" initials="A." surname="Aguado"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>As a complement to the Layer 3 Virtual Private Network Service Model (L3SM), which is used for communication between customers and service providers, this document defines an L3VPN Network Model (L3NM) that can be used for the provisioning of Layer 3 Virtual Private Network (L3VPN) services within a service provider network. The model provides a network-centric view of L3VPN services.</t>
              <t>The L3NM is meant to be used by a network controller to derive the configuration information that will be sent to relevant network devices. The model can also facilitate communication between a service orchestrator and a network controller/orchestrator.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9182"/>
          <seriesInfo name="DOI" value="10.17487/RFC9182"/>
        </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="RFC4364">
          <front>
            <title>BGP/MPLS IP Virtual Private Networks (VPNs)</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <date month="February" year="2006"/>
            <abstract>
              <t>This document describes a method by which a Service Provider may use an IP backbone to provide IP Virtual Private Networks (VPNs) for its customers. This method uses a "peer model", in which the customers' edge routers (CE routers) send their routes to the Service Provider's edge routers (PE routers); there is no "overlay" visible to the customer's routing algorithm, and CE routers at different sites do not peer with each other. Data packets are tunneled through the backbone, so that the core routers do not need to know the VPN routes. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4364"/>
          <seriesInfo name="DOI" value="10.17487/RFC4364"/>
        </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="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>
      <references>
        <name>Informative References</name>
        <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="RFC7665">
          <front>
            <title>Service Function Chaining (SFC) Architecture</title>
            <author fullname="J. Halpern" initials="J." role="editor" surname="Halpern"/>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro"/>
            <date month="October" year="2015"/>
            <abstract>
              <t>This document describes an architecture for the specification, creation, and ongoing maintenance of Service Function Chains (SFCs) in a network. It includes architectural concepts, principles, and components used in the construction of composite services through deployment of SFCs, with a focus on those to be standardized in the IETF. This document does not propose solutions, protocols, or extensions to existing protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7665"/>
          <seriesInfo name="DOI" value="10.17487/RFC7665"/>
        </reference>
      </references>
    </references>
    <?line 392?>

<section anchor="examples">
      <name>Examples</name>
      <t>Add some examples.</t>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to TBC for the comments.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA807TXPjxnJ3/IoJdbBoidSKVORdrr1eLqVdKyVRiqi1nyuV
Sg2BITlvQQweBiBFa/Uq9c45+ODDO+SQQ35Jfsr7JenumQEBEqQo+6Uc1toC
Bz39PT09Pc1Go+GlMg1Fh9W67Mdu/wM74ylnVyoQIRuphHWz8VREqYzG7Pub
PhuIZCZ9wXgUsL5I5yr5ZIA1m8t0wrppyv0JzmA9mfiZTHXN48NhImZIosc+
hJkgxIjNzKx5Pk/FWCWLDtNp4HmB8iM+BZ6ChI/SxlAlqqFizefjBvcb4b2e
wv+iaWMMuBovXng6G06l1lJF6SKGaRfnd++9KJsORdLxAsDd8XwVaRHpTHdY
mmTCA27aHk8EB66uY5HwFGZrEuuKR3wsUISah/KNE5XFCHYz6P7woeZ9EgsY
Djoea7BBiMqwSsGByzbIRQ8tfPB4lk5UgrAeg88oC0Mj2pWawN+AvVOZzwMu
E3qvkjGP5E/ETYddJzwaC3ohplyGHTY1s5pDN+utIpimr6beOpFb6U94ErBb
BapIdQWJf8oiCeIXaSSJgX77R/OuGYm0AveAT6VI2DuejDMZsg8y4WGgKkj0
1SfJiwQ0zWwOzcx/G5uZbyOE2yDItfZ5wj6o6Cceip9YINiZVFXy3IlQjFQk
/RJFhdObYzs9EAFMfpvmoIYo+kiayGGWosG8SCVTQDoD5/FkNCp88xqNBuND
nSbcR80wdjcRDJw2I7/XsfDlSArwJrBXkIWCpROesixGV9RM3EtN60kv1xIi
iexywoVh5tk1lQL2RPwpkwn4S86Kiliq2FCCx1qKPmKxSDW+7Pa0IQ2Oznxw
9hQQZBppI871tcr2u716ztcUV2fTiDuVQRAKz9tjF6Ak4M5HDrYLT+Hkd9bA
ejhCGXV9q156ZRWwh4d/uGicNYtxKBVcN3iOveEb7I+PhzkvPAwXhG+kwlDN
EbsTCulyE1gFBBLvS1LiJV/AgmrlMdYE4f3L1uCqjjzcvu+9PDk9fXwswbfX
4NsF+NarVyvwrXLcRvz9HP5V69XxGv5V+HYB/vhlC+DBLXoqmuE+4aLomRjJ
SNJ3z0NsEDYZxk3NalcfB3e1Q/OX9a/p+fb8nz9e3J6f4fPgu+7lZf7gWYjB
d9cfL8+WT8uZveurq/P+mZkMo6w05NWuuj/CG+QKgvjdxXW/e1kDNwLjSL10
XTQK+pOAV6lI4kSgW3DtBUL7EBfI9di73s3//NfxiZW/dXwM+nXKPv7qBL7M
JyIy1FQEHmC+gh8sPB7HAsIYYAHfYD6PZcpDDbCa6YmaR2wiEgEL7st/Qc38
a4d9PfTj45M3dgAFLg06nZUGSWfrI2uTjRIrhirI5Nosja9ousxv98fSd6f3
wuDX34YyEqxx/PLbN57xkamAUB6NNVMjWjl6MR0qSC3IVsIElDQREG8kHyd8
alZSgK5mrPPw8C0aon3y4vGxiTiLBs40BgWRwLTSlN0XN6C8vB9cQSwaiYQC
zFDZ8ISrlIxOX2AJEmx/A2y/CNtH2D3cUGOIlB+RSyv/MheDRbS3RwH9DgSQ
EYWs4YJdgwYhmbrKwlTi7F6mUzWFZXsejAHPfu9c1z3v4SHzwTMDEUsfIiAs
Z5bC7itSYCtWoRov2CjkM5XY/UJGMxXOMBLqJoYCLRwgRvYJn4mVwIZpBmyG
IsHA7msKad1KZsDtI1xjAuI6vOEsniw0BkvgjqKYwkGkhGMYUdJFkw0yf7Iy
yMC0kO7ZOMuZVqN0TgFdTWMVocH3RXPchOXFZjJJM5jpwvooi3yzf5C0IJLS
qFDcbKyvxYmayUAkX+h8WyLOACAJGjFPkINolHBIA2AzzBJRb6LI54hOCxGh
dRCRm81xS4wFyDzo3jRJQVFxq8H9TeiUTTki9sMMkhxlrDt11gV7HEJAgayO
wECNXGvlS/IG8DDQAlgD3eC8NA8UTxThr5to9Y+5kO+mIzmLAHKhSICOZqhp
xyKgREUt8VZBaad2JEa7d6JC49Kr6td2vX51evqPj491o5RcYc4ChmPc5XPx
QG2W3aKUTrkFDvaOaZ3BQ8vEdz4eU1AvAONhhIINZJqAGcz4HkbEPS1HE8gB
PpDaz7TOYwawfdI+PcENv6hm594mejir3IA5ZqJAZhlcmA0uuM7Qc3wR8USq
sndLZMVkC7SfEKLQbudlLwTi6VxYEHADF2acViWlpcSxkpiwGZtY3S/dB5We
ulBT6YFO0qUH5rkayTiEvQ4YBF0GlO75qR2yvmiDg/FI5/1g9FSYtalBf1NB
wd8QNLmZrqIowWBRQBKZPSEtRcmcJzDE0jfa9cMlazfnRbdpn8A7kfoU/dY9
0uwkaC/HN5g5gLQP1uwcN3H8vtSeTSptZFnDlkcI9LRQK0RBixOQgDcMQe0u
p8SkgQ9lCInVcqF9b6PbrcqAJrsVQRYFPPIX7Aa0qXwFSdv3t7c3dVxh3p/h
4/3tl//42y//XvXvZ7by2Qy647+fd0L2M/D0lxzqP7cjWoKusFqa1+2tofjv
JQKiRxFiia6I9zfQQAdi7DNQ+GWDtH99Br2/lL5txOhtYXSVS6MGl9eXdPKE
X+zGccmWz9FtWdbtvkJBfZOv/HUHWiuT1pUEFE6cPE9YcpMQG2Ur4TvYaMWN
Uyr/HWx+t8bn582kSmCb3+yGYBe+qxdSlZNT9HrosL3MZ1S4/OaLc7NTU4YB
28MXEP/Jrxs8lOPom5qP+2ZSe6QMeiAgdcOYDPH4BgMwVg0xg51Bptv1KY66
83TxvTmfQMj2Ibqa+B6715iX2Cmy+GUtwONGBzm4oKOhzTIha6akiQcqtrvV
OgabHNi0UJvkG1JvFmeYrLM45L7IE5m4KBcohQcz2A0At+Mjz9Rwx4GDJ51O
adscqiwyOUtUmaOUMyOXLqxDuiwz0yYF2iFtbLKLCJKFwOx7cBiRQUGtYEE4
RonIlp4Tu8elpWoQaGKGyVOm4azgm5LuYZVBkDtxHyuN2Cx21CAQnlL1l/IM
q67GHOY0C/kKJj4pZmFu8+eFXKdScbauULTWocvMInNCpIwBTyNLVOCi8wKZ
QsGsUNbLLYaWL85t0rGvIe7h4IfVBeM1IDMVZaxrVJa7pAHFjBXrFO4lvJIw
tDCrQGMWR6tx89I/aJQ/B1tgMc7k58UnoovDe1CBN8dRroqV8Jm0SWPtvqFn
PpjCp7+fySZGiTjwK1moEi1n5wnRPrPrBPJerC2TS/9aNawU7Zb4PSd+2J7F
USNK56AJHttzjo8Dv5pmhdzFHOP/Vm5HqaeikRxnFo8TfxO+oouWnjfAb9oO
V/AfrOA82DRenkbYz9SUQ5QoUjN/ly8+r05bUd6m8XUmSzJvYfJMOO8tq6FK
H0imbIWn4Vfd9Cn4shSG04Od4D9b3gzsLvDmQjDZEf65/Fgiqw9PwffP73rX
/fdHvcuL5trntxJYDdxrH3AJK+I7s+VsThNzuhbywM7/jGevpasVYVcOJmWW
DjDv/5zT3yJWtQIc/edLzAYSE8enKK1/aN67Qu4Ku7LNXmvdiNkE1uSvdiV8
1OBytc2prLeHgHizdof18IEr/3geZi7rd1o1KdJRw+xzNXcp95zStyv3ULIi
KJ2EWKSwToG6dDdbtiSB1fBDKoMfUrX7kMrcZpPBO3Ngq94ExcBOjbPtXZi7
hE8Kt30uLeJyurwnoRIcXgRQSf7P+cfzDB8d5sTFFgEvJ8COwhbueqCETv5U
GIPcSOiV7yVPWXnXcCki9zEjEvoZwB3P+l0yx30X9PolaoIs1Fm3QCNXfEmc
di5OOxenvSJOe4s47eeIsw347yNOK5paw0AeYr4STZv2ro2s6tu+jWAN6fLX
wrcnbFYJ9neyForXzsVrr4nX3ipeuyxeuyReezfxqsF+vXiFxYehjW7nXGiz
3T7lCLUlqO1RtdVN268VF3Gtbq7/TNQrLfqve9dn5+zd+YeL/uANG0mIbMWZ
b1svWu3Gi68ax+3mgsNR3ka/Igx7AAXgywaccOhMf9w8fg1j2H6iYzwb1rIk
6uCcDlYQprpzPw07ke7grE6JU5wXg4bkPbNDr7FRQk5jlaSGbL6UiHAOng+/
ptGiE+Gndvu+x/BKv1PZqkW9R/lB48we14idx1X6rWr6rR3on5yedlh1s5jr
MHAV6ZtEzvhKzKGP2+H3qU2qviPTbuWsKi2abuEXWxRyfh3dSr7b2Hiit+hr
nXRrO+nWq+PdSLc2kzaLsEzXjG2h/Af4WCfJVbu8SzaNfRWdeoa+V26qIrw1
7KljpgWO7W/smGNdyDzYDyAnJh4fsHOuTlixtwq7pQgXoPhBDDvw+PUkTWPd
OToKgDvsp/okkiaK3QQOjubjI5OWHL0xwsHES6lTmPk1NnalqmPev3VT3ngG
8DyQ2MXF2IY+u8LHYdrWWmfJd00zHzxVNdZV4KxqpVvDVW6k24RKP9U1t4Z3
S89cBf4dWuTekCVNN0y89AwqTRZ7vUxzRbEDzPo6X/aSUufD/eDKsJP3QmDD
BN3pVdTQckfHyhNN66l4kcjxJGX7fp1hmKfWT9hwMqzKWaSgd42eKgOkPZKm
qcfQJWXl7Ra+wkIf64YhI7R4vYc7MXiFpXgr8MKQmgSp8Bthjk1lX62yxBYn
hzLiyQIlnuJlKYqjrNvhF5WlqBNqEUMsh1hwi/GyMMWcPc4SnWFlM1UmX9bZ
8I/CLh1X6MPSVaSF7WahxWX7WajVCPicSSy9vhucwYohWDNfixQZA5aA54G9
aT1p+k4FS/19odmlGFMQt+Vk7XQQcmNDZcDPbIONfb/v1nSKaIRYrmfLdQNr
tnWnUnIft+sSFyvuhNqBlAHfudD2GjsskF/LEQxD+BLhiNwM20ZZSLxHiqrr
zRrtwImwBftlRmDj6qpTY8DD7jVA4SY1a0/G2+d0UK/vic9pqc4DNTUnI+pi
IlMpT5dsT2dMSN9COh9i1HVyhYLDPidx4VACaDExbEMQu6SCry38Om2insM5
H4Y8j2tbhoclmZpbertb0ZlvqaM5dmw4P4xWuzWNozhBHp1uXN5dqzr11XLk
ByWAqiPgNti1fHv7+9oWAxl2NXlJ3hNAs6wj9MpXO4GAVR8652amKyHPONeV
sH5WXBFs68FxG2yFEra9/z2V8NwT5qrtN58wN0Gu+0flm9/VM555Ll31hc3n
0k2Q6/7y/0Apj/Yoed4/G7wplZXw4tjPEryv7MFGiJeI3PY2M9MBX9yxXBN8
sN5k7HIjam7itD9gEEYsrhcRZIVzsSl9YX+VUVHAZpIXbpLzjDu2PT6AM/Mn
VE3TrjpsG9VOWyfHj494LXh7Pii+ePmCGmWNBKGa42Wmm0rtZYjOXgdqVAAE
ZkiKNZ1OCCC/xkSWQBKVLBqpauQNa3YayZfPBIwDg20wEbBX7w8G39WXvLZW
Wcq5LvL03d3dzWBH8mXad5cDxOE66k9OqYpo7Vh9jdQ1ftXDX4io0HXC97u9
Zad9G3WMWOwts9EadjRT82+C1zDST52LouUxrZF+FkKa7rRuEsVcYPBR0zvM
8ejnW54EJYV2O8crWj4Dz6ZGsQ14nJMwVT65YeYIasrFx98l4H/M/HoK8aN7
MlrZxa7ptSzNXUgjojksFOTmiOrQ9AT6EvTE9mVTNA+ZkYV+jOUaCo2jebTc
RzwL07pxA8hzC0zYzgLfLkPUBSSVEn+bgx4+y8IIRARK5CeYmE+XPXcimslE
RRQ4APkPCVbmCzqx5WvI8iHBIQ7rnk3NSIISsMljyty5BB8UDoCFdkZEQ0cg
vPJPbepPRXVqp8alPaYfGDExGsEU7BDJG49zmk1rJ23sROsyG2LRzdizwIld
GDLJ9QPR6wjnOxVhG+HCdSVWXRB0yC2+ZHfvessHfMK6vTsxgIkDMmyBdpWD
rNkNEW0w3VN2u0iNs2R05DDVEnNkIo/GJYpsubVmrYoBdCzSQ/yfte6hXSh4
TnDnsXqVYZtPqt2g2az536j1PXbR7Xerdh8aX7aimo0jEWNI5W3L8bJP/+Pt
RU46gt0VpDCQcF41ze9mJxK24POHq0s47xmAmo107dOXLx8fO8vuD0Dage10
x/IoxSWDEk3WM4Whjom+F+eDD+TjQBiG+kfd1/mPv4xsJAHqmHjLy7NNw81z
9VE6Z1q9FMvMgK6PJGosV5Pdpl60XuBvfZY/GDDzblB4iBNJcQod0grtMn36
TePqHRW7gjO8PccPFyTGtwCb84BiPlPPN1Qu7DBW0r09h3XMwfkePlZ5jUaD
Dbn/Cb0t76p72LMNXxqyxm4QmIXpxuiXK13/U6TmoQhMRuY9dMz2IYJvaiMe
aoHF/bsJjz5R0AR/znvVfDU1i9r7XyQymj2LPAAA

-->

</rfc>
