<?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.8 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-opsawg-ac-lxsm-lxnm-glue-07" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.20.1 -->
  <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-ietf-opsawg-ac-lxsm-lxnm-glue-07"/>
    <author fullname="Mohamed Boucadair" role="editor">
      <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="2024" month="April" day="04"/>
    <area>Operations and Management</area>
    <workgroup>OPSAWG</workgroup>
    <keyword>Slice Service</keyword>
    <keyword>L3VPN</keyword>
    <keyword>L2VPN</keyword>
    <abstract>
      <?line 49?>

<t>The document specifies a module that updates existing service (i.e., the Layer 2 Service Model (L2SM) and the Layer 3 Service Model (L3SM)) and
   network ((i.e., the Layer 2 Network Model (L2NM) and the Layer 3 Network Model (L3NM))) Virtual Private Network (VPN) modules with the required information to bind specific
   VPN services to ACs that are created using the Attachment Circuit (AC) service ("ietf-ac-svc") and network ("ietf-ac-ntw") models.</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 55?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The document specifies a YANG module ("ietf-ac-glue", <xref target="sec-glue"/>) that updates existing service and
network Virtual Private 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.ietf-opsawg-teas-attachment-circuit"/>, specifically the following modules are augmented:</t>
      <ul spacing="normal">
        <li>
          <t>The Layer 2 Service Model (L2SM) <xref target="RFC8466"/></t>
        </li>
        <li>
          <t>The Layer 3 Service Model (L3SM) <xref target="RFC8299"/></t>
        </li>
        <li>
          <t>The Layer 2 Network Model (L2NM) <xref target="RFC9291"/></t>
        </li>
        <li>
          <t>The Layer 3 Network Model (L3NM) <xref target="RFC9182"/></t>
        </li>
      </ul>
      <t>Likewise, the document augments the L2NM and L3NM with references to the ACs that are managed using the AC network model <xref target="I-D.ietf-opsawg-ntw-attachment-circuit"/>.</t>
      <t>The YANG data model in this document conforms to the Network
Management Datastore Architecture (NMDA) defined in <xref target="RFC8342"/>.</t>
      <t>An example to illustrate the use of the "ietf-ac-glue" model is provided in <xref target="sec-example"/>.</t>
    </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.ietf-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>
      <t>The following terms are used in the modules prefixes:</t>
      <dl>
        <dt>ac:</dt>
        <dd>
          <t>Attachment circuit</t>
        </dd>
        <dt>ntw:</dt>
        <dd>
          <t>Network</t>
        </dd>
        <dt>ref:</dt>
        <dd>
          <t>Reference</t>
        </dd>
        <dt>svc:</dt>
        <dd>
          <t>Service</t>
        </dd>
      </dl>
    </section>
    <section anchor="relationship-to-other-ac-data-models">
      <name>Relationship to Other AC Data Models</name>
      <t><xref target="ac-overview"/> depicts the relationship between the various AC data models:</t>
      <ul spacing="normal">
        <li>
          <t>"ietf-ac-common" (<xref target="I-D.ietf-opsawg-teas-common-ac"/>)</t>
        </li>
        <li>
          <t>"ietf-bearer-svc" (<xref section="5.1" sectionFormat="of" target="I-D.ietf-opsawg-teas-attachment-circuit"/>)</t>
        </li>
        <li>
          <t>"ietf-ac-svc" (<xref section="5.2" sectionFormat="of" target="I-D.ietf-opsawg-teas-attachment-circuit"/>)</t>
        </li>
        <li>
          <t>"ietf-ac-ntw" (<xref target="I-D.ietf-opsawg-ntw-attachment-circuit"/>)</t>
        </li>
        <li>
          <t>"ietf-ac-glue" (<xref target="sec-glue"/>)</t>
        </li>
      </ul>
      <figure anchor="ac-overview">
        <name>AC Data Models</name>
        <artset>
          <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="256" width="368" viewBox="0 0 368 256" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 32,144 L 32,240" fill="none" stroke="black"/>
              <path d="M 56,80 L 56,112" fill="none" stroke="black"/>
              <path d="M 72,144 L 72,176" fill="none" stroke="black"/>
              <path d="M 144,48 L 144,80" fill="none" stroke="black"/>
              <path d="M 192,40 L 192,112" fill="none" stroke="black"/>
              <path d="M 240,48 L 240,80" fill="none" stroke="black"/>
              <path d="M 328,80 L 328,160" fill="none" stroke="black"/>
              <path d="M 328,192 L 328,240" fill="none" stroke="black"/>
              <path d="M 56,80 L 144,80" fill="none" stroke="black"/>
              <path d="M 240,80 L 328,80" fill="none" stroke="black"/>
              <path d="M 104,128 L 128,128" fill="none" stroke="black"/>
              <path d="M 72,176 L 264,176" fill="none" stroke="black"/>
              <path d="M 32,240 L 120,240" fill="none" stroke="black"/>
              <path d="M 240,240 L 328,240" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="336,192 324,186.4 324,197.6" fill="black" transform="rotate(270,328,192)"/>
              <polygon class="arrowhead" points="248,48 236,42.4 236,53.6" fill="black" transform="rotate(270,240,48)"/>
              <polygon class="arrowhead" points="200,40 188,34.4 188,45.6" fill="black" transform="rotate(270,192,40)"/>
              <polygon class="arrowhead" points="152,48 140,42.4 140,53.6" fill="black" transform="rotate(270,144,48)"/>
              <polygon class="arrowhead" points="136,128 124,122.4 124,133.6" fill="black" transform="rotate(0,128,128)"/>
              <polygon class="arrowhead" points="112,128 100,122.4 100,133.6" fill="black" transform="rotate(180,104,128)"/>
              <polygon class="arrowhead" points="80,144 68,138.4 68,149.6" fill="black" transform="rotate(270,72,144)"/>
              <polygon class="arrowhead" points="40,144 28,138.4 28,149.6" fill="black" transform="rotate(270,32,144)"/>
              <g class="text">
                <text x="188" y="36">ietf-ac-common</text>
                <text x="48" y="132">ietf-ac-svc</text>
                <text x="200" y="132">ietf-bearer-svc</text>
                <text x="320" y="180">ietf-ac-ntw</text>
                <text x="180" y="244">ietf-ac-glue</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="center"><![CDATA[
                ietf-ac-common
                 ^     ^     ^
                 |     |     |
      +----------+     |     +----------+
      |                |                |
      |                |                |
ietf-ac-svc <--> ietf-bearer-svc        |
   ^    ^                               |
   |    |                               |
   |    +------------------------ ietf-ac-ntw
   |                                    ^
   |                                    |
   |                                    |
   +----------- ietf-ac-glue -----------+
]]></artwork>
        </artset>
      </figure>
      <t>"ietf-ac-common" is imported  by "ietf-bearer-svc", "ietf-ac-svc", and "ietf-ac-ntw".
