<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" ipr="trust200902" docName="draft-ietf-opsawg-ac-lxsm-lxnm-glue-14" number="9836" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" xml:lang="en" updates="" obsoletes="" prepTime="2025-09-29T19:55:36" indexInclude="true" scripts="Common,Latin" tocDepth="3">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-opsawg-ac-lxsm-lxnm-glue-14" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9836" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <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="RFC" value="9836" stream="IETF"/>
    <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair" role="editor">
      <organization showOnFrontPage="true">Orange</organization>
      <address>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <author fullname="Richard Roberts" initials="R." surname="Roberts">
      <organization showOnFrontPage="true">Juniper</organization>
      <address>
        <email>rroberts@juniper.net</email>
      </address>
    </author>
    <author fullname="Samier Barguil" initials="S." surname="Barguil">
      <organization showOnFrontPage="true">Nokia</organization>
      <address>
        <email>samier.barguil_giraldo@nokia.com</email>
      </address>
    </author>
    <author fullname="Oscar Gonzalez de Dios" initials="O." surname="Gonzalez de Dios">
      <organization showOnFrontPage="true">Telefonica</organization>
      <address>
        <email>oscar.gonzalezdedios@telefonica.com</email>
      </address>
    </author>
    <date month="09" year="2025"/>
    <area>OPS</area>
    <workgroup>opsawg</workgroup>
    <keyword>Slice Service</keyword>
    <keyword>L3VPN</keyword>
    <keyword>L2VPN</keyword>
    <keyword>Automation</keyword>
    <keyword>Network Automation</keyword>
    <keyword>Orchestration</keyword>
    <keyword>service delivery</keyword>
    <keyword>Service provisioning</keyword>
    <keyword>service segmentation</keyword>
    <keyword>service flexibility</keyword>
    <keyword>service simplification</keyword>
    <keyword>Network Service</keyword>
    <keyword>3GPP</keyword>
    <keyword>Network Slicing</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">This document defines a YANG data model, referred to as the "AC Glue" model, to
augment the LxVPN Service Model (LxSM) and LxVPN Network Model (LxNM) with references to attachment circuits (ACs). The
AC Glue model enables a provider to associate Layer 2/3
VPN (LxVPN) services with the underlying AC infrastructure, thereby
facilitating consistent provisioning and management of new or existing ACs in
conjunction with LxVPN services. Specifically, by introducing an integrated approach to AC
and LxVPN management, this model supports Attachment Circuit as a Service
(ACaaS) and provides a standardized mechanism for aligning AC/VPN requests
with the network configurations required to deliver them.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9836" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2025 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-conventions-and-definitions">Conventions and Definitions</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-relationship-to-other-ac-da">Relationship to Other AC Data Models</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sample-uses-of-the-data-mod">Sample Uses of the Data Models</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-acs-terminated-by-one-or-mu">ACs Terminated by One or Multiple Customer Edges (CEs)</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-separate-ac-provisioning-fr">Separate AC Provisioning from Actual VPN Service Provisioning</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-module-tree-structure">Module Tree Structure</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-the-ac-glue-ietf-ac-glue-ya">The AC Glue ("ietf-ac-glue") YANG Module</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2">
              <li pn="section-toc.1-1.9.2.1">
                <t indent="0" pn="section-toc.1-1.9.2.1.1"><xref derivedContent="9.1" format="counter" sectionFormat="of" target="section-9.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.2">
                <t indent="0" pn="section-toc.1-1.9.2.2.1"><xref derivedContent="9.2" format="counter" sectionFormat="of" target="section-9.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="Appendix A" format="default" sectionFormat="of" target="section-appendix.a"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-examples">Examples</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.10.2">
              <li pn="section-toc.1-1.10.2.1">
                <t indent="0" pn="section-toc.1-1.10.2.1.1"><xref derivedContent="A.1" format="counter" sectionFormat="of" target="section-appendix.a.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-a-service-ac-reference-with">A Service AC Reference Within the VPN Network Access</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.2">
                <t indent="0" pn="section-toc.1-1.10.2.2.1"><xref derivedContent="A.2" format="counter" sectionFormat="of" target="section-appendix.a.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-network-and-service-ac-refe">Network and Service AC References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgments">Acknowledgments</xref></t>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">To facilitate data transfer within the provider network, it is assumed that the appropriate setup
   is provisioned over the links that connect customer termination
   points and a provider network (usually via a Provider Edge (PE)),
   allowing data to be successfully exchanged over these links.  The required
   setup is referred to in this document as an attachment circuit (AC),
   while the underlying link is referred to as "bearer".</t>
      <t indent="0" pn="section-1-2">The document specifies a YANG module ("ietf-ac-glue", <xref target="sec-glue" format="default" sectionFormat="of" derivedContent="Section 6"/>) that updates existing service and
network Virtual Private Network (VPN) modules with the required information to bind specific
services to ACs that are created using the AC service model <xref target="RFC9834" format="default" sectionFormat="of" derivedContent="RFC9834"/>. Specifically, the following modules are augmented:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1-3">
        <li pn="section-1-3.1">
          <t indent="0" pn="section-1-3.1.1">The L2VPN Service Model (L2SM) <xref target="RFC8466" format="default" sectionFormat="of" derivedContent="RFC8466"/></t>
        </li>
        <li pn="section-1-3.2">
          <t indent="0" pn="section-1-3.2.1">The L3VPN Service Model (L3SM) <xref target="RFC8299" format="default" sectionFormat="of" derivedContent="RFC8299"/></t>
        </li>
        <li pn="section-1-3.3">
          <t indent="0" pn="section-1-3.3.1">The L2VPN Network Model (L2NM) <xref target="RFC9291" format="default" sectionFormat="of" derivedContent="RFC9291"/></t>
        </li>
        <li pn="section-1-3.4">
          <t indent="0" pn="section-1-3.4.1">The L3VPN Network Model (L3NM) <xref target="RFC9182" format="default" sectionFormat="of" derivedContent="RFC9182"/></t>
        </li>
      </ul>
      <t indent="0" pn="section-1-4">Likewise, the document augments the L2NM and L3NM with references to the ACs that are managed using the AC network model <xref target="RFC9835" format="default" sectionFormat="of" derivedContent="RFC9835"/>.</t>
      <t indent="0" pn="section-1-5">This approach allows operators to separate AC provisioning from actual VPN service provisioning. Refer to <xref target="sep" format="default" sectionFormat="of" derivedContent="Section 4.2"/> for more discussion.</t>
      <t indent="0" pn="section-1-6">The YANG data model in this document conforms to the Network