Bearers managed using "ietf-bearer-svc" may be referenced in the service ACs managed using "ietf-ac-svc".
Similarly, a bearer managed using "ietf-bearer-svc" may list the set of ACs that use that bearer.
In order to ease correlation between an AC service requests and the actual AC provisioned in the network, "ietf-ac-ntw" uses the AC references exposed by "ietf-ac-svc".
To bind Layer 2 VPN or Layer 3 VPN services with ACs, "ietf-ac-glue" augments the LxSM and LxNM with AC service references exposed by "ietf-ac-svc" and AC network references exposed bt "ietf-ac-ntw".</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>
            <t>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 Service Attachment Point (SAP) <xref target="RFC9408"/>.</t>
          </li>
          <li>
            <t>An AC service request may include one or multiple ACs, which may be associated to a single CE or multiple CEs.</t>
          </li>
          <li>
            <t>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"/>).</t>
          </li>
          <li>
            <t>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.</t>
          </li>
          <li>
            <t>A single CE may terminate multiple ACs, which can be associated with the same bearer or distinct bearers.</t>
          </li>
          <li>
            <t>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)).</t>
          </li>
        </ul>
        <figure anchor="uc">
          <name>Examples of ACs</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="224" width="528" viewBox="0 0 528 224" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,80" fill="none" stroke="black"/>
                <path d="M 8,112 L 8,160" fill="none" stroke="black"/>
                <path d="M 72,32 L 72,80" fill="none" stroke="black"/>
                <path d="M 72,112 L 72,160" fill="none" stroke="black"/>
                <path d="M 128,48 L 128,144" fill="none" stroke="black"/>
                <path d="M 208,32 L 208,176" fill="none" stroke="black"/>
                <path d="M 304,176 L 304,208" fill="none" stroke="black"/>
                <path d="M 376,32 L 376,176" fill="none" stroke="black"/>
                <path d="M 456,32 L 456,80" fill="none" stroke="black"/>
                <path d="M 456,128 L 456,160" fill="none" stroke="black"/>
                <path d="M 496,160 L 496,208" fill="none" stroke="black"/>
                <path d="M 520,32 L 520,80" fill="none" stroke="black"/>
                <path d="M 520,128 L 520,160" fill="none" stroke="black"/>
                <path d="M 8,32 L 72,32" fill="none" stroke="black"/>
                <path d="M 208,32 L 376,32" fill="none" stroke="black"/>
                <path d="M 456,32 L 520,32" fill="none" stroke="black"/>
                <path d="M 72,48 L 128,48" fill="none" stroke="black"/>
                <path d="M 376,48 L 400,48" fill="none" stroke="black"/>
                <path d="M 424,48 L 456,48" fill="none" stroke="black"/>
                <path d="M 376,64 L 400,64" fill="none" stroke="black"/>
                <path d="M 424,64 L 456,64" fill="none" stroke="black"/>
                <path d="M 8,80 L 72,80" fill="none" stroke="black"/>
                <path d="M 456,80 L 520,80" fill="none" stroke="black"/>
                <path d="M 128,96 L 152,96" fill="none" stroke="black"/>
                <path d="M 176,96 L 208,96" fill="none" stroke="black"/>
                <path d="M 8,112 L 72,112" fill="none" stroke="black"/>
                <path d="M 456,128 L 520,128" fill="none" stroke="black"/>
                <path d="M 72,144 L 128,144" fill="none" stroke="black"/>
                <path d="M 376,144 L 400,144" fill="none" stroke="black"/>
                <path d="M 424,144 L 456,144" fill="none" stroke="black"/>
                <path d="M 8,160 L 72,160" fill="none" stroke="black"/>
                <path d="M 456,160 L 520,160" fill="none" stroke="black"/>
                <path d="M 208,176 L 376,176" fill="none" stroke="black"/>
                <path d="M 304,208 L 392,208" fill="none" stroke="black"/>
                <path d="M 416,208 L 496,208" fill="none" stroke="black"/>
                <g class="text">
                  <text x="412" y="52">AC</text>
                  <text x="36" y="68">CE#1</text>
                  <text x="412" y="68">AC</text>
                  <text x="484" y="68">CE#3</text>
                  <text x="164" y="100">AC</text>
                  <text x="280" y="100">Network</text>
                  <text x="36" y="148">CE#2</text>
                  <text x="412" y="148">AC</text>
                  <text x="484" y="148">CE#4</text>
                  <text x="404" y="212">AC</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
.-------.                .--------------------.         .-------.
|       +------.         |                    +---AC----+       |
| CE#1  |      |         |                    +---AC----+ CE#3  |
'-------'      |         |                    |         '-------'
               +---AC----+     Network        |