Management Datastore Architecture (NMDA) defined in <xref target="RFC8342" format="default" sectionFormat="of" derivedContent="RFC8342"/>.</t>
      <t indent="0" pn="section-1-7">Examples to illustrate the use of the "ietf-ac-glue" module are provided in <xref target="sec-example" format="default" sectionFormat="of" derivedContent="Appendix A"/>.</t>
    </section>
    <section anchor="conventions-and-definitions" numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-conventions-and-definitions">Conventions and Definitions</name>
      <t indent="0" pn="section-2-1">The meanings of the symbols in the YANG tree diagrams are defined in <xref target="RFC8340" format="default" sectionFormat="of" derivedContent="RFC8340"/>.</t>
      <t indent="0" pn="section-2-2">This document uses terms defined in <xref target="RFC9834" format="default" sectionFormat="of" derivedContent="RFC9834"/>.</t>
      <t indent="0" pn="section-2-3">LxSM refers to both the L2SM and the L3SM.</t>
      <t indent="0" pn="section-2-4">LxNM refers to both the L2NM and the L3NM.</t>
      <t indent="0" pn="section-2-5">The following terms are used in the module's prefixes:</t>
      <dl indent="3" newline="false" spacing="normal" pn="section-2-6">
        <dt pn="section-2-6.1">ac:</dt>
        <dd pn="section-2-6.2">
          <t indent="0" pn="section-2-6.2.1">Attachment circuit</t>
        </dd>
        <dt pn="section-2-6.3">ntw:</dt>
        <dd pn="section-2-6.4">
          <t indent="0" pn="section-2-6.4.1">Network</t>
        </dd>
        <dt pn="section-2-6.5">ref:</dt>
        <dd pn="section-2-6.6">
          <t indent="0" pn="section-2-6.6.1">Reference</t>
        </dd>
        <dt pn="section-2-6.7">svc:</dt>
        <dd pn="section-2-6.8">
          <t indent="0" pn="section-2-6.8.1">Service</t>
        </dd>
      </dl>
      <t indent="0" pn="section-2-7">The names of data nodes are prefixed using the prefix associated with the corresponding imported YANG module as shown in <xref target="pref" format="default" sectionFormat="of" derivedContent="Table 1"/>:</t>
      <table anchor="pref" align="center" pn="table-1">
        <name slugifiedName="name-modules-and-their-associate">Modules and Their Associated Prefixes</name>
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1">Prefix</th>
            <th align="left" colspan="1" rowspan="1">Module</th>
            <th align="left" colspan="1" rowspan="1">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">ac-svc</td>
            <td align="left" colspan="1" rowspan="1">ietf-ac-svc</td>
            <td align="left" colspan="1" rowspan="1">
              <xref target="RFC9834" sectionFormat="of" section="6.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9834#section-6.2" derivedContent="RFC9834"/></td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">ac-ntw</td>
            <td align="left" colspan="1" rowspan="1">ietf-ac-ntw</td>
            <td align="left" colspan="1" rowspan="1">
              <xref target="RFC9835" format="default" sectionFormat="of" derivedContent="RFC9835"/></td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">l2nm</td>
            <td align="left" colspan="1" rowspan="1">ietf-l2vpn-ntw</td>
            <td align="left" colspan="1" rowspan="1">
              <xref target="RFC9291" format="default" sectionFormat="of" derivedContent="RFC9291"/></td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">l2vpn-svc</td>
            <td align="left" colspan="1" rowspan="1">ietf-l2vpn-svc</td>
            <td align="left" colspan="1" rowspan="1">
              <xref target="RFC8466" format="default" sectionFormat="of" derivedContent="RFC8466"/></td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">l3nm</td>
            <td align="left" colspan="1" rowspan="1">ietf-l3vpn-ntw</td>
            <td align="left" colspan="1" rowspan="1">
              <xref target="RFC9182" format="default" sectionFormat="of" derivedContent="RFC9182"/></td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">l3vpn-svc</td>
            <td align="left" colspan="1" rowspan="1">ietf-l3vpn-svc</td>
            <td align="left" colspan="1" rowspan="1">
              <xref target="RFC8299" format="default" sectionFormat="of" derivedContent="RFC8299"/></td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="relationship-to-other-ac-data-models" numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-relationship-to-other-ac-da">Relationship to Other AC Data Models</name>
      <t indent="0" pn="section-3-1"><xref target="ac-overview" format="default" sectionFormat="of" derivedContent="Figure 1"/> depicts the relationship between the various AC data models:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3-2">
        <li pn="section-3-2.1">
          <t indent="0" pn="section-3-2.1.1">"ietf-ac-common" <xref target="RFC9833" format="default" sectionFormat="of" derivedContent="RFC9833"/></t>
        </li>
        <li pn="section-3-2.2">
          <t indent="0" pn="section-3-2.2.1">"ietf-bearer-svc" (<xref section="6.1" sectionFormat="of" target="RFC9834" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9834#section-6.1" derivedContent="RFC9834"/>)</t>
        </li>
        <li pn="section-3-2.3">
          <t indent="0" pn="section-3-2.3.1">"ietf-ac-svc" (<xref section="6.2" sectionFormat="of" target="RFC9834" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9834#section-6.2" derivedContent="RFC9834"/>)</t>
        </li>
        <li pn="section-3-2.4">
          <t indent="0" pn="section-3-2.4.1">"ietf-ac-ntw" <xref target="RFC9835" format="default" sectionFormat="of" derivedContent="RFC9835"/></t>
        </li>
        <li pn="section-3-2.5">
          <t indent="0" pn="section-3-2.5.1">"ietf-ac-glue" (<xref target="sec-glue" format="default" sectionFormat="of" derivedContent="Section 6"/>)</t>
        </li>
      </ul>
      <figure anchor="ac-overview" align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-ac-data-models">AC Data Models</name>
        <artset pn="section-3-3.1">
          <artwork type="svg" align="center" pn="section-3-3.1.1"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="288" width="368" viewBox="0 0 368 288" 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 128,240" fill="none" stroke="black"/>
              <path d="M 248,240 L 328,240" fill="none" stroke="black"/>
              <path d="M 24,272 L 40,272" 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="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="48,272 36,266.4 36,277.6" fill="black" transform="rotate(0,40,272)"/>
              <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="188" y="244">ietf-ac-glue</text>
                <text x="8" y="276">X</text>
                <text x="60" y="276">Y:</text>
                <text x="80" y="276">X</text>
                <text x="120" y="276">imports</text>
                <text x="160" y="276">Y</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="center" pn="section-3-3.1.2">
                ietf-ac-common
                 ^     ^     ^
                 |     |     |
      .----------'     |     '----------.
      |                |                |
      |                |                |
ietf-ac-svc &lt;--- ietf-bearer-svc        |
   ^    ^                               |
   |    |                               |
   |    '------------------------ ietf-ac-ntw
   |                                    ^
   |                                    |
   |                                    |
   '------------ ietf-ac-glue ----------'

X --&gt; Y: X imports Y
</artwork>
        </artset>
      </figure>
      <t indent="0" pn="section-3-4">The "ietf-ac-common" module is imported by the "ietf-bearer-svc", "ietf-ac-svc", and "ietf-ac-ntw" modules. Bearers managed using the "ietf-bearer-svc" module may be referenced by service ACs managed using the "ietf-ac-svc" module. Similarly, a bearer managed using the "ietf-bearer-svc" module may list the set of ACs that use that bearer. To facilitate correlation between an AC service request and the actual AC provisioned in the network, "ietf-ac-ntw" leverages the AC references exposed by the "ietf-ac-svc" module. Furthermore, to bind Layer 2 VPN (L2VPN) or Layer 3 VPN (L3VPN) services with ACs, the "ietf-ac-glue" module augments the LxSM and LxNM with AC service references exposed by the "ietf-ac-svc" module and AC network references exposed by the "ietf-ac-ntw" module.</t>
    </section>
    <section anchor="sample-uses-of-the-data-models" numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-sample-uses-of-the-data-mod">Sample Uses of the Data Models</name>
      <section anchor="acs-terminated-by-one-or-multiple-customer-edges-ces" numbered="true" removeInRFC="false" toc="include" pn="section-4.1">
        <name slugifiedName="name-acs-terminated-by-one-or-mu">ACs Terminated by One or Multiple Customer Edges (CEs)</name>
        <t indent="0" pn="section-4.1-1"><xref target="uc" format="default" sectionFormat="of" derivedContent="Figure 2"/> depicts two target topology flavors that involve ACs. These topologies have the following characteristics:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.1-2">
          <li pn="section-4.1-2.1">
            <t indent="0" pn="section-4.1-2.1.1">A Customer Edge (CE) 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" format="default" sectionFormat="of" derivedContent="RFC9408"/>.</t>
          </li>
          <li pn="section-4.1-2.2">
            <t indent="0" pn="section-4.1-2.2.1">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" format="default" sectionFormat="of" derivedContent="RFC7665"/>).</t>
          </li>
          <li pn="section-4.1-2.3">
            <t indent="0" pn="section-4.1-2.3.1">A network provider may bind a single AC to one or multiple peer SAPs (e.g., CE1 and CE2 are tagged as peer SAPs for the same AC). For example, and as discussed in <xref target="RFC4364" format="default" sectionFormat="of" derivedContent="RFC4364"/>, multiple CEs can be attached to a PE over the same AC. This scenario is typically implemented when the Layer 2 infrastructure between the CE and the network is a multipoint service.</t>
          </li>
          <li pn="section-4.1-2.4">
            <t indent="0" pn="section-4.1-2.4.1">A single CE may terminate multiple ACs, which can be associated with the same bearer or distinct bearers (e.g., CE4).</t>
          </li>
          <li pn="section-4.1-2.5">
            <t indent="0" pn="section-4.1-2.5.1">Customers may request protection schemes in which the ACs associated with their endpoints are terminated by the same PE (e.g., CE3), distinct PEs (e.g., CE4), etc. The network provider uses this request to decide where to terminate the AC in the service provider network and also whether to enable specific capabilities (e.g., Virtual Router Redundancy Protocol (VRRP)).</t>
          </li>
        </ul>
        <figure anchor="uc" align="left" suppress-title="false" pn="figure-2">
          <name slugifiedName="name-examples-of-acs">Examples of ACs</name>
          <artset pn="section-4.1-3.1">
            <artwork type="svg" align="center" pn="section-4.1-3.1.1"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="304" width="512" viewBox="0 0 512 304" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,80 L 8,112" fill="none" stroke="black"/>
                <path d="M 8,160 L 8,192" fill="none" stroke="black"/>
                <path d="M 72,64 L 72,96" fill="none" stroke="black"/>
                <path d="M 72,144 L 72,176" fill="none" stroke="black"/>
                <path d="M 112,80 L 112,176" fill="none" stroke="black"/>
                <path d="M 176,112 L 176,144" fill="none" stroke="black"/>
                <path d="M 192,32 L 192,104" fill="none" stroke="black"/>
                <path d="M 192,152 L 192,224" fill="none" stroke="black"/>
                <path d="M 200,112 L 200,144" fill="none" stroke="black"/>
                <path d="M 280,208 L 280,240" fill="none" stroke="black"/>
                <path d="M 288,248 L 288,272" fill="none" stroke="black"/>
                <path d="M 304,208 L 304,240" fill="none" stroke="black"/>
                <path d="M 352,64 L 352,112" fill="none" stroke="black"/>
                <path d="M 352,144 L 352,192" fill="none" stroke="black"/>
                <path d="M 360,32 L 360,56" fill="none" stroke="black"/>
                <path d="M 360,200 L 360,224" fill="none" stroke="black"/>
                <path d="M 376,64 L 376,112" fill="none" stroke="black"/>
                <path d="M 376,144 L 376,192" fill="none" stroke="black"/>
                <path d="M 448,80 L 448,112" fill="none" stroke="black"/>
                <path d="M 448,160 L 448,192" fill="none" stroke="black"/>
                <path d="M 480,192 L 480,272" fill="none" stroke="black"/>
                <path d="M 504,64 L 504,96" fill="none" stroke="black"/>
                <path d="M 504,144 L 504,176" fill="none" stroke="black"/>
                <path d="M 192,32 L 360,32" fill="none" stroke="black"/>
                <path d="M 24,64 L 72,64" fill="none" stroke="black"/>
                <path d="M 352,64 L 376,64" fill="none" stroke="black"/>
                <path d="M 464,64 L 504,64" fill="none" stroke="black"/>
                <path d="M 72,80 L 112,80" fill="none" stroke="black"/>
                <path d="M 376,80 L 400,80" fill="none" stroke="black"/>
                <path d="M 424,80 L 448,80" fill="none" stroke="black"/>
                <path d="M 376,96 L 400,96" fill="none" stroke="black"/>
                <path d="M 424,96 L 448,96" fill="none" stroke="black"/>
                <path d="M 8,112 L 56,112" fill="none" stroke="black"/>
                <path d="M 176,112 L 200,112" fill="none" stroke="black"/>
                <path d="M 352,112 L 376,112" fill="none" stroke="black"/>
                <path d="M 448,112 L 488,112" fill="none" stroke="black"/>
                <path d="M 112,128 L 136,128" fill="none" stroke="black"/>
                <path d="M 160,128 L 176,128" fill="none" stroke="black"/>
                <path d="M 24,144 L 72,144" fill="none" stroke="black"/>
                <path d="M 176,144 L 200,144" fill="none" stroke="black"/>
                <path d="M 352,144 L 376,144" fill="none" stroke="black"/>
                <path d="M 464,144 L 504,144" fill="none" stroke="black"/>
                <path d="M 376,160 L 400,160" fill="none" stroke="black"/>
                <path d="M 424,160 L 448,160" fill="none" stroke="black"/>
                <path d="M 72,176 L 112,176" fill="none" stroke="black"/>
                <path d="M 376,176 L 400,176" fill="none" stroke="black"/>
                <path d="M 424,176 L 448,176" fill="none" stroke="black"/>
                <path d="M 8,192 L 56,192" fill="none" stroke="black"/>
                <path d="M 352,192 L 376,192" fill="none" stroke="black"/>
                <path d="M 448,192 L 488,192" fill="none" stroke="black"/>
                <path d="M 280,208 L 304,208" fill="none" stroke="black"/>
                <path d="M 192,224 L 280,224" fill="none" stroke="black"/>
                <path d="M 304,224 L 360,224" fill="none" stroke="black"/>
                <path d="M 280,240 L 304,240" fill="none" stroke="black"/>
                <path d="M 288,272 L 376,272" fill="none" stroke="black"/>
                <path d="M 400,272 L 480,272" fill="none" stroke="black"/>
                <path d="M 24,64 C 15.16936,64 8,71.16936 8,80" fill="none" stroke="black"/>
                <path d="M 464,64 C 455.16936,64 448,71.16936 448,80" fill="none" stroke="black"/>
                <path d="M 56,112 C 64.83064,112 72,104.83064 72,96" fill="none" stroke="black"/>
                <path d="M 488,112 C 496.83064,112 504,104.83064 504,96" fill="none" stroke="black"/>
                <path d="M 24,144 C 15.16936,144 8,151.16936 8,160" fill="none" stroke="black"/>
                <path d="M 464,144 C 455.16936,144 448,151.16936 448,160" fill="none" stroke="black"/>
                <path d="M 56,192 C 64.83064,192 72,184.83064 72,176" fill="none" stroke="black"/>
                <path d="M 488,192 C 496.83064,192 504,184.83064 504,176" fill="none" stroke="black"/>
                <g class="text">
                  <text x="412" y="68">(b1)</text>
                  <text x="412" y="84">AC</text>
                  <text x="40" y="100">CE1</text>
                  <text x="364" y="100">PE</text>
                  <text x="412" y="100">AC</text>
                  <text x="480" y="100">CE3</text>
                  <text x="412" y="116">(b2)</text>
                  <text x="148" y="132">AC</text>
                  <text x="188" y="132">PE</text>
                  <text x="272" y="132">Network</text>
                  <text x="360" y="132">|</text>
                  <text x="412" y="148">(b3)</text>
                  <text x="412" y="164">AC</text>
                  <text x="40" y="180">CE2</text>
                  <text x="364" y="180">PE</text>
                  <text x="412" y="180">AC</text>
                  <text x="480" y="180">CE4</text>
                  <text x="412" y="196">(b3)</text>
                  <text x="292" y="228">PE</text>
                  <text x="388" y="276">AC</text>
                  <text x="20" y="292">(bx)</text>
                  <text x="48" y="292">=</text>
                  <text x="84" y="292">bearer</text>
                  <text x="124" y="292">Id</text>
                  <text x="144" y="292">x</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center" pn="section-4.1-3.1.2">
                       .--------------------.
                       |                    |
 .------.              |                   .--.  (b1)   .-----.
|       +----.         |                   |  +---AC---+      |
|  CE1  |    |         |                   |PE+---AC---+  CE3 |
'------'     |       .--.                  '--'  (b2)  '-----'
             +---AC--+PE|     Network       |
 .------.    |       '--'                  .--.  (b3)   .-----.
|       |    |         |                   |  +---AC---+      |
|  CE2  +----'         |                   |PE+---AC---+  CE4 |
'------'               |                   '--'  (b3)  '---+-'
                       |          .--.      |              |
                       '----------+PE+------'              |
                                  '--'                     |
                                   |                       |
                                   '-----------AC----------'
(bx) = bearer Id x
</artwork>
          </artset>
        </figure>
        <t indent="0" pn="section-4.1-4">These ACs can be referenced when creating VPN services. Refer to the examples provided in <xref target="sec-example" format="default" sectionFormat="of" derivedContent="Appendix A"/> to illustrate how VPN services can be bound to ACs.</t>
      </section>
      <section anchor="sep" numbered="true" removeInRFC="false" toc="include" pn="section-4.2">
        <name slugifiedName="name-separate-ac-provisioning-fr">Separate AC Provisioning from Actual VPN Service Provisioning</name>
        <t indent="0" pn="section-4.2-1">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 AC. For example, a single AC may be used to host multiple connectivity services (e.g., L2VPN ("ietf-l2vpn-svc"), L3VPN ("ietf-l3vpn-svc"), Network Slice Service ("ietf-network-slice-service")). In order to avoid service interference and redundant information in various locations, a service provider may expose an interface to manage ACs network-wide using the modules in <xref target="RFC9834" format="default" sectionFormat="of" derivedContent="RFC9834"/>. Customers can request for an AC ("ietf-ac-svc") to be put in place and then refer to that AC when requesting VPN services that are bound to the AC ("ietf-ac-glue").</t>
        <t indent="0" pn="section-4.2-2">Also, internal references ("ietf-ac-ntw") used within a service provider network to implement ACs can be used by network controllers to glue the L2NM ("ietf-l2vpn-ntw") or the L3NM ("ietf-l3vpn-ntw") services with relevant ACs.</t>
        <t indent="0" pn="section-4.2-3"><xref target="_u-ex" format="default" sectionFormat="of" derivedContent="Figure 3"/> shows the positioning of the AC models in the overall service delivery process.</t>
        <figure anchor="_u-ex" align="left" suppress-title="false" pn="figure-3">
          <name slugifiedName="name-an-example-of-ac-models-usa">An Example of AC Models Usage</name>
          <artset pn="section-4.2-4.1">
            <artwork type="svg" align="center" pn="section-4.2-4.1.1"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="688" width="512" viewBox="0 0 512 688" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,608 L 8,624" fill="none" stroke="black"/>
                <path d="M 48,592 L 48,608" fill="none" stroke="black"/>
                <path d="M 96,480 L 96,496" fill="none" stroke="black"/>
                <path d="M 104,368 L 104,384" fill="none" stroke="black"/>
                <path d="M 120,576 L 120,640" fill="none" stroke="black"/>
                <path d="M 136,400 L 136,464" fill="none" stroke="black"/>
                <path d="M 136,512 L 136,528" fill="none" stroke="black"/>
                <path d="M 176,320 L 176,352" fill="none" stroke="black"/>
                <path d="M 176,480 L 176,496" fill="none" stroke="black"/>
                <path d="M 208,144 L 208,160" fill="none" stroke="black"/>
                <path d="M 208,256 L 208,272" fill="none" stroke="black"/>
                <path d="M 208,400 L 208,568" fill="none" stroke="black"/>
                <path d="M 232,368 L 232,384" fill="none" stroke="black"/>
                <path d="M 272,64 L 272,128" fill="none" stroke="black"/>
                <path d="M 272,176 L 272,240" fill="none" stroke="black"/>
                <path d="M 272,288 L 272,320" fill="none" stroke="black"/>
                <path d="M 296,368 L 296,384" fill="none" stroke="black"/>
                <path d="M 336,144 L 336,160" fill="none" stroke="black"/>
                <path d="M 336,256 L 336,272" fill="none" stroke="black"/>
                <path d="M 368,320 L 368,352" fill="none" stroke="black"/>
                <path d="M 368,400 L 368,568" fill="none" stroke="black"/>
                <path d="M 384,576 L 384,640" fill="none" stroke="black"/>
                <path d="M 424,368 L 424,384" fill="none" stroke="black"/>
                <path d="M 456,608 L 456,624" fill="none" stroke="black"/>
                <path d="M 496,592 L 496,608" fill="none" stroke="black"/>
                <path d="M 224,32 L 320,32" fill="none" stroke="black"/>
                <path d="M 224,64 L 320,64" fill="none" stroke="black"/>
                <path d="M 224,128 L 320,128" fill="none" stroke="black"/>
                <path d="M 224,176 L 320,176" fill="none" stroke="black"/>
                <path d="M 224,240 L 320,240" fill="none" stroke="black"/>
                <path d="M 224,288 L 320,288" fill="none" stroke="black"/>
                <path d="M 176,320 L 368,320" fill="none" stroke="black"/>
                <path d="M 120,352 L 216,352" fill="none" stroke="black"/>
                <path d="M 312,352 L 408,352" fill="none" stroke="black"/>
                <path d="M 120,400 L 216,400" fill="none" stroke="black"/>
                <path d="M 312,400 L 408,400" fill="none" stroke="black"/>
                <path d="M 112,464 L 160,464" fill="none" stroke="black"/>
                <path d="M 112,512 L 160,512" fill="none" stroke="black"/>
                <path d="M 120,576 L 384,576" fill="none" stroke="black"/>
                <path d="M 24,592 L 48,592" fill="none" stroke="black"/>
                <path d="M 472,592 L 496,592" fill="none" stroke="black"/>
                <path d="M 48,608 L 120,608" fill="none" stroke="black"/>
                <path d="M 384,608 L 456,608" fill="none" stroke="black"/>
                <path d="M 8,624 L 32,624" fill="none" stroke="black"/>
                <path d="M 456,624 L 480,624" fill="none" stroke="black"/>
                <path d="M 120,640 L 384,640" fill="none" stroke="black"/>
                <path d="M 224,32 C 215.16936,32 208,39.16936 208,48" fill="none" stroke="black"/>
                <path d="M 320,32 C 328.83064,32 336,39.16936 336,48" fill="none" stroke="black"/>
                <path d="M 224,64 C 215.16936,64 208,56.83064 208,48" fill="none" stroke="black"/>
                <path d="M 320,64 C 328.83064,64 336,56.83064 336,48" fill="none" stroke="black"/>
                <path d="M 224,128 C 215.16936,128 208,135.16936 208,144" fill="none" stroke="black"/>
                <path d="M 320,128 C 328.83064,128 336,135.16936 336,144" fill="none" stroke="black"/>
                <path d="M 224,176 C 215.16936,176 208,168.83064 208,160" fill="none" stroke="black"/>
                <path d="M 320,176 C 328.83064,176 336,168.83064 336,160" fill="none" stroke="black"/>
                <path d="M 224,240 C 215.16936,240 208,247.16936 208,256" fill="none" stroke="black"/>
                <path d="M 320,240 C 328.83064,240 336,247.16936 336,256" fill="none" stroke="black"/>
                <path d="M 224,288 C 215.16936,288 208,280.83064 208,272" fill="none" stroke="black"/>
                <path d="M 320,288 C 328.83064,288 336,280.83064 336,272" fill="none" stroke="black"/>
                <path d="M 120,352 C 111.16936,352 104,359.16936 104,368" fill="none" stroke="black"/>
                <path d="M 216,352 C 224.83064,352 232,359.16936 232,368" fill="none" stroke="black"/>
                <path d="M 312,352 C 303.16936,352 296,359.16936 296,368" fill="none" stroke="black"/>
                <path d="M 408,352 C 416.83064,352 424,359.16936 424,368" fill="none" stroke="black"/>
                <path d="M 120,400 C 111.16936,400 104,392.83064 104,384" fill="none" stroke="black"/>
                <path d="M 216,400 C 224.83064,400 232,392.83064 232,384" fill="none" stroke="black"/>
                <path d="M 312,400 C 303.16936,400 296,392.83064 296,384" fill="none" stroke="black"/>
                <path d="M 408,400 C 416.83064,400 424,392.83064 424,384" fill="none" stroke="black"/>
                <path d="M 112,464 C 103.16936,464 96,471.16936 96,480" fill="none" stroke="black"/>
                <path d="M 160,464 C 168.83064,464 176,471.16936 176,480" fill="none" stroke="black"/>
                <path d="M 112,512 C 103.16936,512 96,504.83064 96,496" fill="none" stroke="black"/>
                <path d="M 160,512 C 168.83064,512 176,504.83064 176,496" fill="none" stroke="black"/>
                <path d="M 24,592 C 15.16936,592 8,599.16936 8,608" fill="none" stroke="black"/>
                <path d="M 472,592 C 463.16936,592 456,599.16936 456,608" fill="none" stroke="black"/>
                <path d="M 32,624 C 40.83064,624 48,616.83064 48,608" fill="none" stroke="black"/>
                <path d="M 480,624 C 488.83064,624 496,616.83064 496,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="236" y="84">Models</text>
                  <text x="72" y="100">ietf-l2vpn-svc,</text>
                  <text x="200" y="100">ietf-l3vpn-svc,</text>
                  <text x="392" y="100">ietf-network-slice-service,</text>
                  <text x="100" y="116">ietf-ac-svc,</text>
                  <text x="208" y="116">ietf-ac-glue,</text>
                  <text x="296" y="116">and</text>
                  <text x="376" y="116">ietf-bearer-svc</text>
                  <text x="272" y="148">Service</text>
                  <text x="272" y="164">Orchestration</text>
                  <text x="112" y="196">Network</text>
                  <text x="172" y="196">Models</text>
                  <text x="72" y="212">ietf-l2vpn-ntw,</text>
                  <text x="200" y="212">ietf-l3vpn-ntw,</text>
                  <text x="336" y="212">ietf-sap-ntw,</text>
                  <text x="448" y="212">ietf-ac-glue,</text>
                  <text x="96" y="228">and</text>
                  <text x="160" y="228">ietf-ac-ntw</text>
                  <text x="264" y="260">Network</text>
                  <text x="272" y="276">Orchestration</text>
                  <text x="56" y="308">Network</text>
                  <text x="144" y="308">Configuration</text>
                  <text x="224" y="308">Model</text>
                  <text x="164" y="372">Domain</text>
                  <text x="364" y="372">Domain</text>
                  <text x="168" y="388">Orchestration</text>
                  <text x="360" y="388">Orchestration</text>
                  <text x="36" y="420">Device</text>
                  <text x="64" y="436">Configuration</text>
                  <text x="36" y="452">Models</text>
                  <text x="132" y="484">Config</text>
                  <text x="136" y="500">Manager</text>
                  <text x="156" y="548">NETCONF/CLI.</text>
                  <text x="288" y="548">...................</text>
                  <text x="376" y="548">.</text>
                  <text x="136" y="564">|</text>
                  <text x="84" y="596">Bearer</text>
                  <text x="420" y="596">Bearer</text>
                  <text x="28" y="612">CE1</text>
                  <text x="248" y="612">Network</text>
                  <text x="476" y="612">CE2</text>
                  <text x="28" y="660">Site</text>
                  <text x="56" y="660">A</text>
                  <text x="476" y="660">Site</text>
                  <text x="504" y="660">B</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center" pn="section-4.2-4.1.2">
                           .-------------.
                          |   Customer    |
                           '------+------'
          Customer Service Models |
  ietf-l2vpn-svc, ietf-l3vpn-svc, | ietf-network-slice-service,
       ietf-ac-svc, ietf-ac-glue, | and ietf-bearer-svc
                           .------+------.
                          |    Service    |
                          | Orchestration |
                           '------+------'
           Network Models         |
  ietf-l2vpn-ntw, ietf-l3vpn-ntw, | ietf-sap-ntw, ietf-ac-glue,
           and ietf-ac-ntw        |
                           .------+------.
                          |   Network     |
                          | Orchestration |
                           '------+------'
    Network Configuration Model   |
                      .-----------+-----------.
                      |                       |
              .-------+-----.         .-------+-----.
             |    Domain     |       |     Domain    |
             | Orchestration |       | Orchestration |
              '--+--------+-'         '-------+-----'
  Device         |        |                   |
  Configuration  |        |                   |
  Models         |        |                   |
             .---+---.    |                   |
            | Config  |   |                   |
            | Manager |   |                   |
             '---+---'    |                   |
                 |        |                   |
              NETCONF/CLI.......................
                 |        |                   |
               .--------------------------------.
  .---. Bearer |                                | Bearer  .---.
 |CE1 +--------+            Network             +--------+ CE2|
 '---'         |                                |        '---'
               '--------------------------------'
  Site A                                                  Site B
</artwork>
          </artset>
        </figure>
      </section>
    </section>
    <section anchor="module-tree-structure" numbered="true" removeInRFC="false" toc="include" pn="section-5">
      <name slugifiedName="name-module-tree-structure">Module Tree Structure</name>
      <t indent="0" pn="section-5-1"><xref target="RFC8299" format="default" sectionFormat="of" derivedContent="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 AC with both Layer 2 and Layer 3 properties per <xref target="RFC9834" format="default" sectionFormat="of" derivedContent="RFC9834"/>. <xref target="RFC8466" format="default" sectionFormat="of" derivedContent="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 AC with  Layer 2 properties <xref target="RFC9834" format="default" sectionFormat="of" derivedContent="RFC9834"/>. Similarly, 'vpn-network-access' defined in both <xref target="RFC9182" format="default" sectionFormat="of" derivedContent="RFC9182"/> and <xref target="RFC9291" format="default" sectionFormat="of" derivedContent="RFC9291"/> is mapped to an AC per <xref target="RFC9834" format="default" sectionFormat="of" derivedContent="RFC9834"/> or <xref target="RFC9835" format="default" sectionFormat="of" derivedContent="RFC9835"/>.</t>
      <t indent="0" pn="section-5-2">As such, ACs created using the "ietf-ac-svc" module <xref target="RFC9834" format="default" sectionFormat="of" derivedContent="RFC9834"/> can be referenced in other
VPN-related modules (e.g., LxSM and LxNM). Also, ACs managed using the "ietf-ac-ntw" module <xref target="RFC9835" format="default" sectionFormat="of" derivedContent="RFC9835"/> can be referenced in VPN-related network modules (mainly, the LxNM). The required augmentations to that aim are shown in <xref target="tree" format="default" sectionFormat="of" derivedContent="Figure 4"/>.</t>
      <figure anchor="tree" align="left" suppress-title="false" pn="figure-4">
        <name slugifiedName="name-ac-glue-tree-structure">AC Glue Tree Structure</name>
        <sourcecode type="yangtree" markers="false" pn="section-5-3.1">
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?   -&gt; /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?   -&gt; /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?   -&gt; /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?   -&gt; /nw:networks/network/network-id
</sourcecode>
      </figure>
      <t indent="0" pn="section-5-4">When an AC is referenced within a specific network access, that AC information takes precedence over any overlapping information that is also enclosed for this network access.</t>
      <aside pn="section-5-5">
        <t indent="0" pn="section-5-5.1">This approach is consistent with the design in <xref target="I-D.ietf-teas-ietf-network-slice-nbi-yang" format="default" sectionFormat="of" derivedContent="YANG-NSS"/> where an AC service reference, called 'ac-svc-ref', is used to indicate the names of AC services. As per <xref target="I-D.ietf-teas-ietf-network-slice-nbi-yang" format="default" sectionFormat="of" derivedContent="YANG-NSS"/>, when both 'ac-svc-ref' and the attributes of 'attachment-circuits' are defined, the 'ac-svc-ref' takes precedence.</t>
      </aside>
      <t indent="0" pn="section-5-6">The "ietf-ac-glue" 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" format="default" sectionFormat="of" derivedContent="Appendix A.1"/> illustrates how an AC reference can be included as part of a specific VPN network access, while <xref target="ref-outside-access" format="default" sectionFormat="of" derivedContent="Appendix A.2"/> shows how AC references can be indicated outside individual VPN network access entries.</t>
    </section>
    <section anchor="sec-glue" numbered="true" removeInRFC="false" toc="include" pn="section-6">
      <name slugifiedName="name-the-ac-glue-ietf-ac-glue-ya">The AC Glue ("ietf-ac-glue") YANG Module</name>
      <t indent="0" pn="section-6-1">This modules augments the L2SM <xref target="RFC8466" format="default" sectionFormat="of" derivedContent="RFC8466"/>, the L3SM <xref target="RFC8299" format="default" sectionFormat="of" derivedContent="RFC8299"/>, the L2NM <xref target="RFC9291" format="default" sectionFormat="of" derivedContent="RFC9291"/>, and the L3NM <xref target="RFC9182" format="default" sectionFormat="of" derivedContent="RFC9182"/>.</t>
      <t indent="0" pn="section-6-2">This module uses references defined in <xref target="RFC9834" format="default" sectionFormat="of" derivedContent="RFC9834"/> and <xref target="RFC9835" format="default" sectionFormat="of" derivedContent="RFC9835"/>.</t>
      <sourcecode type="yang" name="ietf-ac-glue@2025-09-29.yang" markers="true" pn="section-6-3">
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 9834: YANG Data Models for Bearers and Attachment
                 Circuits as a Service (ACaaS)";
  }
  import ietf-ac-ntw {
    prefix ac-ntw;
    reference
      "RFC 9835: A Network YANG Data Model for Attachment Circuits";
  }

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

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

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

  revision 2025-09-29 {
    description
      "Initial revision.";
    reference
      "RFC 9836: 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 AC.";
  }

  grouping single-ac-svc-ref {
    description
      "A grouping with a 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 {
      description
        "A reference to the AC that was provisioned using the AC
         network module.";
      uses ac-ntw:attachment-circuit-reference;
    }
  }

  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 accesses with AC provisioning
       details.  Concretely, it binds a site to a set of ACs with
       Layer 2 properties that were created using the ACaaS module.";
    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 AC provisioning
       details.  Concretely, it glues a 'site-network-access'
       to an AC with Layer 2 properties that was created using the
       ACaaS module.

       The ACaaS information takes precedence over any overlapping
       information that is also provided for a site network access.";
    uses single-ac-svc-ref;
  }

  augment "/l3vpn-svc:l3vpn-svc"
        + "/l3vpn-svc:sites/l3vpn-svc:site"
        + "/l3vpn-svc:site-network-accesses" {
    description
      "Augments VPN site network accesses with AC provisioning
       details.  Concretely, it binds a site to a set of ACs with
       both Layer 2 and Layer 3 properties that were created using
       the ACaaS module.";
    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 AC provisioning
       details.  Concretely, it glues a 'site-network-access' to an
       AC with both Layer 2 and Layer 3 properties that was created
       using the ACaaS module.

       The ACaaS information takes precedence over any overlapping
       information that is also provided for a site network access.";
    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 accesses with both service and network
       AC provisioning details.  Concretely, it binds a site to (1)
       a set of ACs with Layer 2 properties that were created using
       the ACaaS module and (2) a set of ACs with Layer 2 properties
       that were provisioned using the AC network model.";
    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.  Concretely, it glues a VPN network
       access to (1) an AC with Layer 2 properties
       that was created using the ACaaS module and (2) an AC with
       Layer 2 properties that was created using the AC network
       module.

       The AC service and network information takes precedence over
       any overlapping information that is also provided for a VPN
       network access.";
    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 accesses with both service and network
       AC provisioning details.  Concretely, it binds a site to (1)
       a set of ACs with both Layer 2 and Layer 3  properties that
       were created using the ACaaS module and (2) a set of ACs with
       both Layer 2 and Layer 3 properties that were provisioned
       using the AC network model.";
    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.  Concretely, it glues a VPN network
       access to (1) an AC with both Layer 2 and Layer 3 properties
       that was created using the ACaaS module and (2) an AC with
       both Layer 2 and Layer 3 properties that was created using the
       AC network module.

       The AC service and network information takes precedence over
       any overlapping information that is also provided for a VPN
       network access.";
    uses single-ac-svc-ntw-ref;
  }
}
</sourcecode>
    </section>
    <section anchor="security-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-7">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-7-1">This section is modeled after the template described in <xref section="3.7" sectionFormat="of" target="I-D.ietf-netmod-rfc8407bis" format="default" derivedLink="https://datatracker.ietf.org/doc/html/draft-ietf-netmod-rfc8407bis-22#section-3.7" derivedContent="YANG-GUIDELINES"/>.</t>
      <t indent="0" pn="section-7-2">The "ietf-ac-common" YANG module defines a data model that is