.-------.      |         |                    |
|       |      |         |                    |         .-------.
| CE#2  +------'         |                    +---AC----+ CE#4  |
'-------'                |                    |         '----+--'
                         '-----------+--------'              |
                                     |                       |
                                     '-----------AC----------'
]]></artwork>
          </artset>
        </figure>
      </section>
      <section anchor="separate-ac-provisioning-from-actual-vpn-service-provisioning">
        <name>Separate AC Provisioning From Actual VPN 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 VPN 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>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="656" width="512" viewBox="0 0 512 656" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,560 L 8,592" fill="none" stroke="black"/>
                <path d="M 48,560 L 48,592" fill="none" stroke="black"/>
                <path d="M 96,432 L 96,480" fill="none" stroke="black"/>
                <path d="M 104,320 L 104,368" fill="none" stroke="black"/>
                <path d="M 120,544 L 120,608" fill="none" stroke="black"/>
                <path d="M 136,368 L 136,432" fill="none" stroke="black"/>
                <path d="M 136,480 L 136,536" fill="none" stroke="black"/>
                <path d="M 176,288 L 176,320" fill="none" stroke="black"/>
                <path d="M 176,432 L 176,480" fill="none" stroke="black"/>
                <path d="M 208,32 L 208,64" fill="none" stroke="black"/>
                <path d="M 208,112 L 208,160" fill="none" stroke="black"/>
                <path d="M 208,208 L 208,256" fill="none" stroke="black"/>
                <path d="M 208,376 L 208,496" fill="none" stroke="black"/>
                <path d="M 232,320 L 232,368" fill="none" stroke="black"/>
                <path d="M 272,64 L 272,112" fill="none" stroke="black"/>
                <path d="M 272,160 L 272,208" fill="none" stroke="black"/>
                <path d="M 272,256 L 272,288" fill="none" stroke="black"/>
                <path d="M 296,320 L 296,368" fill="none" stroke="black"/>
                <path d="M 336,32 L 336,64" fill="none" stroke="black"/>
                <path d="M 336,112 L 336,160" fill="none" stroke="black"/>
                <path d="M 336,208 L 336,256" fill="none" stroke="black"/>
                <path d="M 368,288 L 368,320" fill="none" stroke="black"/>
                <path d="M 368,368 L 368,536" fill="none" stroke="black"/>
                <path d="M 384,544 L 384,608" fill="none" stroke="black"/>
                <path d="M 424,320 L 424,368" fill="none" stroke="black"/>
                <path d="M 456,560 L 456,592" fill="none" stroke="black"/>
                <path d="M 496,560 L 496,592" fill="none" stroke="black"/>
                <path d="M 208,32 L 336,32" fill="none" stroke="black"/>
                <path d="M 208,64 L 336,64" fill="none" stroke="black"/>
                <path d="M 208,112 L 336,112" fill="none" stroke="black"/>
                <path d="M 208,160 L 336,160" fill="none" stroke="black"/>
                <path d="M 208,208 L 336,208" fill="none" stroke="black"/>
                <path d="M 208,256 L 336,256" fill="none" stroke="black"/>
                <path d="M 176,288 L 368,288" fill="none" stroke="black"/>
                <path d="M 104,320 L 232,320" fill="none" stroke="black"/>
                <path d="M 296,320 L 424,320" fill="none" stroke="black"/>
                <path d="M 104,368 L 232,368" fill="none" stroke="black"/>
                <path d="M 296,368 L 424,368" fill="none" stroke="black"/>
                <path d="M 96,432 L 176,432" fill="none" stroke="black"/>
                <path d="M 96,480 L 176,480" fill="none" stroke="black"/>
                <path d="M 120,544 L 384,544" fill="none" stroke="black"/>
                <path d="M 8,560 L 48,560" fill="none" stroke="black"/>
                <path d="M 456,560 L 496,560" fill="none" stroke="black"/>
                <path d="M 48,576 L 120,576" fill="none" stroke="black"/>
                <path d="M 384,576 L 456,576" fill="none" stroke="black"/>
                <path d="M 8,592 L 48,592" fill="none" stroke="black"/>
                <path d="M 456,592 L 496,592" fill="none" stroke="black"/>
                <path d="M 120,608 L 384,608" fill="none" stroke="black"/>
                <g class="text">
                  <text x="268" y="52">Customer</text>
                  <text x="108" y="84">Customer</text>
                  <text x="176" y="84">Service</text>
                  <text x="232" y="84">Model</text>
                  <text x="96" y="100">e.g.,</text>
                  <text x="164" y="100">slice-svc,</text>
                  <text x="240" y="100">ac-svc,</text>
                  <text x="296" y="100">and</text>
                  <text x="356" y="100">bearer-svc</text>
                  <text x="272" y="132">Service</text>
                  <text x="272" y="148">Orchestration</text>
                  <text x="112" y="180">Network</text>
                  <text x="168" y="180">Model</text>
                  <text x="32" y="196">e.g.,</text>
                  <text x="100" y="196">l3vpn-ntw,</text>
                  <text x="164" y="196">sap,</text>
                  <text x="200" y="196">and</text>
                  <text x="244" y="196">ac-ntw</text>
                  <text x="264" y="228">Network</text>
                  <text x="272" y="244">Orchestration</text>
                  <text x="56" y="276">Network</text>
                  <text x="144" y="276">Configuration</text>
                  <text x="224" y="276">Model</text>
                  <text x="164" y="340">Domain</text>
                  <text x="364" y="340">Domain</text>
                  <text x="168" y="356">Orchestration</text>
                  <text x="360" y="356">Orchestration</text>
                  <text x="36" y="388">Device</text>
                  <text x="64" y="404">Configuration</text>
                  <text x="32" y="420">Model</text>
                  <text x="132" y="452">Config</text>
                  <text x="136" y="468">Manager</text>
                  <text x="256" y="516">NETCONF/CLI................</text>
                  <text x="376" y="516">.</text>
                  <text x="208" y="532">|</text>
                  <text x="84" y="564">Bearer</text>
                  <text x="420" y="564">Bearer</text>
                  <text x="28" y="580">CE#1</text>
                  <text x="248" y="580">Network</text>
                  <text x="476" y="580">CE#2</text>
                  <text x="28" y="628">Site</text>
                  <text x="56" y="628">A</text>
                  <text x="476" y="628">Site</text>
                  <text x="504" y="628">B</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" 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>
          </artset>
        </figure>
      </section>
    </section>
    <section anchor="module-tree-structure">
      <name>Module Tree Structure</name>
      <t><xref target="RFC8299"/> specifies that a 'site-network-access' attachment is achieved through a
'bearer' with an 'ip-connection' on top. From that standpoint, a 'site-network-access' is mapped to an attachment circuit with both Layers 2 and 3 properties as per <xref target="I-D.ietf-opsawg-teas-attachment-circuit"/>. <xref target="RFC8466"/> specifies that a 'site-network-access' represents a logical Layer 2 connection to a site. A 'site-network-access' can thus be mapped to an attachment circuit with  Layer 2 properties <xref target="I-D.ietf-opsawg-teas-attachment-circuit"/>. Similarly, 'vpn-network-access' defined in both <xref target="RFC9182"/> and <xref target="RFC9291"/> is mapped to an attachment circuit as per <xref target="I-D.ietf-opsawg-teas-attachment-circuit"/> or <xref target="I-D.ietf-opsawg-ntw-attachment-circuit"/>.</t>
      <t>As such, ACs created using the "ietf-ac-svc" module <xref target="I-D.ietf-opsawg-teas-attachment-circuit"/> can be referenced in other
VPN-related modules (e.g., L2SM, L3SM, L2NM, and L3NM). Also, ACs managed using the "ietf-ac-ntw" module <xref target="I-D.ietf-opsawg-ntw-attachment-circuit"/> can be referenced in VPN-related network modules (mainly, L2NM and L3NM). The required augmentations to that aim are 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:
    +--rw ac-svc-ref*   ac-svc:attachment-circuit-reference
  augment /l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site
            /l2vpn-svc:site-network-accesses
            /l2vpn-svc:site-network-access:
    +--rw ac-svc-ref?   ac-svc:attachment-circuit-reference {ac-glue}?
  augment /l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site
            /l3vpn-svc:site-network-accesses:
    +--rw ac-svc-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-svc-ref?   ac-svc:attachment-circuit-reference {ac-glue}?
  augment /l2nm:l2vpn-ntw/l2nm:vpn-services/l2nm:vpn-service
            /l2nm:vpn-nodes/l2nm:vpn-node/l2nm:vpn-network-accesses:
    +--rw ac-svc-ref*   ac-svc:attachment-circuit-reference
    +--rw ac-ntw-ref* [ac-ref]
       +--rw ac-ref         leafref
       +--rw node-ref?      leafref
       +--rw network-ref?   -> /nw:networks/network/network-id
  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-svc-ref?   ac-svc:attachment-circuit-reference {ac-glue}?
    +--rw ac-ntw-ref {ac-glue}?
       +--rw ac-ref?        leafref
       +--rw node-ref?      leafref
       +--rw network-ref?   -> /nw:networks/network/network-id
  augment /l3nm:l3vpn-ntw/l3nm:vpn-services/l3nm:vpn-service
            /l3nm:vpn-nodes/l3nm:vpn-node/l3nm:vpn-network-accesses:
    +--rw ac-svc-ref*   ac-svc:attachment-circuit-reference
    +--rw ac-ntw-ref* [ac-ref]
       +--rw ac-ref         leafref
       +--rw node-ref?      leafref
       +--rw network-ref?   -> /nw:networks/network/network-id
  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-svc-ref?   ac-svc:attachment-circuit-reference {ac-glue}?
    +--rw ac-ntw-ref {ac-glue}?
       +--rw ac-ref?        leafref
       +--rw node-ref?      leafref
       +--rw network-ref?   -> /nw:networks/network/network-id
]]></artwork>
      </figure>
      <t>When an AC is referenced within a specific network access, then that AC information takes precedence over any overlapping information that is also enclosed for this network access.</t>
      <ul empty="true">
        <li>
          <t>This approach is consistent with the design in <xref target="I-D.ietf-teas-ietf-network-slice-nbi-yang"/> where an AC service reference, called 'ac-svc-name', is used to indicate the names of AC services. As per <xref target="I-D.ietf-teas-ietf-network-slice-nbi-yang"/>, when both 'ac-svc-name' and the attributes of 'attachment-circuits' are defined, the 'ac-svc-name' takes precedence.</t>
        </li>
      </ul>
      <t>The module includes provisions to reference ACs within or outside a VPN network access to accommodate deployment contexts where an AC reference may be created before or after a VPN instance is created. <xref target="ref-within-access"/> illustrates how an AC reference can be included as part of a specific VPN network access, while <xref target="ref-outside-access"/> shows how AC references can be indicated outside individual VPN network access entries.</t>
    </section>
    <section anchor="sec-glue">
      <name>The AC Glue ("ietf-ac-glue") YANG Module</name>
      <sourcecode markers="true" name="ietf-ac-glue@2023-11-13.yang"><![CDATA[
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 SSSS: YANG Data Models for Bearers and 'Attachment
                 Circuits'-as-a-Service (ACaaS)";
  }
  import ietf-ac-ntw {
    prefix ac-ntw;
    reference
      "RFC NNNN: A Network YANG Data Model 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) 2024 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

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

     This version of this YANG module is part of RFC XXXX; see the
     RFC itself for full legal notices.";

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

  feature ac-glue {
    description
      "The VPN implementation supports binding a specific VPN
       network access or site access to an attachment circuit.";
  }

  grouping single-ac-svc-ref {
    description
      "A grouping with single reference to a service AC.";
    leaf ac-svc-ref {
      type ac-svc:attachment-circuit-reference;
      description
        "A reference to the AC as exposed at the service that 
         was provisioned using the ACaaS module.";
    }
  }

  grouping single-ac-svc-ntw-ref {
    description
      "A grouping with single AC references.";
    leaf ac-svc-ref {
      type ac-svc:attachment-circuit-reference;
      description
        "A reference to the AC as exposed at the service that 
         was provisioned using the ACaaS module.";
    }
    container ac-ntw-ref {
      uses ac-ntw:attachment-circuit-reference;
      description
        "A reference to the AC that  was provisioned
         using the AC network module.";
    }
  }

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

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

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

    uses ac-svc-ref;
  }

  augment "/l2vpn-svc:l2vpn-svc"
        + "/l2vpn-svc:sites/l2vpn-svc:site"
        + "/l2vpn-svc:site-network-accesses"
        + "/l2vpn-svc:site-network-access" {
    if-feature "ac-glue";
    description
      "Augments VPN site network access with a reference to
        a service AC.";

    uses single-ac-svc-ref;
  }

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

    uses ac-svc-ref;
  }

  augment "/l3vpn-svc:l3vpn-svc"
        + "/l3vpn-svc:sites/l3vpn-svc:site"
        + "/l3vpn-svc:site-network-accesses"
        + "/l3vpn-svc:site-network-access" {
    if-feature "ac-glue";
    description
      "Augments VPN site network access with a reference to
       a service AC.";

    uses single-ac-svc-ref;
  }

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

    uses ac-svc-ntw-ref;
  }

  augment "/l2nm:l2vpn-ntw/l2nm:vpn-services/l2nm:vpn-service"
        + "/l2nm:vpn-nodes/l2nm:vpn-node"
        + "/l2nm:vpn-network-accesses"
        + "/l2nm:vpn-network-access" {
    if-feature "ac-glue";
    description
      "Augments VPN network access with service and network
       references to an AC.";

    uses single-ac-svc-ntw-ref;
  }

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

    uses ac-svc-ntw-ref;
  }

  augment "/l3nm:l3vpn-ntw/l3nm:vpn-services/l3nm:vpn-service"
        + "/l3nm:vpn-nodes/l3nm:vpn-node"
        + "/l3nm:vpn-network-accesses"
        + "/l3nm:vpn-network-access" {
    if-feature "ac-glue";
    description
      "Augments VPN network access with service and network
       references to an AC.";

    uses single-ac-svc-ntw-ref;
  }
}
]]></sourcecode>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This section uses the template described in Section 3.7 of <xref target="I-D.ietf-netmod-rfc8407bis"/>.</t>
      <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.
   Specifically, the following subtrees and data nodes have particular
   sensitivities/vulnerabilities:</t>
      <dl>
        <dt>'ac-svc-ref' and 'ac-ntw-ref':</dt>
        <dd>
          <t>An attacker who is able to access network nodes can