designed to be accessed via YANG-based management protocols, such as
NETCONF <xref target="RFC6241" format="default" sectionFormat="of" derivedContent="RFC6241"/> and RESTCONF <xref target="RFC8040" format="default" sectionFormat="of" derivedContent="RFC8040"/>. These protocols have to
use a secure transport layer (e.g., SSH <xref target="RFC4252" format="default" sectionFormat="of" derivedContent="RFC4252"/>, TLS <xref target="RFC8446" format="default" sectionFormat="of" derivedContent="RFC8446"/>, and
QUIC <xref target="RFC9000" format="default" sectionFormat="of" derivedContent="RFC9000"/>) and have to use mutual authentication.</t>
      <t indent="0" pn="section-7-3">The Network Configuration Access Control Model (NACM) <xref target="RFC8341" format="default" sectionFormat="of" derivedContent="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 indent="0" pn="section-7-4">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).  All writable data nodes are likely to be reasonably 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.
   The following subtrees and data nodes have particular
   sensitivities/vulnerabilities:</t>
      <dl spacing="normal" newline="false" indent="3" pn="section-7-5">
        <dt pn="section-7-5.1">'ac-svc-ref' and 'ac-ntw-ref':</dt>
        <dd pn="section-7-5.2">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.
        </dd>
      </dl>
      <t indent="0" pn="section-7-6">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 spacing="normal" newline="false" indent="3" pn="section-7-7">
        <dt pn="section-7-7.1">'ac-svc-ref' and 'ac-ntw-ref':</dt>
        <dd pn="section-7-7.2">
          <t indent="0" pn="section-7-7.2.1">These references do not expose privacy-related
        information per se; however, 'ac-svc-ref' may be used to track the set of VPN
        instances in which a given customer is involved.</t>
          <t indent="0" pn="section-7-7.2.2">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" numbered="true" removeInRFC="false" toc="include" pn="section-8">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-8-1">IANA has registered the following URI in the "ns" subregistry within
   the "IETF XML Registry" <xref target="RFC3688" format="default" sectionFormat="of" derivedContent="RFC3688"/>:</t>
      <dl spacing="compact" newline="false" indent="3" pn="section-8-2">
        <dt pn="section-8-2.1">URI:</dt>
        <dd pn="section-8-2.2">urn:ietf:params:xml:ns:yang:ietf-ac-glue</dd>
        <dt pn="section-8-2.3">Registrant Contact:</dt>
        <dd pn="section-8-2.4">The IESG.</dd>
        <dt pn="section-8-2.5">XML:</dt>
        <dd pn="section-8-2.6">N/A; the requested URI is an XML namespace.</dd>
      </dl>
      <t indent="0" pn="section-8-3">IANA has registered the following YANG module in the "YANG Module
   Names" registry <xref target="RFC6020" format="default" sectionFormat="of" derivedContent="RFC6020"/> within the "YANG Parameters" registry group:</t>
      <dl spacing="compact" newline="false" indent="3" pn="section-8-4">
        <dt pn="section-8-4.1">Name:</dt>
        <dd pn="section-8-4.2">ietf-ac-glue</dd>
        <dt pn="section-8-4.3">Maintained by IANA?</dt>
        <dd pn="section-8-4.4">N</dd>
        <dt pn="section-8-4.5">Namespace:</dt>
        <dd pn="section-8-4.6">urn:ietf:params:xml:ns:yang:ietf-ac-glue</dd>
        <dt pn="section-8-4.7">Prefix:</dt>
        <dd pn="section-8-4.8">ac-glue</dd>
        <dt pn="section-8-4.9">Reference:</dt>
        <dd pn="section-8-4.10">RFC 9836</dd>
      </dl>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-netmod-rfc8407bis" to="YANG-GUIDELINES"/>
    <displayreference target="I-D.ietf-teas-ietf-network-slice-nbi-yang" to="YANG-NSS"/>
    <references anchor="sec-combined-references" pn="section-9">
      <name slugifiedName="name-references">References</name>
      <references anchor="sec-normative-references" pn="section-9.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC3688" target="https://www.rfc-editor.org/info/rfc3688" quoteTitle="true" derivedAnchor="RFC3688">
          <front>
            <title>The IETF XML Registry</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <date month="January" year="2004"/>
            <abstract>
              <t indent="0">This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="81"/>
          <seriesInfo name="RFC" value="3688"/>
          <seriesInfo name="DOI" value="10.17487/RFC3688"/>
        </reference>
        <reference anchor="RFC6020" target="https://www.rfc-editor.org/info/rfc6020" quoteTitle="true" derivedAnchor="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 indent="0">YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6020"/>
          <seriesInfo name="DOI" value="10.17487/RFC6020"/>
        </reference>
        <reference anchor="RFC8299" target="https://www.rfc-editor.org/info/rfc8299" quoteTitle="true" derivedAnchor="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 indent="0">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 indent="0">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="RFC8341" target="https://www.rfc-editor.org/info/rfc8341" quoteTitle="true" derivedAnchor="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 indent="0">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 indent="0">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="RFC8342" target="https://www.rfc-editor.org/info/rfc8342" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC8466" target="https://www.rfc-editor.org/info/rfc8466" quoteTitle="true" derivedAnchor="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 indent="0">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 indent="0">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 indent="0">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="RFC9182" target="https://www.rfc-editor.org/info/rfc9182" quoteTitle="true" derivedAnchor="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 indent="0">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 indent="0">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="RFC9291" target="https://www.rfc-editor.org/info/rfc9291" quoteTitle="true" derivedAnchor="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 indent="0">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 indent="0">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="RFC9834" target="https://www.rfc-editor.org/info/rfc9834" quoteTitle="true" derivedAnchor="RFC9834">
          <front>
            <title>YANG Data Models for Bearers and Attachment Circuits as a Service (ACaaS)</title>
            <author initials="M." surname="Boucadair" fullname="Mohamed Boucadair" role="editor">
              <organization showOnFrontPage="true">Orange</organization>
            </author>
            <author initials="R." surname="Roberts" fullname="Richard Roberts" role="editor">
              <organization showOnFrontPage="true">Juniper</organization>
            </author>
            <author initials="O." surname="Gonzalez de Dios" fullname="Oscar Gonzalez de Dios">
              <organization showOnFrontPage="true">Telefonica</organization>
            </author>
            <author initials="S." surname="Barguil" fullname="Samier Barguil">
              <organization showOnFrontPage="true">Nokia</organization>
            </author>
            <author initials="B." surname="Wu" fullname="Bo Wu">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <date month="September" year="2025"/>
          </front>
          <seriesInfo name="RFC" value="9834"/>
          <seriesInfo name="DOI" value="10.17487/RFC9834"/>
        </reference>
        <reference anchor="RFC9835" target="https://www.rfc-editor.org/info/rfc9835" quoteTitle="true" derivedAnchor="RFC9835">
          <front>
            <title>A Network YANG Data Model for Attachment Circuits</title>
            <author initials="M." surname="Boucadair" fullname="Mohamed Boucadair" role="editor">
              <organization showOnFrontPage="true">Orange</organization>
            </author>
            <author initials="R." surname="Roberts" fullname="Richard Roberts">
              <organization showOnFrontPage="true">Juniper</organization>
            </author>
            <author initials="O." surname="Gonzalez de Dios" fullname="Oscar Gonzalez de Dios">
              <organization showOnFrontPage="true">Telefonica</organization>
            </author>
            <author initials="S." surname="Barguil" fullname="Samier Barguil">
              <organization showOnFrontPage="true">Nokia</organization>
            </author>
            <author initials="B." surname="Wu" fullname="Bo Wu">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <date month="September" year="2025"/>
          </front>
          <seriesInfo name="RFC" value="9835"/>
          <seriesInfo name="DOI" value="10.17487/RFC9835"/>
        </reference>
      </references>
      <references anchor="sec-informative-references" pn="section-9.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="RFC4252" target="https://www.rfc-editor.org/info/rfc4252" quoteTitle="true" derivedAnchor="RFC4252">
          <front>
            <title>The Secure Shell (SSH) Authentication Protocol</title>
            <author fullname="T. Ylonen" initials="T." surname="Ylonen"/>
            <author fullname="C. Lonvick" initials="C." role="editor" surname="Lonvick"/>
            <date month="January" year="2006"/>
            <abstract>
              <t indent="0">The Secure Shell Protocol (SSH) is a protocol for secure remote login and other secure network services over an insecure network. This document describes the SSH authentication protocol framework and public key, password, and host-based client authentication methods. Additional authentication methods are described in separate documents. The SSH authentication protocol runs on top of the SSH transport layer protocol and provides a single authenticated tunnel for the SSH connection protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4252"/>
          <seriesInfo name="DOI" value="10.17487/RFC4252"/>
        </reference>
        <reference anchor="RFC4364" target="https://www.rfc-editor.org/info/rfc4364" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC4664" target="https://www.rfc-editor.org/info/rfc4664" quoteTitle="true" derivedAnchor="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 indent="0">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>
        <reference anchor="RFC6241" target="https://www.rfc-editor.org/info/rfc6241" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC7665" target="https://www.rfc-editor.org/info/rfc7665" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC8040" target="https://www.rfc-editor.org/info/rfc8040" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC8340" target="https://www.rfc-editor.org/info/rfc8340" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC8446" target="https://www.rfc-editor.org/info/rfc8446" quoteTitle="true" derivedAnchor="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 indent="0">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 indent="0">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="RFC9000" target="https://www.rfc-editor.org/info/rfc9000" quoteTitle="true" derivedAnchor="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t indent="0">This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="RFC9408" target="https://www.rfc-editor.org/info/rfc9408" quoteTitle="true" derivedAnchor="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 indent="0">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 indent="0">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="RFC9833" target="https://www.rfc-editor.org/info/rfc9833" quoteTitle="true" derivedAnchor="RFC9833">
          <front>
            <title>A Common YANG Data Model for Attachment Circuits</title>
            <author initials="M." surname="Boucadair" fullname="Mohamed Boucadair" role="editor">
              <organization showOnFrontPage="true">Orange</organization>
            </author>
            <author initials="R." surname="Roberts" fullname="Richard Roberts" role="editor">
              <organization showOnFrontPage="true">Juniper</organization>
            </author>
            <author initials="O." surname="Gonzalez de Dios" fullname="Oscar Gonzalez de Dios">
              <organization showOnFrontPage="true">Telefonica</organization>
            </author>
            <author initials="S." surname="Barguil" fullname="Samier Barguil">
              <organization showOnFrontPage="true">Nokia</organization>
            </author>
            <author initials="B." surname="Wu" fullname="Bo Wu">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <date month="September" year="2025"/>
          </front>
          <seriesInfo name="RFC" value="9833"/>
          <seriesInfo name="DOI" value="10.17487/RFC9833"/>
        </reference>
        <reference anchor="I-D.ietf-netmod-rfc8407bis" target="https://datatracker.ietf.org/doc/html/draft-ietf-netmod-rfc8407bis-22" quoteTitle="true" derivedAnchor="YANG-GUIDELINES">
          <front>
            <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
            <author initials="A." surname="Bierman" fullname="Andy Bierman">
              <organization showOnFrontPage="true">YumaWorks</organization>
            </author>
            <author initials="M." surname="Boucadair" fullname="Mohamed Boucadair" role="editor">
              <organization showOnFrontPage="true">Orange</organization>
            </author>
            <author initials="Q." surname="Wu" fullname="Qin Wu">
              <organization showOnFrontPage="true">Huawei</organization>
            </author>
            <date month="January" day="14" year="2025"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-rfc8407bis-22"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-teas-ietf-network-slice-nbi-yang" target="https://datatracker.ietf.org/doc/html/draft-ietf-teas-ietf-network-slice-nbi-yang-25" quoteTitle="true" derivedAnchor="YANG-NSS">
          <front>
            <title>A YANG Data Model for the RFC 9543 Network Slice Service</title>
            <author fullname="Bo Wu" initials="B." surname="Wu">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author fullname="Dhruv Dhody" initials="D." surname="Dhody">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author fullname="Reza Rokui" initials="R." surname="Rokui">
              <organization showOnFrontPage="true">Ciena</organization>
            </author>
            <author fullname="Tarek Saad" initials="T." surname="Saad">
              <organization showOnFrontPage="true">Cisco Systems, Inc</organization>
            </author>
            <author fullname="John Mullooly" initials="J." surname="Mullooly">
              <organization showOnFrontPage="true">Cisco Systems, Inc</organization>
            </author>
            <date day="9" month="May" year="2025"/>
            <abstract>
              <t indent="0">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-25"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
      </references>
    </references>
    <section anchor="sec-example" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-examples">Examples</name>
      <section anchor="ref-within-access" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.1">
        <name slugifiedName="name-a-service-ac-reference-with">A Service AC Reference Within the VPN Network Access</name>
        <t indent="0" pn="section-appendix.a.1-1">Let us consider the example depicted in <xref target="ex-vpws" format="default" sectionFormat="of" derivedContent="Figure 5"/>, which is inspired from <xref section="2.1" sectionFormat="of" target="RFC4664" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4664#section-2.1" derivedContent="RFC4664"/>. Each PE is servicing two CEs. Let us also assume that the service references to identify ACs with these CEs are shown in <xref target="ex-vpws" format="default" sectionFormat="of" derivedContent="Figure 5"/>.</t>
        <figure anchor="ex-vpws" align="left" suppress-title="false" pn="figure-5">
          <name slugifiedName="name-vpws-topology-example">VPWS Topology Example</name>
          <artset pn="section-appendix.a.1-2.1">
            <artwork type="svg" align="center" pn="section-appendix.a.1-2.1.1"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="240" width="464" viewBox="0 0 464 240" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,48 L 8,96" fill="none" stroke="black"/>
                <path d="M 8,176 L 8,224" fill="none" stroke="black"/>
                <path d="M 56,32 L 56,80" fill="none" stroke="black"/>
                <path d="M 56,160 L 56,208" fill="none" stroke="black"/>
                <path d="M 80,64 L 80,96" fill="none" stroke="black"/>
                <path d="M 80,160 L 80,192" fill="none" stroke="black"/>
                <path d="M 120,80 L 120,176" fill="none" stroke="black"/>
                <path d="M 168,80 L 168,104" fill="none" stroke="black"/>
                <path d="M 168,120 L 168,176" fill="none" stroke="black"/>
                <path d="M 200,80 L 200,176" fill="none" stroke="black"/>
                <path d="M 248,80 L 248,176" fill="none" stroke="black"/>
                <path d="M 296,80 L 296,176" fill="none" stroke="black"/>
                <path d="M 344,80 L 344,176" fill="none" stroke="black"/>
                <path d="M 384,64 L 384,96" fill="none" stroke="black"/>
                <path d="M 384,160 L 384,192" fill="none" stroke="black"/>
                <path d="M 408,48 L 408,96" fill="none" stroke="black"/>
                <path d="M 408,176 L 408,224" fill="none" stroke="black"/>
                <path d="M 456,32 L 456,80" fill="none" stroke="black"/>
                <path d="M 456,160 L 456,208" fill="none" stroke="black"/>
                <path d="M 24,32 L 56,32" fill="none" stroke="black"/>
                <path d="M 424,32 L 456,32" fill="none" stroke="black"/>
                <path d="M 64,64 L 80,64" fill="none" stroke="black"/>
                <path d="M 384,64 L 400,64" fill="none" stroke="black"/>
                <path d="M 120,80 L 168,80" fill="none" stroke="black"/>
                <path d="M 200,80 L 248,80" fill="none" stroke="black"/>
                <path d="M 296,80 L 344,80" fill="none" stroke="black"/>
                <path d="M 8,96 L 40,96" fill="none" stroke="black"/>
                <path d="M 80,96 L 112,96" fill="none" stroke="black"/>
                <path d="M 128,96 L 152,96" fill="none" stroke="black"/>
                <path d="M 312,96 L 384,96" fill="none" stroke="black"/>
                <path d="M 408,96 L 440,96" fill="none" stroke="black"/>
                <path d="M 168,112 L 192,112" fill="none" stroke="black"/>
                <path d="M 208,112 L 240,112" fill="none" stroke="black"/>
                <path d="M 256,112 L 288,112" fill="none" stroke="black"/>
                <path d="M 176,126 L 192,126" fill="none" stroke="black"/>
                <path d="M 176,130 L 192,130" fill="none" stroke="black"/>
                <path d="M 208,126 L 240,126" fill="none" stroke="black"/>
                <path d="M 208,130 L 240,130" fill="none" stroke="black"/>
                <path d="M 256,126 L 288,126" fill="none" stroke="black"/>
                <path d="M 256,130 L 288,130" fill="none" stroke="black"/>
                <path d="M 176,144 L 192,144" fill="none" stroke="black"/>
                <path d="M 208,144 L 240,144" fill="none" stroke="black"/>
                <path d="M 256,144 L 288,144" fill="none" stroke="black"/>
                <path d="M 24,160 L 56,160" fill="none" stroke="black"/>
                <path d="M 80,160 L 112,160" fill="none" stroke="black"/>
                <path d="M 128,160 L 152,160" fill="none" stroke="black"/>
                <path d="M 312,160 L 336,160" fill="none" stroke="black"/>
                <path d="M 352,160 L 384,160" fill="none" stroke="black"/>
                <path d="M 424,160 L 456,160" fill="none" stroke="black"/>
                <path d="M 120,176 L 168,176" fill="none" stroke="black"/>
                <path d="M 200,176 L 248,176" fill="none" stroke="black"/>
                <path d="M 296,176 L 344,176" fill="none" stroke="black"/>
                <path d="M 64,192 L 80,192" fill="none" stroke="black"/>
                <path d="M 384,192 L 400,192" fill="none" stroke="black"/>
                <path d="M 8,224 L 40,224" fill="none" stroke="black"/>
                <path d="M 408,224 L 440,224" fill="none" stroke="black"/>
                <path d="M 24,32 C 15.16936,32 8,39.16936 8,48" fill="none" stroke="black"/>
                <path d="M 424,32 C 415.16936,32 408,39.16936 408,48" fill="none" stroke="black"/>
                <path d="M 40,96 C 48.83064,96 56,88.83064 56,80" fill="none" stroke="black"/>
                <path d="M 440,96 C 448.83064,96 456,88.83064 456,80" fill="none" stroke="black"/>
                <path d="M 24,160 C 15.16936,160 8,167.16936 8,176" fill="none" stroke="black"/>
                <path d="M 424,160 C 415.16936,160 408,167.16936 408,176" fill="none" stroke="black"/>
                <path d="M 40,224 C 48.83064,224 56,216.83064 56,208" fill="none" stroke="black"/>
                <path d="M 440,224 C 448.83064,224 456,216.83064 456,208" fill="none" stroke="black"/>
                <g class="text">
                  <text x="88" y="52">AC1</text>
                  <text x="368" y="52">AC2</text>
                  <text x="32" y="68">CE1</text>
                  <text x="152" y="68">2001:db8:100::1</text>
                  <text x="312" y="68">2001:db8:200::1</text>
                  <text x="432" y="68">CE2</text>
                  <text x="224" y="100">P</text>
                  <text x="144" y="116">VPWS\</text>
                  <text x="320" y="116">/VPWS</text>
                  <text x="144" y="132">PE1</text>
                  <text x="320" y="132">PE2</text>
                  <text x="160" y="148">/</text>
                  <text x="308" y="148">\\</text>
                  <text x="32" y="196">CE3</text>
                  <text x="432" y="196">CE4</text>
                  <text x="88" y="212">AC3</text>
                  <text x="376" y="212">AC4</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center" pn="section-appendix.a.1-2.1.2">
 .----.                                            .----.
|     |  AC1                                AC2   |     |
| CE1 |--+ 2001:db8:100::1     2001:db8:200::1 +--| CE2 |
|     |  |    .-----.   .-----.     .-----.    |  |     |
'----'   +----|---- |   |  P  |     | ----+----+  '----'
              |VPWS\----|-----|-----|/VPWS|
              | PE1 |===|=====|=====| PE2 |
              |    /|---|-----|-----|\\   |
 .----.  +----|---- |   |     |     | ----|----+   .----.
|     |  |    '-----'   '-----'     '-----'    |  |     |
| CE3 |--+                                     +--| CE4 |
|     |  AC3                                 AC4  |     |
'----'                                            '----'
</artwork>
          </artset>
        </figure>
        <t indent="0" pn="section-appendix.a.1-3">As shown in <xref target="ex-vpws-query" format="default" sectionFormat="of" derivedContent="Figure 6"/>, 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" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4664#section-3.1.1" derivedContent="RFC4664"/>).</t>
        <figure anchor="ex-vpws-query" align="left" suppress-title="false" pn="figure-6">
          <name slugifiedName="name-example-of-vpws-creation-wi">Example of VPWS Creation with AC Service References</name>
          <sourcecode type="json" markers="false" pn="section-appendix.a.1-4.1">