undertake various attacks, such as deleting a running VPN
service, interrupting all the traffic of a client. Specifically,
an attacker may modify (including delete) the ACs that are bound to a running service, leading to
malfunctioning of the service and therefore to Service Level
Agreement (SLA) violations.
    : Such activity can be detected by adequately monitoring and tracking
network configuration changes.</t>
        </dd>
      </dl>
      <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.  Specifically, the following
subtrees and data nodes have particular sensitivities/vulnerabilities:</t>
      <dl>
        <dt>'ac-svc-ref' and 'ac-ntw-ref':</dt>
        <dd>
          <t>These references do not expose per se
privacy-related information, however 'ac-svc-ref' may be used to track
the set of VPN instances in which a given customer is involved.</t>
        </dd>
        <dt/>
        <dd>
          <t>Note that, unlike 'ac-svc-ref', 'ac-ntw-ref' is unique within the scope of
   a node and may multiplex many peer CEs.</t>
        </dd>
      </dl>
    </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
   Namespace:  urn:ietf:params:xml:ns:yang:ietf-ac-glue
   Prefix:  ac-glue
   Maintained by IANA?  N
   Reference:  RFC xxxx
]]></artwork>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-opsawg-teas-attachment-circuit">
          <front>
            <title>YANG Data Models for Bearers and '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="16" month="March" year="2024"/>
            <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 service model for managing bearers over
   which ACs are established.

   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-ietf-opsawg-teas-attachment-circuit-08"/>
        </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="I-D.ietf-opsawg-ntw-attachment-circuit">
          <front>
            <title>A Network YANG Data Model for Attachment Circuits</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="9" month="February" year="2024"/>
            <abstract>
              <t>   This document specifies a network model for attachment circuits.  The
   model can be used for the provisioning of attachment circuits prior
   or during service provisioning (e.g., Network Slice Service).  A
   companion service model is specified in I-D.ietf-opsawg-teas-
   attachment-circuit.

   The module augments the Service Attachment Point (SAP) model with the
   detailed information for the provisioning of attachment circuits in
   Provider Edges (PEs).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-ntw-attachment-circuit-05"/>
        </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="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="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 anchor="sec-informative-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="I-D.ietf-opsawg-teas-common-ac">
          <front>
            <title>A Common YANG Data Model for Attachment Circuits</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="21" month="March" year="2024"/>
            <abstract>
              <t>   The document specifies a common Attachment Circuits (ACs) YANG
   module, which is designed with the intent to be reusable by other
   models.  For example, this common model can be reused by service
   models to expose ACs as a service, service models that require
   binding a service to a set of ACs, network and device models to
   provision ACs, etc.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-teas-common-ac-06"/>
        </reference>
        <reference anchor="RFC9408">
          <front>
            <title>A YANG Network Data Model for Service Attachment Points (SAPs)</title>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="O. Gonzalez de Dios" initials="O." surname="Gonzalez de Dios"/>
            <author fullname="S. Barguil" initials="S." surname="Barguil"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <author fullname="V. Lopez" initials="V." surname="Lopez"/>
            <date month="June" year="2023"/>
            <abstract>
              <t>This document defines a YANG data model for representing an abstract view of the provider network topology that contains the points from which its services can be attached (e.g., basic connectivity, VPN, network slices). Also, the model can be used to retrieve the points where the services are actually being delivered to customers (including peer networks).</t>
              <t>This document augments the 'ietf-network' data model defined in RFC 8345 by adding the concept of Service Attachment Points (SAPs). The SAPs are the network reference points to which network services, such as Layer 3 Virtual Private Network (L3VPN) or Layer 2 Virtual Private Network (L2VPN), can be attached. One or multiple services can be bound to the same SAP. Both User-to-Network Interface (UNI) and Network-to-Network Interface (NNI) are supported in the SAP data model.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9408"/>
          <seriesInfo name="DOI" value="10.17487/RFC9408"/>
        </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>
        <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="I-D.ietf-teas-ietf-network-slice-nbi-yang">
          <front>
            <title>A YANG Data Model for the RFC 9543 Network Slice Service</title>
            <author fullname="Bo Wu" initials="B." surname="Wu">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Dhruv Dhody" initials="D." surname="Dhody">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Reza Rokui" initials="R." surname="Rokui">
              <organization>Ciena</organization>
            </author>
            <author fullname="Tarek Saad" initials="T." surname="Saad">
              <organization>Cisco Systems, Inc</organization>
            </author>
            <author fullname="John Mullooly" initials="J." surname="Mullooly">
              <organization>Cisco Systems, Inc</organization>
            </author>
            <date day="16" month="March" year="2024"/>
            <abstract>
              <t>   This document defines a YANG data model for RFC 9543 Network Slice
   Service.  The model can be used in the Network Slice Service
   interface between a customer and a provider that offers RFC 9543
   Network Slice Services.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teas-ietf-network-slice-nbi-yang-10"/>
        </reference>
        <reference anchor="I-D.ietf-netmod-rfc8407bis">
          <front>
            <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
            <author fullname="Andy Bierman" initials="A." surname="Bierman">
              <organization>YumaWorks</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <date day="28" month="February" year="2024"/>
            <abstract>
              <t>   This memo provides guidelines for authors and reviewers of
   specifications containing YANG modules, including IANA-maintained
   modules.  Recommendations and procedures are defined, which are
   intended to increase interoperability and usability of Network
   Configuration Protocol (NETCONF) and RESTCONF protocol
   implementations that utilize YANG modules.  This document obsoletes
   RFC 8407.

   Also, this document updates RFC 8126 by providing additional
   guidelines for writing the IANA considerations for RFCs that specify
   IANA-maintained modules.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-rfc8407bis-09"/>
        </reference>
        <reference anchor="RFC4664">
          <front>
            <title>Framework for Layer 2 Virtual Private Networks (L2VPNs)</title>
            <author fullname="L. Andersson" initials="L." role="editor" surname="Andersson"/>
            <author fullname="E. Rosen" initials="E." role="editor" surname="Rosen"/>
            <date month="September" year="2006"/>
            <abstract>
              <t>This document provides a framework for Layer 2 Provider Provisioned Virtual Private Networks (L2VPNs). This framework is intended to aid in standardizing protocols and mechanisms to support interoperable L2VPNs. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4664"/>
          <seriesInfo name="DOI" value="10.17487/RFC4664"/>
        </reference>
      </references>
    </references>
    <?line 605?>