=============== 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"
                                 }
                              }
                           ]
                        }
                     }
                  ]
               }
            }
         ]
      }
   }
}
</sourcecode>
        </figure>
      </section>
      <section anchor="ref-outside-access" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.2">
        <name slugifiedName="name-network-and-service-ac-refe">Network and Service AC References</name>
        <t indent="0" pn="section-appendix.a.2-1">Let us consider the example depicted in <xref target="ex-topo" format="default" sectionFormat="of" derivedContent="Figure 7"/> with two customer termination points (CE1 and CE2). Let us also assume that the bearers to attach these CEs to the service provider network are already in place. References to identify these bearers are shown in <xref target="ex-topo" format="default" sectionFormat="of" derivedContent="Figure 7"/>.</t>
        <figure anchor="ex-topo" align="left" suppress-title="false" pn="figure-7">
          <name slugifiedName="name-topology-example">Topology Example</name>
          <artset pn="section-appendix.a.2-2.1">
            <artwork type="svg" align="center" pn="section-appendix.a.2-2.1.1"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="128" width="488" viewBox="0 0 488 128" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,64 L 8,80" fill="none" stroke="black"/>
                <path d="M 48,48 L 48,64" fill="none" stroke="black"/>
                <path d="M 80,72 L 80,96" fill="none" stroke="black"/>
                <path d="M 104,32 L 104,80" fill="none" stroke="black"/>
                <path d="M 152,32 L 152,80" fill="none" stroke="black"/>
                <path d="M 184,32 L 184,112" fill="none" stroke="black"/>
                <path d="M 304,32 L 304,112" fill="none" stroke="black"/>
                <path d="M 336,32 L 336,80" fill="none" stroke="black"/>
                <path d="M 384,32 L 384,80" fill="none" stroke="black"/>
                <path d="M 416,72 L 416,96" fill="none" stroke="black"/>
                <path d="M 440,64 L 440,80" fill="none" stroke="black"/>
                <path d="M 480,48 L 480,64" fill="none" stroke="black"/>
                <path d="M 104,32 L 152,32" fill="none" stroke="black"/>
                <path d="M 184,32 L 304,32" fill="none" stroke="black"/>
                <path d="M 336,32 L 384,32" fill="none" stroke="black"/>
                <path d="M 24,48 L 48,48" fill="none" stroke="black"/>
                <path d="M 152,46 L 184,46" fill="none" stroke="black"/>
                <path d="M 152,50 L 184,50" fill="none" stroke="black"/>
                <path d="M 304,46 L 336,46" fill="none" stroke="black"/>
                <path d="M 304,50 L 336,50" fill="none" stroke="black"/>
                <path d="M 456,48 L 480,48" fill="none" stroke="black"/>
                <path d="M 48,64 L 104,64" fill="none" stroke="black"/>
                <path d="M 384,64 L 440,64" fill="none" stroke="black"/>
                <path d="M 8,80 L 32,80" fill="none" stroke="black"/>
                <path d="M 104,80 L 152,80" fill="none" stroke="black"/>
                <path d="M 336,80 L 384,80" fill="none" stroke="black"/>
                <path d="M 440,80 L 464,80" fill="none" stroke="black"/>
                <path d="M 184,112 L 304,112" fill="none" stroke="black"/>
                <path d="M 24,48 C 15.16936,48 8,55.16936 8,64" fill="none" stroke="black"/>
                <path d="M 456,48 C 447.16936,48 440,55.16936 440,64" fill="none" stroke="black"/>
                <path d="M 32,80 C 40.83064,80 48,72.83064 48,64" fill="none" stroke="black"/>
                <path d="M 464,80 C 472.83064,80 480,72.83064 480,64" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="424,72 412,66.4 412,77.6" fill="black" transform="rotate(270,416,72)"/>
                <polygon class="arrowhead" points="88,72 76,66.4 76,77.6" fill="black" transform="rotate(270,80,72)"/>
                <g class="text">
                  <text x="128" y="52">PE1</text>
                  <text x="360" y="52">PE2</text>
                  <text x="32" y="68">CE1</text>
                  <text x="128" y="68">"450"</text>
                  <text x="244" y="68">MPLS</text>
                  <text x="360" y="68">"451"</text>
                  <text x="464" y="68">CE2</text>
                  <text x="244" y="100">Core</text>
                  <text x="80" y="116">Bearer:1234</text>
                  <text x="424" y="116">Bearer:5678</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center" pn="section-appendix.a.2-2.1.2">
            .-----.   .--------------.   .-----.
 .---.      | PE1 +===+              +===+ PE2 |       .---.