<section anchor="sec-example">
      <name>Examples</name>
      <section anchor="ref-within-access">
        <name>A Service AC Reference within The VPN Network Access</name>
        <t>Let's consider the example depicted in <xref target="ex-vpws"/> which is inspired from <xref section="2.1" sectionFormat="of" target="RFC4664"/>. Each PE is servicing two CEs. Let's also assume that the service references to identify attachment circuits with these CEs are shown in the figure.</t>
        <figure anchor="ex-vpws">
          <name>VPWS Topology Example</name>
          <artwork align="center"><![CDATA[
.-----.                                           .-----.
|     |  AC1                                AC2   |     |
| CE1 |--+ 2001:db8:100::1     2001:db8:200::1 +--| CE2 |
|     |  |    .-----.   .-----.     .-----.    |  |     |
'-----'  +----|---- |   |  P  |     | ----+----+  '-----'
              |VPWS\----|-----|-----|/VPWS|
              | PE1 |===|=====|=====| PE2 |
              |    /|---|-----|-----|\\   |
.-----.  +----|---- |   |     |     | ----|----+  .-----.
|     |  |    '-----'   '-----'     '-----'    |  |     |
| CE3 |--+                                     +--| CE4 |
|     |  AC3                                 AC4  |     |
'-----'                                           '-----'
]]></artwork>
        </figure>
        <t>As shown in <xref target="ex-vpws-query"/>, the service AC references can be explicitly indicated in the L2NM query for the realization of the Virtual Private Wire Service (VPWS) <xref section="3.1.1" sectionFormat="of" target="RFC4664"/>).</t>
        <figure anchor="ex-vpws-query">
          <name>Example of VPWS Creation with AC Service References</name>
          <artwork align="center"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
   "ietf-l2vpn-ntw:l2vpn-ntw":{
      "vpn-services":{
         "vpn-service":[
            {
               "vpn-id":"vpws12345",
               "vpn-description":"Sample VPWS with AC service \
                                                         references",
               "customer-name":"customer-12345",
               "vpn-type":"ietf-vpn-common:vpws",
               "bgp-ad-enabled":true,
               "signaling-type":"ietf-vpn-common:ldp-signaling",
               "global-parameters-profiles":{
                  "global-parameters-profile":[
                     {
                        "profile-id":"simple-profile",
                        "local-autonomous-system":65550,
                        "rd-auto":{
                           "auto":[
                              null
                           ]
                        },
                        "vpn-target":[
                           {
                              "id":1,
                              "route-targets":[
                                 {
                                    "route-target":"0:65535:1"
                                 }
                              ],
                              "route-target-type":"both"
                           }
                        ]
                     }
                  ]
               },
               "vpn-nodes":{
                  "vpn-node":[
                     {
                        "vpn-node-id":"pe1",
                        "ne-id":"2001:db8:100::1",
                        "active-global-parameters-profiles":{
                           "global-parameters-profile":[
                              {
                                 "profile-id":"simple-profile"
                              }
                           ]
                        },
                        "bgp-auto-discovery":{
                           "vpn-id":"587"
                        },
                        "signaling-option":{
                           "advertise-mtu":true,
                           "ldp-or-l2tp":{
                              "saii":1,
                              "remote-targets":[
                                 {
                                    "taii":2
                                 }
                              ],
                              "t-ldp-pw-type":"ethernet"
                           }
                        },
                        "vpn-network-accesses":{
                           "vpn-network-access":[
                              {
                                 "id":"1/1/1.1",
                                 "interface-id":"1/1/1",
                                 "description":"Interface to CE1",
                                 "active-vpn-node-profile":"simple-\
                                                            profile",
                                 "status":{
                                    "admin-status":{
                                       "status":"ietf-vpn-common:\
                                                            admin-up"
                                    },
                                    "ietf-ac-glue:ac-svc-ref":"AC1"
                                 }
                              },
                              {
                                 "id":"1/1/3.1",
                                 "interface-id":"1/1/3",
                                 "description":"Interface to CE3",
                                 "active-vpn-node-profile":"simple-\
                                                            profile",
                                 "status":{
                                    "admin-status":{
                                       "status":"ietf-vpn-common:\
                                                            admin-up"
                                    },
                                    "ietf-ac-glue:ac-svc-ref":"AC3"
                                 }
                              }
                           ]
                        }
                     },
                     {
                        "vpn-node-id":"pe2",
                        "ne-id":"2001:db8:200::1",
                        "active-global-parameters-profiles":{
                           "global-parameters-profile":[
                              {
                                 "profile-id":"simple-profile"
                              }
                           ]
                        },
                        "bgp-auto-discovery":{
                           "vpn-id":"587"
                        },
                        "signaling-option":{
                           "advertise-mtu":true,
                           "ldp-or-l2tp":{
                              "saii":2,
                              "remote-targets":[
                                 {
                                    "taii":1
                                 }
                              ],
                              "t-ldp-pw-type":"ethernet"
                           }
                        },
                        "vpn-network-accesses":{
                           "vpn-network-access":[
                              {
                                 "id":"2/1/2.1",
                                 "interface-id":"2/1/2",
                                 "description":"Interface to CE2",
                                 "active-vpn-node-profile":"simple-\
                                                            profile",
                                 "status":{
                                    "admin-status":{
                                       "status":"ietf-vpn-common:\
                                                            admin-up"
                                    },
                                    "ietf-ac-glue:ac-svc-ref":"AC2"
                                 }
                              },
                              {
                                 "id":"2/1/4.1",
                                 "interface-id":"2/1/4",
                                 "description":"Interface to CE4",
                                 "active-vpn-node-profile":"simple-\
                                                            profile",
                                 "status":{
                                    "admin-status":{
                                       "status":"ietf-vpn-common:\
                                                            admin-up"
                                    },
                                    "ietf-ac-glue:ac-svc-ref":"AC4"
                                 }
                              }
                           ]
                        }
                     }
                  ]
               }
            }
         ]
      }
   }
}
]]></artwork>
        </figure>
      </section>
      <section anchor="ref-outside-access">
        <name>Network and Service AC References</name>
        <t>Let's consider the example depicted in <xref target="ex-topo"/> with two customer terminating points (CE1 and CE2). Let's also assume that the bearers to attach these CEs to the provider network are already in place. References to the identify these bearers are shown in the figure.</t>
        <figure anchor="ex-topo">
          <name>Topology Example</name>
          <artwork align="center"><![CDATA[
            .-----.   .--------------.   .-----.
.----.      | PE1 +===+              +===+ PE2 |      .----.
| CE1+------+"450"|   |     MPLS     |   |"451"+------+ CE2|
'----'   ^  '-----'   |              |   '-----'   ^  '----'
         |            |     Core     |             |  
    Bearer:1234       '--------------'         Bearer:5678
]]></artwork>
        </figure>
        <t>The AC service model <xref target="I-D.ietf-opsawg-teas-attachment-circuit"/> can be used by the provider to manage and expose the ACs over existing bearers as shown in <xref target="ex-ac"/>.</t>
        <figure anchor="ex-ac">
          <name>ACs Created Using ACaaS</name>
          <artwork align="center"><![CDATA[
{
   "ietf-ac-svc:attachment-circuits":{
      "ac-group-profile":[
         {
            "name":"an-ac-profile",
            "l2-connection":{
               "encapsulation":{
                  "encap-type":"ietf-vpn-common:dot1q",
                  "dot1q":{
                     "tag-type":"ietf-vpn-common:c-vlan",
                     "cvlan-id":550
                  }
               }
            },
            "service":{
               "mtu":1550,
               "svc-pe-to-ce-bandwidth":{
                  "pe-to-ce-bandwidth":[
                     {
                        "bw-type":"ietf-vpn-common:bw-per-port",
                        "cir":"20480000"
                     }
                  ]
               },
               "svc-ce-to-pe-bandwidth":{
                  "ce-to-pe-bandwidth":[
                     {
                        "bw-type":"ietf-vpn-common:bw-per-port",
                        "cir":"20480000"
                     }
                  ]
               },
               "qos":{
                  "qos-profile":{
                     "qos-profile":[
                        {
                           "profile":"QoS_Profile_A",
                           "direction":"ietf-vpn-common:both"
                        }
                     ]
                  }
               }
            }
         }
      ],
      "ac":[
         {
            "name":"ac-1",
            "description":"First attachment",
            "ac-group-profile":["an-ac-profile"],
            "l2-connection":{
               "bearer-reference":"1234"
            }
         },
         {
            "name":"ac-2",
            "description":"Second attachment",
            "ac-group-profile": ["an-ac-profile"],
            "l2-connection":{
               "bearer-reference":"5678"
            }
         }
      ]
   }
}
]]></artwork>
        </figure>
        <t>Let's now consider that the customer wants to request a VPLS instance between the sites as shown in <xref target="ex-vpls"/>.</t>
        <figure anchor="ex-vpls">
          <name>Example of VPLS</name>
          <artwork align="center"><![CDATA[
            |----------  VPLS "1543" ----------|
            
            .-----.   .--------------.   .-----.
.----.  AC1 | PE1 +===+              +===+ PE2 |  AC2 .----.
| CE1+------+"450"|   |     MPLS     |   |"451"+------+ CE2|
'----'   ^  '-----'   |              |   '-----'   ^  '----'
         |            |     Core     |             |  
    Bearer:1234       '--------------'         Bearer:5678
]]></artwork>
        </figure>
        <t>To that aim, existing ACs are referenced during the creation of the VPLS instance using the L2NM and the "ietf-ac-glue" as shown in <xref target="ex-vpls-req"/>.</t>
        <figure anchor="ex-vpls-req">
          <name>Example of a VPLS Request Using L2NM and AC Glue (Message Body)</name>
          <artwork align="center"><![CDATA[
{
  "ietf-l2vpn-ntw:l2vpn-ntw": {
    "vpn-services": {
      "vpn-service": [
        {
          "vpn-id": "1543",
          "vpn-name": "CORPO-EXAMPLE",
          "customer-name": "EXAMPLE",
          "vpn-type": "ietf-vpn-common:vpls",
          "vpn-service-topology": "ietf-vpn-common:hub-spoke",
          "bgp-ad-enabled": false,
          "signaling-type": "ietf-vpn-common:ldp-signaling",
          "global-parameters-profiles": {
            "global-parameters-profile": [
              {
                "profile-id": "simple-profile",
                "ce-vlan-preservation": true,
                "ce-vlan-cos-preservation": true
              }
            ]
          },
          "vpn-nodes": {
            "vpn-node": [
              {
                "vpn-node-id": "450",
                "ne-id": "2001:db8:5::1",
                "role": "ietf-vpn-common:hub-role",
                "status": {
                  "admin-status": {
                    "status": "ietf-vpn-common:admin-up"
                  }
                },
                "active-global-parameters-profiles": {
                  "global-parameters-profile": [
                    {
                      "profile-id": "simple-profile"
                    }
                  ]
                },
                "signaling-option": {
                  "ldp-or-l2tp": {
                    "t-ldp-pw-type": "vpls-type",
                    "pw-peer-list": [
                      {
                        "peer-addr": "2001:db8:50::1",
                        "vc-id": "1543"
                      }
                    ]
                  }
                },
                "vpn-network-accesses": {
                  "ietf-ac-glue:ac-svc-ref": ["ac-1"]
                }
              },
              {
                "vpn-node-id": "451",
                "ne-id": "2001:db8:50::1",
                "role": "ietf-vpn-common:spoke-role",
                "status": {
                  "admin-status": {
                    "status": "ietf-vpn-common:admin-up"
                  }
                },
                "active-global-parameters-profiles": {
                  "global-parameters-profile": [
                    {
                      "profile-id": "simple-profile"
                    }
                  ]
                },
                "signaling-option": {
                  "ldp-or-l2tp": {
                    "t-ldp-pw-type": "vpls-type",
                    "pw-peer-list": [
                      {
                        "peer-addr": "2001:db8:5::1",
                        "vc-id": "1543"
                      }
                    ]
                  }
                },
                "vpn-network-accesses": {
                  "ietf-ac-glue:ac-svc-ref": ["ac-2"]
                }
              }
            ]
          }
        }
      ]
    }
  }
}
]]></artwork>
        </figure>
        <t>Note that before implementing the VPLS instance creation request, the provider service orchestrator may first check if the VPLS service can be provided to the customer using the target delivery locations. The orchestrator uses the SAP model <xref target="RFC9408"/> as exemplified in <xref target="ex-sap-query"/>. This example assumes that the query concerns only PE1. A similar query can be issued for PE2.</t>
        <figure anchor="ex-sap-query">
          <name>Example of SAP Response (Message Body)</name>
          <artwork align="center"><![CDATA[
{
   "ietf-sap-ntw:service":[
      {
         "service-type":"ietf-vpn-common:vpls",
         "sap":[
            {
               "sap-id":"sap#1",
               "peer-sap-id":[
                  "ce-1"
               ],
               "description":"A parent SAP",
               "attachment-interface":"GE0/6/1",
               "interface-type":"ietf-sap-ntw:phy",
               "role":"ietf-sap-ntw:uni",
               "allows-child-saps":true,
               "sap-status":{
                  "status":"ietf-vpn-common:op-up"
               }
            }
         ]
      }
   ]
}
]]></artwork>
        </figure>
        <t>The response in <xref target="ex-sap-query"/> indicates that the VPLS service can be delivered to CE1. <xref target="I-D.ietf-opsawg-ntw-attachment-circuit"/> can be also used to access AC-related details that are bound to the target SAP (<xref target="ex-acntw-query-2"/>).</t>
        <figure anchor="ex-acntw-query-2">
          <name>Example of AC Network Response with SAP (Message Body)</name>
          <artwork align="center"><![CDATA[
{
   "ietf-sap-ntw:service":[
      {
         "service-type":"ietf-vpn-common:vpls",
         "sap":[
            {
               "sap-id":"sap#1",
               "peer-sap-id":[
                  "ce-1"
               ],
               "description":"A parent SAP",
               "attachment-interface":"GE0/6/1",
               "interface-type":"ietf-sap-ntw:phy",
               "role":"ietf-sap-ntw:uni",
               "allows-child-saps":true,
               "sap-status":{
                  "status":"ietf-vpn-common:op-up"
               }
            },
            {
               "sap-id":"sap#11",
               "description":"A child SAP",
               "parent-termination-point":"GE0/6/4",
               "attachment-interface":"GE0/6/4.2",
               "interface-type":"ietf-sap-ntw:logical",
               "encapsulation-type":"ietf-vpn-common:vlan-type",
               "sap-status":{
                  "status":"ietf-vpn-common:op-up"
               },
               "ietf-ac-ntw:ac":[
                  {
                     "ac-ref":"ac-1",
                     "node-ref":"example:pe2",
                     "network-ref":"example:an-id"
                  }
               ]
            }
         ]
      }
   ]
}
]]></artwork>
        </figure>
        <t>The provisioned AC at PE1 can be retrieved using the AC network model as depicted in <xref target="ex-acntw-query"/>.</t>
        <figure anchor="ex-acntw-query">
          <name>Example of AC Network Response (Message Body)</name>
          <artwork align="center"><![CDATA[
{
   "ietf-ac-ntw:ac":[
      {
         "name":"ac-11",
         "ac-svc-ref":"ac-1",
         "peer-sap-id":[
            "ce-1"
         ],
         "status":{
            "admin-status":{
               "status":"ietf-vpn-common:admin-up"
            },
            "oper-status":{
               "status":"ietf-vpn-common:op-up"
            }
         },
         "l2-connection":{
            "encapsulation":{
               "encap-type":"ietf-vpn-common:dot1q",
               "dot1q":{
                  "tag-type":"ietf-vpn-common:c-vlan",
                  "cvlan-id":550
               }
            },
            "bearer-reference":"1234"
         },
         "service":{
            "mtu":1550,
            "svc-pe-to-ce-bandwidth":{
               "pe-to-ce-bandwidth":[
                  {
                     "cir":"20480000"
                  }
               ]
            },
            "svc-ce-to-pe-bandwidth":{
               "ce-to-pe-bandwidth":[
                  {
                     "cir":"20480000"
                  }
               ]
            },
            "qos":{
               "qos-profile":{
                  "qos-profile":[
                     {
                        "qos-profile-ref":"QoS_Profile_A",
                        "network-ref":"example:an-id",
                        "direction":"ietf-vpn-common:both"
                     }
                  ]
               }
            }
         }
      }
   ]
}
]]></artwork>
        </figure>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to Bo Wu and Qin Wu for the review and comments.</t>
      <t>Thanks to Martin Björklund for the yangdoctors review and Gyan Mishra for the rtg-dir review.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
wCVZrN/5P25vNrr3rQAA

-->

</rfc>