| CE1+------+"450"|   |     MPLS     |   |"451"+------+ CE2|
'---'    ^  '-----'   |              |   '-----'   ^  '---'
         |            |     Core     |             |
    Bearer:1234       '--------------'         Bearer:5678
</artwork>
          </artset>
        </figure>
        <t indent="0" pn="section-appendix.a.2-3">The AC service model <xref target="RFC9834" format="default" sectionFormat="of" derivedContent="RFC9834"/> can be used by the provider to manage and expose the ACs over existing bearers as shown in <xref target="ex-ac" format="default" sectionFormat="of" derivedContent="Figure 8"/>.</t>
        <figure anchor="ex-ac" align="left" suppress-title="false" pn="figure-8">
          <name slugifiedName="name-acs-created-using-acaas">ACs Created Using ACaaS</name>
          <sourcecode type="json" markers="false" pn="section-appendix.a.2-4.1">
{
  "ietf-ac-svc:attachment-circuits": {
    "ac-group-profile": [
      {
        "name": "an-ac-profile",
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "tag-type": "ietf-vpn-common:c-vlan",
              "cvlan-id": 550
            }
          }
        },
        "service": {
          "mtu": 1550,
          "svc-pe-to-ce-bandwidth": {
            "bandwidth": [
              {
                "bw-type": "ietf-vpn-common:bw-per-port",
                "cir": "20480000"
              }
            ]
          },
          "svc-ce-to-pe-bandwidth": {
            "bandwidth": [
              {
                "bw-type": "ietf-vpn-common:bw-per-port",
                "cir": "20480000"
              }
            ]
          },
          "qos": {
            "qos-profiles": {
              "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"
        }
      }
    ]
  }
}
</sourcecode>
        </figure>
        <t indent="0" pn="section-appendix.a.2-5">Let us now consider that the customer wants to request a Virtual Private LAN Service (VPLS) instance between the sites as shown in <xref target="ex-vpls" format="default" sectionFormat="of" derivedContent="Figure 9"/>.</t>
        <figure anchor="ex-vpls" align="left" suppress-title="false" pn="figure-9">
          <name slugifiedName="name-example-of-vpls">Example of VPLS</name>
          <artset pn="section-appendix.a.2-6.1">
            <artwork type="svg" align="center" pn="section-appendix.a.2-6.1.1"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="160" width="488" viewBox="0 0 488 160" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,96 L 8,112" fill="none" stroke="black"/>
                <path d="M 48,80 L 48,96" fill="none" stroke="black"/>
                <path d="M 80,104 L 80,128" fill="none" stroke="black"/>
                <path d="M 104,64 L 104,112" fill="none" stroke="black"/>
                <path d="M 152,64 L 152,112" fill="none" stroke="black"/>
                <path d="M 184,64 L 184,144" fill="none" stroke="black"/>
                <path d="M 304,64 L 304,144" fill="none" stroke="black"/>
                <path d="M 336,64 L 336,112" fill="none" stroke="black"/>
                <path d="M 384,64 L 384,112" fill="none" stroke="black"/>
                <path d="M 416,104 L 416,128" fill="none" stroke="black"/>
                <path d="M 440,96 L 440,112" fill="none" stroke="black"/>
                <path d="M 480,80 L 480,96" fill="none" stroke="black"/>
                <path d="M 112,32 L 184,32" fill="none" stroke="black"/>
                <path d="M 304,32 L 376,32" fill="none" stroke="black"/>
                <path d="M 104,64 L 152,64" fill="none" stroke="black"/>
                <path d="M 184,64 L 304,64" fill="none" stroke="black"/>
                <path d="M 336,64 L 384,64" fill="none" stroke="black"/>
                <path d="M 24,80 L 48,80" fill="none" stroke="black"/>
                <path d="M 152,78 L 184,78" fill="none" stroke="black"/>
                <path d="M 152,82 L 184,82" fill="none" stroke="black"/>
                <path d="M 304,78 L 336,78" fill="none" stroke="black"/>
                <path d="M 304,82 L 336,82" fill="none" stroke="black"/>
                <path d="M 456,80 L 480,80" fill="none" stroke="black"/>
                <path d="M 48,96 L 104,96" fill="none" stroke="black"/>
                <path d="M 384,96 L 440,96" fill="none" stroke="black"/>
                <path d="M 8,112 L 32,112" fill="none" stroke="black"/>
                <path d="M 104,112 L 152,112" fill="none" stroke="black"/>
                <path d="M 336,112 L 384,112" fill="none" stroke="black"/>
                <path d="M 440,112 L 464,112" fill="none" stroke="black"/>
                <path d="M 184,144 L 304,144" fill="none" stroke="black"/>
                <path d="M 24,80 C 15.16936,80 8,87.16936 8,96" fill="none" stroke="black"/>
                <path d="M 456,80 C 447.16936,80 440,87.16936 440,96" fill="none" stroke="black"/>
                <path d="M 32,112 C 40.83064,112 48,104.83064 48,96" fill="none" stroke="black"/>
                <path d="M 464,112 C 472.83064,112 480,104.83064 480,96" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="424,104 412,98.4 412,109.6" fill="black" transform="rotate(270,416,104)"/>
                <polygon class="arrowhead" points="88,104 76,98.4 76,109.6" fill="black" transform="rotate(270,80,104)"/>
                <g class="text">
                  <text x="104" y="36">|</text>
                  <text x="220" y="36">VPLS</text>
                  <text x="268" y="36">"1543"</text>
                  <text x="384" y="36">|</text>
                  <text x="80" y="84">AC1</text>
                  <text x="128" y="84">PE1</text>
                  <text x="360" y="84">PE2</text>
                  <text x="416" y="84">AC2</text>
                  <text x="32" y="100">CE1</text>
                  <text x="128" y="100">"450"</text>
                  <text x="244" y="100">MPLS</text>
                  <text x="360" y="100">"451"</text>
                  <text x="464" y="100">CE2</text>
                  <text x="244" y="132">Core</text>
                  <text x="80" y="148">Bearer:1234</text>
                  <text x="424" y="148">Bearer:5678</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center" pn="section-appendix.a.2-6.1.2">
            |----------  VPLS "1543" ----------|

            .-----.   .--------------.   .-----.
 .---.  AC1 | PE1 +===+              +===+ PE2 |  AC2  .---.
| CE1+------+"450"|   |     MPLS     |   |"451"+------+ CE2|
'---'    ^  '-----'   |              |   '-----'   ^  '---'
         |            |     Core     |             |
    Bearer:1234       '--------------'         Bearer:5678
</artwork>
          </artset>
        </figure>
        <t indent="0" pn="section-appendix.a.2-7">To that aim, existing ACs are referenced during the creation of the VPLS instance using the L2NM <xref target="RFC9291" format="default" sectionFormat="of" derivedContent="RFC9291"/> and the "ietf-ac-glue" module as shown in <xref target="ex-vpls-req" format="default" sectionFormat="of" derivedContent="Figure 10"/>.</t>
        <figure anchor="ex-vpls-req" align="left" suppress-title="false" pn="figure-10">
          <name slugifiedName="name-example-of-a-vpls-request-u">Example of a VPLS Request Using L2NM and AC Glue (Message Body)</name>
          <sourcecode type="json" markers="false" pn="section-appendix.a.2-8.1">
{
  "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"]
                }
              }
            ]
          }
        }
      ]
    }
  }
}
</sourcecode>
        </figure>
        <t indent="0" pn="section-appendix.a.2-9">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" format="default" sectionFormat="of" derivedContent="RFC9408"/> as exemplified in <xref target="ex-sap-query" format="default" sectionFormat="of" derivedContent="Figure 11"/>. This example assumes that the query concerns only PE1. A similar query can be issued for PE2.</t>
        <figure anchor="ex-sap-query" align="left" suppress-title="false" pn="figure-11">
          <name slugifiedName="name-example-of-sap-response-mes">Example of SAP Response (Message Body)</name>
          <sourcecode type="json" markers="false" pn="section-appendix.a.2-10.1">
{
   "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"
               }
            }
         ]
      }
   ]
}
</sourcecode>
        </figure>
        <t indent="0" pn="section-appendix.a.2-11">The response in <xref target="ex-sap-query" format="default" sectionFormat="of" derivedContent="Figure 11"/> indicates that the VPLS service can be delivered to CE1. The "ietf-ac-ntw" module  <xref target="RFC9835" format="default" sectionFormat="of" derivedContent="RFC9835"/> can be also used to access AC-related details that are bound to the target SAP (<xref target="ex-acntw-query-2" format="default" sectionFormat="of" derivedContent="Figure 12"/>).</t>
        <figure anchor="ex-acntw-query-2" align="left" suppress-title="false" pn="figure-12">
          <name slugifiedName="name-example-of-ac-network-respo">Example of AC Network Response with SAP (Message Body)</name>
          <sourcecode type="json" markers="false" pn="section-appendix.a.2-12.1">
{
   "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"
                  }
               ]
            }
         ]
      }
   ]
}
</sourcecode>
        </figure>
        <t indent="0" pn="section-appendix.a.2-13">The provisioned AC at PE1 can be retrieved using the AC network model <xref target="RFC9835" format="default" sectionFormat="of" derivedContent="RFC9835"/> as depicted in <xref target="ex-acntw-query" format="default" sectionFormat="of" derivedContent="Figure 13"/>.</t>
        <figure anchor="ex-acntw-query" align="left" suppress-title="false" pn="figure-13">
          <name slugifiedName="name-example-of-ac-network-respon">Example of AC Network Response (Message Body)</name>
          <sourcecode type="json" markers="false" pn="section-appendix.a.2-14.1">
{
   "ietf-ac-ntw:ac":[
      {
         "name":"ac-11",
         "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":{
               "bandwidth":[
                  {
                     "bw-type": "ietf-vpn-common:bw-per-port",
                     "cir":"20480000"
                  }
               ]
            },
            "svc-ce-to-pe-bandwidth":{
               "bandwidth":[
                  {
                     "bw-type": "ietf-vpn-common:bw-per-port",
                     "cir":"20480000"
                  }
               ]
            },
            "qos":{
               "qos-profiles":{
                  "qos-profile":[
                     {
                        "qos-profile-ref":"QoS_Profile_A",
                        "network-ref":"example:an-id",
                        "direction":"ietf-vpn-common:both"
                     }
                  ]
               }
            }
         }
      }
   ]
}
</sourcecode>
        </figure>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-acknowledgments">Acknowledgments</name>
      <t indent="0" pn="section-appendix.b-1">Thanks to <contact fullname="Bo Wu"/> and <contact fullname="Qin Wu"/> for the review and comments.</t>
      <t indent="0" pn="section-appendix.b-2">Thanks to <contact fullname="Martin Björklund"/> for the YANG Doctors
      review, <contact fullname="Gyan Mishra"/> for the RTGDIR review,
      <contact fullname="Ron Bonica"/> for the OPSDIR review, <contact fullname="Reese Enghardt"/>
      for the GENART review, and <contact fullname="Prachi Jain"/> for the SECDIR review.</t>
      <t indent="0" pn="section-appendix.b-3">Thanks to <contact fullname="Mahesh Jethanandani"/> for the AD review.</t>
      <t indent="0" pn="section-appendix.b-4">Thanks to <contact fullname="Gunter Van de Velde"/> for the IESG review.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.c">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair" role="editor">
        <organization showOnFrontPage="true">Orange</organization>
        <address>
          <email>mohamed.boucadair@orange.com</email>
        </address>
      </author>
      <author fullname="Richard Roberts" initials="R." surname="Roberts">
        <organization showOnFrontPage="true">Juniper</organization>
        <address>
          <email>rroberts@juniper.net</email>
        </address>
      </author>
      <author fullname="Samier Barguil" initials="S." surname="Barguil">
        <organization showOnFrontPage="true">Nokia</organization>
        <address>
          <email>samier.barguil_giraldo@nokia.com</email>
        </address>
      </author>
      <author fullname="Oscar Gonzalez de Dios" initials="O." surname="Gonzalez de Dios">
        <organization showOnFrontPage="true">Telefonica</organization>
        <address>
          <email>oscar.gonzalezdedios@telefonica.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
