<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.5 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-opsawg-ntw-attachment-circuit-05" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.19.2 -->
  <front>
    <title abbrev="A YANG Network Model for ACs">A Network YANG Data Model for Attachment Circuits</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-ntw-attachment-circuit-05"/>
    <author fullname="Mohamed Boucadair" role="editor">
      <organization>Orange</organization>
      <address>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <author fullname="Richard Roberts">
      <organization>Juniper</organization>
      <address>
        <email>rroberts@juniper.net</email>
      </address>
    </author>
    <author fullname="Oscar Gonzalez de Dios">
      <organization>Telefonica</organization>
      <address>
        <email>oscar.gonzalezdedios@telefonica.com</email>
      </address>
    </author>
    <author fullname="Samier Barguil Giraldo">
      <organization>Nokia</organization>
      <address>
        <email>samier.barguil_giraldo@nokia.com</email>
      </address>
    </author>
    <author fullname="Bo Wu">
      <organization>Huawei Technologies</organization>
      <address>
        <email>lana.wubo@huawei.com</email>
      </address>
    </author>
    <date year="2024" month="February" day="09"/>
    <area>Operations and Management</area>
    <workgroup>Operations and Management Area Working Group</workgroup>
    <keyword>Slice Service</keyword>
    <keyword>L3VPN</keyword>
    <keyword>L2VPN</keyword>
    <abstract>
      <?line 93?>

<t>This document specifies a network model for attachment circuits. The model can be used for the provisioning of attachment circuits prior or during service provisioning (e.g., Network Slice Service). A companion service model is specified in I-D.ietf-opsawg-teas-attachment-circuit.</t>
      <t>The module augments the Service Attachment Point (SAP) model with the detailed information for the provisioning of attachment circuits in Provider Edges (PEs).</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Operations and Management Area Working Group Working Group mailing list (opsawg@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/opsawg/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/boucadair/attachment-circuit-model"/>.</t>
    </note>
  </front>
  <middle>
    <?line 99?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Connectivity services are provided by networks to customers via
   dedicated terminating points, such as Service Functions <xref target="RFC7665"/>,
   customer edges (CEs), peer Autonomous System Border Routers (ASBRs),
   data centers gateways, or Internet Exchange Points.</t>
      <t>The procedure to provision a service in a service provider network may depend on the practices adopted by a service provider, including the flow put in place for the provisioning of advanced network services and how they are bound to an Attachment Circuit (AC). For example, the same attachment circuit may host multiple services (e.g., Layer 2 Virtual Private Network (VPN), Slice Service, or Layer 3 VPN). In order to avoid service interference and redundant information in various locations, a service provider may expose an interface to manage ACs network-wide. Customers can then request a standalone attachment circuit to be put in place, and then refer to that attachment circuit when requesting services to be bound to that AC. <xref target="I-D.ietf-opsawg-teas-attachment-circuit"/> specifies a data model for managing attachment circuits as a service.</t>
      <t><xref target="sec-module"/> specifies a network model for attachment circuits ("ietf-ac-ntw"). The model can be used for the provisioning of ACs prior or during service provisioning.</t>
      <t>The document leverages <xref target="RFC9182"/> and <xref target="RFC9291"/> by adopting an AC provisioning structure that uses data nodes that are defined in these RFCs. Some refinements were introduced to cover, not only conventional service provider networks, but also specifics of other target deployments (cloud, for example).</t>
      <t>The AC network model is designed as an augmnetation to the Service Attachment Point (SAP) model <xref target="RFC9408"/>. An attachment circuit can be bound to a single or multiple SAPs. Likewise, the model is designed to accomdate deployments where a SAP can be bound to one or multiple ACs (e.g., a parent AC and its child ACs).</t>
      <figure anchor="sap-ac-ntw">
        <name>Attachment Circuits Examples</name>
        <artset>
          <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="464" width="536" viewBox="0 0 536 464" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,208 L 8,240" fill="none" stroke="black"/>
              <path d="M 40,208 L 40,240" fill="none" stroke="black"/>
              <path d="M 64,208 L 64,240" fill="none" stroke="black"/>
              <path d="M 80,176 L 80,208" fill="none" stroke="black"/>
              <path d="M 80,240 L 80,256" fill="none" stroke="black"/>
              <path d="M 80,288 L 80,368" fill="none" stroke="black"/>
              <path d="M 96,160 L 96,240" fill="none" stroke="black"/>
              <path d="M 112,112 L 112,160" fill="none" stroke="black"/>
              <path d="M 128,160 L 128,192" fill="none" stroke="black"/>
              <path d="M 152,32 L 152,64" fill="none" stroke="black"/>
              <path d="M 168,64 L 168,112" fill="none" stroke="black"/>
              <path d="M 184,32 L 184,64" fill="none" stroke="black"/>
              <path d="M 192,160 L 192,192" fill="none" stroke="black"/>
              <path d="M 192,352 L 192,384" fill="none" stroke="black"/>
              <path d="M 192,416 L 192,448" fill="none" stroke="black"/>
              <path d="M 208,384 L 208,416" fill="none" stroke="black"/>
              <path d="M 216,112 L 216,152" fill="none" stroke="black"/>
              <path d="M 224,160 L 224,192" fill="none" stroke="black"/>
              <path d="M 224,352 L 224,384" fill="none" stroke="black"/>
              <path d="M 224,416 L 224,448" fill="none" stroke="black"/>
              <path d="M 240,80 L 240,112" fill="none" stroke="black"/>
              <path d="M 240,176 L 240,256" fill="none" stroke="black"/>
              <path d="M 240,288 L 240,368" fill="none" stroke="black"/>
              <path d="M 272,80 L 272,112" fill="none" stroke="black"/>
              <path d="M 296,176 L 296,256" fill="none" stroke="black"/>
              <path d="M 296,288 L 296,368" fill="none" stroke="black"/>
              <path d="M 312,160 L 312,192" fill="none" stroke="black"/>
              <path d="M 312,352 L 312,384" fill="none" stroke="black"/>
              <path d="M 328,96 L 328,160" fill="none" stroke="black"/>
              <path d="M 328,384 L 328,432" fill="none" stroke="black"/>
              <path d="M 344,160 L 344,192" fill="none" stroke="black"/>
              <path d="M 344,352 L 344,384" fill="none" stroke="black"/>
              <path d="M 360,352 L 360,384" fill="none" stroke="black"/>
              <path d="M 360,416 L 360,448" fill="none" stroke="black"/>
              <path d="M 376,384 L 376,416" fill="none" stroke="black"/>
              <path d="M 384,80 L 384,112" fill="none" stroke="black"/>
              <path d="M 392,352 L 392,384" fill="none" stroke="black"/>
              <path d="M 392,416 L 392,448" fill="none" stroke="black"/>
              <path d="M 408,352 L 408,384" fill="none" stroke="black"/>
              <path d="M 416,80 L 416,112" fill="none" stroke="black"/>
              <path d="M 424,384 L 424,432" fill="none" stroke="black"/>
              <path d="M 440,304 L 440,384" fill="none" stroke="black"/>
              <path d="M 456,176 L 456,256" fill="none" stroke="black"/>
              <path d="M 456,288 L 456,304" fill="none" stroke="black"/>
              <path d="M 456,344 L 456,368" fill="none" stroke="black"/>
              <path d="M 472,304 L 472,336" fill="none" stroke="black"/>
              <path d="M 496,304 L 496,336" fill="none" stroke="black"/>
              <path d="M 528,304 L 528,336" fill="none" stroke="black"/>
              <path d="M 152,32 L 184,32" fill="none" stroke="black"/>
              <path d="M 152,64 L 184,64" fill="none" stroke="black"/>
              <path d="M 240,80 L 272,80" fill="none" stroke="black"/>
              <path d="M 384,80 L 416,80" fill="none" stroke="black"/>
              <path d="M 272,96 L 384,96" fill="none" stroke="black"/>
              <path d="M 112,112 L 216,112" fill="none" stroke="black"/>
              <path d="M 240,112 L 272,112" fill="none" stroke="black"/>
              <path d="M 384,112 L 416,112" fill="none" stroke="black"/>
              <path d="M 96,160 L 128,160" fill="none" stroke="black"/>
              <path d="M 192,160 L 224,160" fill="none" stroke="black"/>
              <path d="M 312,160 L 344,160" fill="none" stroke="black"/>
              <path d="M 80,176 L 96,176" fill="none" stroke="black"/>
              <path d="M 128,176 L 192,176" fill="none" stroke="black"/>
              <path d="M 224,176 L 240,176" fill="none" stroke="black"/>
              <path d="M 296,176 L 312,176" fill="none" stroke="black"/>
              <path d="M 344,176 L 456,176" fill="none" stroke="black"/>
              <path d="M 96,192 L 128,192" fill="none" stroke="black"/>
              <path d="M 192,192 L 224,192" fill="none" stroke="black"/>
              <path d="M 312,192 L 344,192" fill="none" stroke="black"/>
              <path d="M 8,208 L 40,208" fill="none" stroke="black"/>
              <path d="M 64,208 L 96,208" fill="none" stroke="black"/>
              <path d="M 40,224 L 64,224" fill="none" stroke="black"/>
              <path d="M 8,240 L 40,240" fill="none" stroke="black"/>
              <path d="M 64,240 L 96,240" fill="none" stroke="black"/>
              <path d="M 80,256 L 240,256" fill="none" stroke="black"/>
              <path d="M 296,256 L 456,256" fill="none" stroke="black"/>
              <path d="M 80,288 L 240,288" fill="none" stroke="black"/>
              <path d="M 296,288 L 456,288" fill="none" stroke="black"/>
              <path d="M 440,304 L 472,304" fill="none" stroke="black"/>
              <path d="M 496,304 L 528,304" fill="none" stroke="black"/>
              <path d="M 472,320 L 496,320" fill="none" stroke="black"/>
              <path d="M 440,336 L 472,336" fill="none" stroke="black"/>
              <path d="M 496,336 L 528,336" fill="none" stroke="black"/>
              <path d="M 192,352 L 224,352" fill="none" stroke="black"/>
              <path d="M 312,352 L 344,352" fill="none" stroke="black"/>
              <path d="M 360,352 L 392,352" fill="none" stroke="black"/>
              <path d="M 408,352 L 440,352" fill="none" stroke="black"/>
              <path d="M 80,368 L 192,368" fill="none" stroke="black"/>
              <path d="M 224,368 L 240,368" fill="none" stroke="black"/>
              <path d="M 296,368 L 312,368" fill="none" stroke="black"/>
              <path d="M 344,368 L 360,368" fill="none" stroke="black"/>
              <path d="M 392,368 L 408,368" fill="none" stroke="black"/>
              <path d="M 440,368 L 456,368" fill="none" stroke="black"/>
              <path d="M 192,384 L 224,384" fill="none" stroke="black"/>
              <path d="M 312,384 L 344,384" fill="none" stroke="black"/>
              <path d="M 360,384 L 392,384" fill="none" stroke="black"/>
              <path d="M 408,384 L 440,384" fill="none" stroke="black"/>
              <path d="M 192,416 L 224,416" fill="none" stroke="black"/>
              <path d="M 360,416 L 392,416" fill="none" stroke="black"/>
              <path d="M 224,432 L 264,432" fill="none" stroke="black"/>
              <path d="M 288,432 L 328,432" fill="none" stroke="black"/>
              <path d="M 392,432 L 424,432" fill="none" stroke="black"/>
              <path d="M 192,448 L 224,448" fill="none" stroke="black"/>
              <path d="M 360,448 L 392,448" fill="none" stroke="black"/>
              <path d="M 200,160 C 208.83064,160 216,152.83064 216,144" fill="none" stroke="black"/>
              <g class="text">
                <text x="168" y="52">CE6</text>
                <text x="148" y="84">ac</text>
                <text x="256" y="100">CE5</text>
                <text x="400" y="100">CE2</text>
                <text x="340" y="132">ac</text>
                <text x="112" y="180">sap</text>
                <text x="208" y="180">sap</text>
                <text x="328" y="180">sap</text>
                <text x="24" y="228">CE1</text>
                <text x="80" y="228">sap</text>
                <text x="160" y="228">PE1</text>
                <text x="384" y="228">PE2</text>
                <text x="52" y="244">ac</text>
                <text x="484" y="308">ac</text>
                <text x="168" y="324">PE3</text>
                <text x="376" y="324">PE4</text>
                <text x="456" y="324">sap</text>
                <text x="512" y="324">CE5</text>
                <text x="208" y="372">sap</text>
                <text x="328" y="372">sap</text>
                <text x="376" y="372">sap</text>
                <text x="424" y="372">sap</text>
                <text x="220" y="404">ac</text>
                <text x="388" y="404">ac</text>
                <text x="436" y="404">ac</text>
                <text x="208" y="436">CE3</text>
                <text x="276" y="436">ac</text>
                <text x="376" y="436">CE4</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="center"><![CDATA[
                  .---.
                  |CE6|
                  '-+-'
                 ac |        .---.             .---.
                    |        |CE5+------+------+CE2|
             .------+-----.  '---'      |      '---'
             |            |             |ac
             |            |             |
           .-+-.       .-+-.          .-+-.
         .-+sap+-------+sap+-.      .-+sap+-------------.
         | '---'       '---' |      | '---'             |
.---.  .-+-.                 |      |                   |
|CE1+--+sap|      PE1        |      |         PE2       |
'---'ac'-+-'                 |      |                   |
         '-------------------'      '-------------------'

         .-------------------.      .-------------------.
         |                   |      |                 .-+-.ac.---.
         |         PE3       |      |        PE4      |sap+--+CE5|
         |                   |      |                 '---'  '---'
         |             .---. |      | .---. .---. .---. |
         '-------------+sap+-'      '-+sap+-+sap+-+sap+-'
                       '-+-'          '-+-' '-+-' '-+-'
                         |ac            |     |ac   |ac
                       .-+-.            |   .-+-.   |
                       |CE3+-----ac-----'   |CE4+---'
                       '---'                '---'
]]></artwork>
        </artset>
      </figure>
      <t>The AC network model uses the AC common model defined in <xref target="I-D.ietf-opsawg-teas-common-ac"/>.</t>
      <t>The YANG data model in this document conforms to the Network Management Datastore Architecture (NMDA) defined in <xref target="RFC8342"/>.</t>
      <t>Sample examples are provided in <xref target="sec-examples"/>.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>The reader should be familiar with the terms defined in <xref section="2" sectionFormat="of" target="RFC9408"/>.</t>
      <t>This document uses the term "network model" as defined in <xref section="2.1" sectionFormat="of" target="RFC8969"/>.</t>
      <t>The meanings of the symbols in the YANG tree diagrams are defined in <xref target="RFC8340"/>.</t>
      <t>In addition, this document uses the following terms:</t>
      <dl>
        <dt>Bearer:</dt>
        <dd>
          <t>A physical or logical link that connects a customer node (or site) to a provider network.</t>
        </dd>
        <dt/>
        <dd>
          <t>A bearer can be a wireless or wired link. One or multiple technologies can be used to build a bearer. The bearer type can be specified by a customer.</t>
        </dd>
        <dt/>
        <dd>
          <t>The operator allocates a unique bearer reference to identify a bearer within its network (e.g., customer line identifier). Such a reference can be retrieved by a customer and then used in subsequent service placement requests to unambiguously identify where a service is to be bound.</t>
        </dd>
        <dt/>
        <dd>
          <t>The concept of bearer can be generalized to refer to the required underlying connection for the provisioning of an attachment circuit.</t>
        </dd>
        <dt/>
        <dd>
          <t>One or multiple attachment circuits may be hosted over the same bearer (e.g., multiple Virtual Local Area Networks (VLANs) on the same bearer that is provided by a physical link).</t>
        </dd>
        <dt>Network controller:</dt>
        <dd>
          <t>Denotes a functional entity responsible for the management of the service provider network. One or multiple network controllers can be deployed in a service provider network.</t>
        </dd>
        <dt>Service orchestrator:</dt>
        <dd>
          <t>Refers to a functional entity that interacts with the customer of a network service.</t>
        </dd>
        <dt/>
        <dd>
          <t>A service orchestrator is typically responsible for the attachment circuits, the Provider Edge (PE) selection, and requesting the activation of the requested services to a network controller.</t>
        </dd>
        <dt/>
        <dd>
          <t>A service orchestrator may interact with one or more network controllers.</t>
        </dd>
        <dt>Service provider network:</dt>
        <dd>
          <t>A network that is able to provide network services (e.g., L2VPN, L3VPN, or Network Slice Services).</t>
        </dd>
        <dt>Service provider:</dt>
        <dd>
          <t>A service provider that offers network services (e.g., L2VPN, L3VPN, or Network Slice Services).</t>
        </dd>
      </dl>
    </section>
    <section anchor="sample-uses-of-the-attachment-circuit-data-models">
      <name>Sample Uses of the Attachment Circuit Data Models</name>
      <t><xref target="_u-ex"/> shows the positioning of the AC network model in the overall service delivery process. The "ietf-ac-ntw" module is a network model which augments the SAP with a comprehensive set of parameters to reflect the attachment circuits that are in place in a network. The model also maintains the mapping with the service references that are used to expose these ACs to customers. Whether the same naming conventions to reference an AC are used in the service and network layers is deployment-specific.</t>
      <figure anchor="_u-ex">
        <name>An Example of the Network AC Model Usage</name>
        <artset>
          <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="656" width="512" viewBox="0 0 512 656" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,560 L 8,592" fill="none" stroke="black"/>
              <path d="M 48,560 L 48,592" fill="none" stroke="black"/>
              <path d="M 96,432 L 96,480" fill="none" stroke="black"/>
              <path d="M 104,320 L 104,368" fill="none" stroke="black"/>
              <path d="M 120,544 L 120,608" fill="none" stroke="black"/>
              <path d="M 136,368 L 136,432" fill="none" stroke="black"/>
              <path d="M 136,480 L 136,536" fill="none" stroke="black"/>
              <path d="M 176,288 L 176,320" fill="none" stroke="black"/>
              <path d="M 176,432 L 176,480" fill="none" stroke="black"/>
              <path d="M 208,32 L 208,64" fill="none" stroke="black"/>
              <path d="M 208,112 L 208,160" fill="none" stroke="black"/>
              <path d="M 208,208 L 208,256" fill="none" stroke="black"/>
              <path d="M 208,376 L 208,496" fill="none" stroke="black"/>
              <path d="M 232,320 L 232,368" fill="none" stroke="black"/>
              <path d="M 272,64 L 272,112" fill="none" stroke="black"/>
              <path d="M 272,160 L 272,208" fill="none" stroke="black"/>
              <path d="M 272,256 L 272,288" fill="none" stroke="black"/>
              <path d="M 296,320 L 296,368" fill="none" stroke="black"/>
              <path d="M 336,32 L 336,64" fill="none" stroke="black"/>
              <path d="M 336,112 L 336,160" fill="none" stroke="black"/>
              <path d="M 336,208 L 336,256" fill="none" stroke="black"/>
              <path d="M 368,288 L 368,320" fill="none" stroke="black"/>
              <path d="M 368,368 L 368,536" fill="none" stroke="black"/>
              <path d="M 384,544 L 384,608" fill="none" stroke="black"/>
              <path d="M 424,320 L 424,368" fill="none" stroke="black"/>
              <path d="M 456,560 L 456,592" fill="none" stroke="black"/>
              <path d="M 496,560 L 496,592" fill="none" stroke="black"/>
              <path d="M 208,32 L 336,32" fill="none" stroke="black"/>
              <path d="M 208,64 L 336,64" fill="none" stroke="black"/>
              <path d="M 208,112 L 336,112" fill="none" stroke="black"/>
              <path d="M 208,160 L 336,160" fill="none" stroke="black"/>
              <path d="M 208,208 L 336,208" fill="none" stroke="black"/>
              <path d="M 208,256 L 336,256" fill="none" stroke="black"/>
              <path d="M 176,288 L 368,288" fill="none" stroke="black"/>
              <path d="M 104,320 L 232,320" fill="none" stroke="black"/>
              <path d="M 296,320 L 424,320" fill="none" stroke="black"/>
              <path d="M 104,368 L 232,368" fill="none" stroke="black"/>
              <path d="M 296,368 L 424,368" fill="none" stroke="black"/>
              <path d="M 96,432 L 176,432" fill="none" stroke="black"/>
              <path d="M 96,480 L 176,480" fill="none" stroke="black"/>
              <path d="M 120,544 L 384,544" fill="none" stroke="black"/>
              <path d="M 8,560 L 48,560" fill="none" stroke="black"/>
              <path d="M 456,560 L 496,560" fill="none" stroke="black"/>
              <path d="M 48,576 L 120,576" fill="none" stroke="black"/>
              <path d="M 384,576 L 456,576" fill="none" stroke="black"/>
              <path d="M 8,592 L 48,592" fill="none" stroke="black"/>
              <path d="M 456,592 L 496,592" fill="none" stroke="black"/>
              <path d="M 120,608 L 384,608" fill="none" stroke="black"/>
              <g class="text">
                <text x="268" y="52">Customer</text>
                <text x="108" y="84">Customer</text>
                <text x="176" y="84">Service</text>
                <text x="232" y="84">Model</text>
                <text x="96" y="100">e.g.,</text>
                <text x="164" y="100">slice-svc,</text>
                <text x="240" y="100">ac-svc,</text>
                <text x="296" y="100">and</text>
                <text x="356" y="100">bearer-svc</text>
                <text x="272" y="132">Service</text>
                <text x="272" y="148">Orchestration</text>
                <text x="112" y="180">Network</text>
                <text x="168" y="180">Model</text>
                <text x="32" y="196">e.g.,</text>
                <text x="100" y="196">l3vpn-ntw,</text>
                <text x="164" y="196">sap,</text>
                <text x="200" y="196">and</text>
                <text x="244" y="196">ac-ntw</text>
                <text x="264" y="228">Network</text>
                <text x="272" y="244">Orchestration</text>
                <text x="56" y="276">Network</text>
                <text x="144" y="276">Configuration</text>
                <text x="224" y="276">Model</text>
                <text x="164" y="340">Domain</text>
                <text x="364" y="340">Domain</text>
                <text x="168" y="356">Orchestration</text>
                <text x="360" y="356">Orchestration</text>
                <text x="36" y="388">Device</text>
                <text x="64" y="404">Configuration</text>
                <text x="32" y="420">Model</text>
                <text x="132" y="452">Config</text>
                <text x="136" y="468">Manager</text>
                <text x="256" y="516">NETCONF/CLI................</text>
                <text x="376" y="516">.</text>
                <text x="208" y="532">|</text>
                <text x="84" y="564">Bearer</text>
                <text x="420" y="564">Bearer</text>
                <text x="28" y="580">CE#1</text>
                <text x="248" y="580">Network</text>
                <text x="476" y="580">CE#2</text>
                <text x="28" y="628">Site</text>
                <text x="56" y="628">A</text>
                <text x="476" y="628">Site</text>
                <text x="504" y="628">B</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="center"><![CDATA[
                          .---------------.
                          |   Customer    |
                          '-------+-------'
          Customer Service Model  |
          e.g., slice-svc, ac-svc,| and bearer-svc
                          .-------+-------.
                          |    Service    |
                          | Orchestration |
                          '-------+-------'
           Network Model          |
  e.g., l3vpn-ntw, sap, and ac-ntw|
                          .-------+-------.
                          |   Network     |
                          | Orchestration |
                          '-------+-------'
    Network Configuration Model   |
                      .-----------+-----------.
                      |                       |
             .--------+------.       .--------+------.
             |    Domain     |       |     Domain    |
             | Orchestration |       | Orchestration |
             '---+-----------'       '--------+------'
  Device         |        |                   |
  Configuration  |        |                   |
  Model          |        |                   |
            .----+----.   |                   |
            | Config  |   |                   |
            | Manager |   |                   |
            '----+----'   |                   |
                 |        |                   |
                 | NETCONF/CLI..................
                 |        |                   |
               .--------------------------------.
 .----. Bearer |                                | Bearer .----.
 |CE#1+--------+            Network             +--------+CE#2|
 '----'        |                                |        '----'
               '--------------------------------'
  Site A                                                  Site B
]]></artwork>
        </artset>
      </figure>
      <t>Similar to <xref target="RFC9408"/>, the "ietf-ac-ntw" module can be used for both User-to-Network Interface (UNI) and
Network-to-Network Interface (NNI). For example, all the ACs shown in <xref target="fig-inter-pn"/> have a 'role' set
to "ietf-sap-ntw:nni". Typically, AS Border Routers (ASBRs) of each network is directly
connected to an ASBR of a neighboring network via one or multiple links (bearers). ASBRs of "Network#1" behaves as a PE and treats the other adjacent ASBRs as if it were a CE.</t>
      <figure anchor="fig-inter-pn">
        <name>An Example of the Network AC Model Usage Between Provider Networks</name>
        <artset>
          <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="192" width="376" viewBox="0 0 376 192" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,32 L 8,176" fill="none" stroke="black"/>
              <path d="M 176,32 L 176,176" fill="none" stroke="black"/>
              <path d="M 256,32 L 256,176" fill="none" stroke="black"/>
              <path d="M 368,32 L 368,176" fill="none" stroke="black"/>
              <path d="M 8,32 L 176,32" fill="none" stroke="black"/>
              <path d="M 256,32 L 368,32" fill="none" stroke="black"/>
              <path d="M 176,48 L 200,48" fill="none" stroke="black"/>
              <path d="M 224,48 L 256,48" fill="none" stroke="black"/>
              <path d="M 176,64 L 200,64" fill="none" stroke="black"/>
              <path d="M 224,64 L 256,64" fill="none" stroke="black"/>
              <path d="M 256,96 L 368,96" fill="none" stroke="black"/>
              <path d="M 256,112 L 368,112" fill="none" stroke="black"/>
              <path d="M 176,144 L 200,144" fill="none" stroke="black"/>
              <path d="M 224,144 L 256,144" fill="none" stroke="black"/>
              <path d="M 8,176 L 176,176" fill="none" stroke="black"/>
              <path d="M 256,176 L 368,176" fill="none" stroke="black"/>
              <g class="text">
                <text x="212" y="52">AC</text>
                <text x="212" y="68">AC</text>
                <text x="312" y="68">Network#2</text>
                <text x="88" y="100">Network#1</text>
                <text x="212" y="148">AC</text>
                <text x="312" y="148">Network#3</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="center"><![CDATA[
.--------------------.         .-------------.
|                    +---AC----+             |
|                    +---AC----+  Network#2  |
|                    |         |             |
|     Network#1      |         '-------------'
|                    |         .-------------.
|                    |         |             |
|                    +---AC----+  Network#3  |
|                    |         |             |
'--------------------'         '-------------'
]]></artwork>
        </artset>
      </figure>
    </section>
    <section anchor="description-of-the-attachment-circuit-yang-module">
      <name>Description of the Attachment Circuit YANG Module</name>
      <t>The full tree diagram of the module can be generated using the
"pyang" tool <xref target="PYANG"/>.  That tree is not included here because it is
too long (<xref section="3.3" sectionFormat="of" target="RFC8340"/>).  Instead, subtrees are provided in the following subsections
for the reader's convenience.</t>
      <section anchor="overall-structure-of-the-module">
        <name>Overall Structure of the Module</name>
        <t>The overall tree structure of the module is shown in <xref target="o-ntw-tree"/>.</t>
        <figure anchor="o-ntw-tree">
          <name>Overall Tree Structure</name>
          <artwork><![CDATA[
augment /nw:networks/nw:network:
  +--rw specific-provisioning-profiles
  |  ...
  +--rw ac-profile* [name]
     ...
augment /nw:networks/nw:network/nw:node:
  +--rw ac* [name]
     +--rw name                 string
     +--rw ac-svc-ref?          ac-svc:attachment-circuit-reference
     +--rw ac-profile* [ac-profile-ref]
     |  +--rw ac-profile-ref    leafref
     |  +--rw network-ref?      -> /nw:networks/network/network-id
     +--rw ac-parent-ref
     |  +--rw ac-ref?        leafref
     |  +--rw node-ref?      leafref
     |  +--rw network-ref?   -> /nw:networks/network/network-id
     +--rw peer-sap-id*         string
     +--rw group* [group-id]
     |  +--rw group-id      string
     |  +--rw precedence?   identityref
     +--rw status
     |  +--rw admin-status
     |  |  +--rw status?        identityref
     |  |  +--ro last-change?   yang:date-and-time
     |  +--ro oper-status
     |     +--ro status?        identityref
     |     +--ro last-change?   yang:date-and-time
     +--rw description?         string
     +--rw l2-connection
     |  ...
     +--rw ip-connection
     |  ...
     +--rw routing-protocols
     |  ...
     +--rw oam
     |  ...
     +--rw security
     |  ...
     +--rw service
        ...
  augment /nw:networks/nw:network/nw:node/sap:service/sap:sap:
    +--rw ac* [ac-ref]
       +--rw ac-ref         leafref
       +--rw node-ref?      leafref
       +--rw network-ref?   -> /nw:networks/network/network-id
]]></artwork>
        </figure>
        <t>The full tree of the 'ac-ntw' is provided in <xref target="AC-Ntw-Tree"/>.</t>
        <t>A node can host one or more SAPs. As per <xref target="RFC9408"/>, a SAP is an abstraction of the network
reference points (the PE side of an AC, in the context of this document) where network services can be delivered and/or are delivered to customers. Each SAP terminates one or multiple ACs. Each AC in turn may be terminated by one or more peer SAPs ('peer-sap'). In order to expose such AC/SAP binding information, the SAP model <xref target="RFC9408"/> is augmented with required AC-related information.</t>
        <t>Unlike the AC service model <xref target="I-D.ietf-opsawg-teas-attachment-circuit"/>, an AC is uniquely identified by a name within the scope of a node, not a network. A textual description of the AC may be provided ('description').</t>
        <t>Also, in order to ease the correlation between the AC exposed at the service layer and the one that is actually provisioned in the network operation, a reference to the AC exposed to the customer ('ac-svc-ref') is stored in the 'ietf-ac-ntw' module.</t>
        <t>ACs that are terminated by a SAP are listed in 'ac' under '/nw:networks/nw:network/nw:node/sap:service/sap:sap'. A controller may indicate a filter based on the service type (e.g., Network Slice or L3VPN) to retrieve the list of available SAPs, and thus ACs, for that service.</t>
        <t>In order to factorize common data that is provisioned for a group of ACs, a set of profiles (<xref target="sec-profiles"/>) can be defined at the network level, and then called under the node level. The information contained in a profile is thus inherited, unless the corresponding data node is refined at the AC level. In such a case, the value provided at the AC level takes precedence over the global one.</t>
        <t>In contexts where the same AC is terminated by multiple peer SAPs (e.g., an AC with multiple CEs) but a subset of them have specific information, the module allows operators to:</t>
        <ul spacing="normal">
          <li>
            <t>Define a parent AC that may list all these CEs as peer SAPs.</t>
          </li>
          <li>
            <t>Create individual ACs that are bound to the parent AC using 'ac-parent-ref'.</t>
          </li>
          <li>
            <t>Indicate for each individual ACs one or a subset of the CEs as peer SAPs. All these individual ACs will inherit the properties of the parent AC.</t>
          </li>
        </ul>
        <t>Whenever a parent AC is deleted, then all child ACs of that AC <bcp14>MUST</bcp14> be deleted.</t>
        <t>An AC may belong to one or multiple groups <xref target="RFC9181"/>. For example, the 'group-id' is used to associate redundancy or protection constraints with ACs.</t>
        <t>The status of an AC can be tracked using 'status'. Both operational status and administrative status are maintained. A mismatch between the administrative status vs. the operational status can be used as a trigger to detect anomalies.</t>
        <t>An AC can be characterized using Layer 2 connectivity (<xref target="sec-l2"/>), Layer 3 connectivity (<xref target="sec-l3"/>), routing protocols (<xref target="sec-rtg"/>), OAM (<xref target="sec-oam"/>), security (<xref target="sec-sec"/>), and service (<xref target="sec-svc"/>) considerations.</t>
      </section>
      <section anchor="references">
        <name>References</name>
        <t>The AC module defines a set of groupings depicted in <xref target="references-tree"/> for referencing purposes. These references are used within or outside the AC network module. The use of such groupings is consistent with the design in <xref target="RFC8345"/>.</t>
        <figure anchor="references-tree">
          <name>References Groupings</name>
          <artwork><![CDATA[
  grouping attachment-circuit-reference:
    +-- ac-ref?        leafref
    +-- node-ref?      leafref
    +-- network-ref?   -> /nw:networks/network/network-id
  grouping ac-profile-reference:
    +-- ac-profile-ref?   leafref
    +-- network-ref?      -> /nw:networks/network/network-id
  grouping encryption-profile-reference:
    +-- encryption-profile-ref?   leafref
    +-- network-ref?              -> /nw:networks/network/network-id
  grouping qos-profile-reference:
    +-- qos-profile-ref?   leafref
    +-- network-ref?       -> /nw:networks/network/network-id
  grouping bfd-profile-reference:
    +-- bfd-profile-ref?   leafref
    +-- network-ref?       -> /nw:networks/network/network-id
  grouping forwarding-profile-reference:
    +-- forwarding-profile-ref?   leafref
    +-- network-ref?              -> /nw:networks/network/network-id
  grouping routing-profile-reference:
    +-- routing-profile-ref?   leafref
    +-- network-ref?           -> /nw:networks/network/network-id
]]></artwork>
        </figure>
        <t>The groupings shown in <xref target="references-tree"/> contain the information necessary to reference:</t>
        <ul spacing="normal">
          <li>
            <t>an attachment circuit that is terminated by a specific node in a given network,</t>
          </li>
          <li>
            <t>an attachment circuit profile of a specific network (<xref target="sec-profiles"/>), and</t>
          </li>
          <li>
            <t>specific provisioning profiles that are bound to a specific network (<xref target="sec-profiles"/>).</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-profiles">
        <name>Provisioning Profiles</name>
        <t>The AC and specific provisioning profiles tree structure is shown in <xref target="profiles-tree"/>.</t>
        <figure anchor="profiles-tree">
          <name>Profiles Tree Structure</name>
          <artwork><![CDATA[
  augment /nw:networks/nw:network:
    +--rw specific-provisioning-profiles
    |  +--rw valid-provider-identifiers
    |     +--rw encryption-profile-identifier* [id]
    |     |  +--rw id    string
    |     +--rw qos-profile-identifier* [id]
    |     |  +--rw id    string
    |     +--rw bfd-profile-identifier* [id]
    |     |  +--rw id    string
    |     +--rw forwarding-profile-identifier* [id]
    |     |  +--rw id    string
    |     +--rw routing-profile-identifier* [id]
    |        +--rw id    string
    +--rw ac-profile* [name]
       +--rw name                 string
       +--rw routing-protocols
       |  +--rw routing-protocol* [id]
       |     +--rw id      string
       |     +--rw type?   identityref
       |     +--rw bgp
       |     |  +--rw description?              string
       |     |  +--rw apply-policy
       |     |  |  +--rw import-policy*           leafref
       |     |  |  +--rw default-import-policy?   default-policy-type
       |     |  |  +--rw export-policy*           leafref
       |     |  |  +--rw default-export-policy?   default-policy-type
       |     |  +--rw local-as?                 inet:as-number
       |     |  +--rw peer-as                   inet:as-number
       |     |  +--rw address-family?           identityref
       |     |  +--rw multihop?                 uint8
       |     |  +--rw as-override?              boolean
       |     |  +--rw allow-own-as?             uint8
       |     |  +--rw prepend-global-as?        boolean
       |     |  +--rw send-default-route?       boolean
       |     |  +--rw site-of-origin?           rt-types:route-origin
       |     |  +--rw ipv6-site-of-origin?
       |     |  |       rt-types:ipv6-route-origin
       |     |  +--rw redistribute-connected* [address-family]
       |     |  |  +--rw address-family    identityref
       |     |  |  +--rw enable?           boolean
       |     |  +--rw bgp-max-prefix
       |     |  |  +--rw max-prefix?          uint32
       |     |  |  +--rw warning-threshold?   decimal64
       |     |  |  +--rw violate-action?      enumeration
       |     |  |  +--rw restart-timer?       uint32
       |     |  +--rw bgp-timers
       |     |     +--rw keepalive?   uint16
       |     |     +--rw hold-time?   uint16
       |     +--rw ospf
       |     |  +--rw address-family?   identityref
       |     |  +--rw area-id           yang:dotted-quad
       |     |  +--rw metric?           uint16
       |     |  +--rw max-lsa?          uint32
       |     +--rw isis
       |     |  +--rw address-family?   identityref
       |     |  +--rw area-address      area-address
       |     |  +--rw level?            identityref
       |     |  +--rw metric?           uint16
       |     |  +--rw mode?             enumeration
       |     +--rw rip
       |     |  +--rw address-family?   identityref
       |     |  +--rw timers
       |     |  |  +--rw update-interval?     uint16
       |     |  |  +--rw invalid-interval?    uint16
       |     |  |  +--rw holddown-interval?   uint16
       |     |  |  +--rw flush-interval?      uint16
       |     |  +--rw default-metric?   uint8
       |     +--rw vrrp
       |        +--rw address-family?   identityref
       |        +--rw ping-reply?       boolean
       +--rw oam
          +--rw bfd {vpn-common:bfd}?
             +--rw session-type?               identityref
             +--rw desired-min-tx-interval?    uint32
             +--rw required-min-rx-interval?   uint32
             +--rw local-multiplier?           uint8
             +--rw holdtime?                   uint32
]]></artwork>
        </figure>
        <t>The exact definition of the specific provisioning profiles profiles is local to each service provider. The model only includes an identifier for these profiles in order to ease identifying and binding local policies when building an AC. As shown in <xref target="profiles-tree"/>, the following identifiers can be included:</t>
        <dl>
          <dt>'encryption-profile-identifier':</dt>
          <dd>
            <t>An encryption profile refers to a set of policies related to the encryption schemes and setup that can be applied on the AC.</t>
          </dd>
          <dt>'qos-profile-identifier':</dt>
          <dd>
            <t>A Quality of Service (QoS) profile refers to a set of policies such as classification, marking, and actions (e.g., <xref target="RFC3644"/>).</t>
          </dd>
          <dt>'bfd-profile-identifier':</dt>
          <dd>
            <t>A Bidirectional Forwarding Detection (BFD) profile refers to a set of BFD policies <xref target="RFC5880"/> that can be invoked when building an AC.</t>
          </dd>
          <dt>'forwarding-profile-identifier':</dt>
          <dd>
            <t>A forwarding profile refers to the policies that apply to the forwarding of packets conveyed over an AC. Such policies may consist of, for example, applying Access Control Lists (ACLs).</t>
          </dd>
          <dt>'routing-profile-identifier':</dt>
          <dd>
            <t>A routing profile refers to a set of routing policies that will be invoked (e.g., BGP policies) for an AC.</t>
          </dd>
        </dl>
      </section>
      <section anchor="sec-l2">
        <name>L2 Connection</name>
        <t>The 'l2-connection' container is used to manage the Layer 2 properties of an AC. The  Layer 2 connection tree structure is shown in <xref target="l2-tree"/>.</t>
        <figure anchor="l2-tree">
          <name>Layer 2 Connection Tree Structure</name>
          <artwork><![CDATA[
  augment /nw:networks/nw:network/nw:node:
    +--rw ac* [name]
       +--rw name                 string
       +--rw ac-svc-ref?          ac-svc:attachment-circuit-reference
       +--rw ac-profile* [ac-profile-ref]
       |  +--rw ac-profile-ref    leafref
       |  +--rw network-ref?      -> /nw:networks/network/network-id
       +--rw ac-parent-ref
       |  +--rw ac-ref?        leafref
       |  +--rw node-ref?      leafref
       |  +--rw network-ref?   -> /nw:networks/network/network-id
       +--rw peer-sap-id*         string
       +--rw group* [group-id]
       |  +--rw group-id      string
       |  +--rw precedence?   identityref
       +--rw status
       |  +--rw admin-status
       |  |  +--rw status?        identityref
       |  |  +--ro last-change?   yang:date-and-time
       |  +--ro oper-status
       |     +--ro status?        identityref
       |     +--ro last-change?   yang:date-and-time
       +--rw description?         string
       +--rw l2-connection
       |  +--rw encapsulation
       |  |  +--rw encap-type?        identityref
       |  |  +--rw dot1q
       |  |  |  +--rw tag-type?         identityref
       |  |  |  +--rw cvlan-id?         uint16
       |  |  |  +--rw tag-operations
       |  |  |     +--rw (op-choice)?
       |  |  |     |  +--:(pop)
       |  |  |     |  |  +--rw pop?         empty
       |  |  |     |  +--:(push)
       |  |  |     |  |  +--rw push?        empty
       |  |  |     |  +--:(translate)
       |  |  |     |     +--rw translate?   empty
       |  |  |     +--rw tag-1?             dot1q-types:vlanid
       |  |  |     +--rw tag-1-type?
       |  |  |     |       dot1q-types:dot1q-tag-type
       |  |  |     +--rw tag-2?             dot1q-types:vlanid
       |  |  |     +--rw tag-2-type?
       |  |  |             dot1q-types:dot1q-tag-type
       |  |  +--rw priority-tagged
       |  |  |  +--rw tag-type?   identityref
       |  |  +--rw qinq
       |  |     +--rw tag-type?         identityref
       |  |     +--rw svlan-id          uint16
       |  |     +--rw cvlan-id          uint16
       |  |     +--rw tag-operations
       |  |        +--rw (op-choice)?
       |  |        |  +--:(pop)
       |  |        |  |  +--rw pop?         uint8
       |  |        |  +--:(push)
       |  |        |  |  +--rw push?        empty
       |  |        |  +--:(translate)
       |  |        |     +--rw translate?   uint8
       |  |        +--rw tag-1?             dot1q-types:vlanid
       |  |        +--rw tag-1-type?
       |  |        |       dot1q-types:dot1q-tag-type
       |  |        +--rw tag-2?             dot1q-types:vlanid
       |  |        +--rw tag-2-type?
       |  |                dot1q-types:dot1q-tag-type
       |  +--rw (l2-service)?
       |  |  +--:(l2-tunnel-service)
       |  |  |  +--rw l2-tunnel-service
       |  |  |     +--rw type?         identityref
       |  |  |     +--rw pseudowire
       |  |  |     |  +--rw vcid?      uint32
       |  |  |     |  +--rw far-end?   union
       |  |  |     +--rw vpls
       |  |  |     |  +--rw vcid?      uint32
       |  |  |     |  +--rw far-end*   union
       |  |  |     +--rw vxlan
       |  |  |        +--rw vni-id             uint32
       |  |  |        +--rw peer-mode?         identityref
       |  |  |        +--rw peer-ip-address*   inet:ip-address
       |  |  +--:(l2vpn)
       |  |     +--rw l2vpn-id?            vpn-common:vpn-id
       |  +--rw l2-termination-point?      string
       |  +--rw local-bridge-reference?    string
       |  +--rw bearer-reference?          string
       |  |       {vpn-common:bearer-reference}?
       |  +--rw lag-interface {vpn-common:lag-interface}?
       |     +--rw lag-interface-id?   string
       |     +--rw member-link-list
       |        +--rw member-link* [name]
       |           +--rw name    string
       +--rw ip-connection
       |  ...
       +--rw routing-protocols
       |  ...
       +--rw oam
       |  ...
       +--rw security
       |  ...
       +--rw service
          ...
]]></artwork>
        </figure>
        <t>The 'encapsulation' container specifies the Layer 2 encapsulation to use (if any) and allows the configuration of the relevant tags. Also, the model supports tag manipulation operations (e.g., tag rewrite).</t>
        <t>The 'l2-tunnel-service' container is used to specify the required parameters to set a Layer tunneling service (e.g., a Virtual Private LAN Service (VPLS), a Virtual eXtensible Local Area Network (VXLAN), or a pseudowire (<xref section="6.1" sectionFormat="of" target="RFC8077"/>)). 'l2vpn-id' is used to identify a L2VPN service that is associated with an Integrated Routing and Bridging (IRB) interface.</t>
        <t>To accommodate implementations that require internal bridging, a local bridge reference can be specified in 'local-bridge-reference'. Such a reference may be a local bridge domain.</t>
        <t>A reference to the bearer is maintained using 'bearer-reference'.</t>
      </section>
      <section anchor="sec-l3">
        <name>IP Connection</name>
        <t>This 'ip-connection' container is used to group Layer 3 connectivity information, particularly the IP addressing information, of an AC.</t>
        <t>The  Layer 3 connection tree structure is shown in <xref target="l3-tree"/>.</t>
        <figure anchor="l3-tree">
          <name>IP Connection Tree Structure</name>
          <artwork><![CDATA[
  augment /nw:networks/nw:network/nw:node:
    +--rw ac* [name]
       +--rw name                 string
       +--rw ac-svc-ref?          ac-svc:attachment-circuit-reference
       +--rw ac-profile* [ac-profile-ref]
       |  +--rw ac-profile-ref    leafref
       |  +--rw network-ref?      -> /nw:networks/network/network-id
       +--rw ac-parent-ref
       |  +--rw ac-ref?        leafref
       |  +--rw node-ref?      leafref
       |  +--rw network-ref?   -> /nw:networks/network/network-id
       +--rw peer-sap-id*         string
       +--rw group* [group-id]
       |  +--rw group-id      string
       |  +--rw precedence?   identityref
       +--rw status
       |  +--rw admin-status
       |  |  +--rw status?        identityref
       |  |  +--ro last-change?   yang:date-and-time
       |  +--ro oper-status
       |     +--ro status?        identityref
       |     +--ro last-change?   yang:date-and-time
       +--rw description?         string
       +--rw l2-connection
       |  ...
       +--rw ip-connection
       |  +--rw l3-termination-point?   string
       |  +--rw ipv4 {vpn-common:ipv4}?
       |  |  +--rw local-address?
       |  |  |       inet:ipv4-address
       |  |  +--rw prefix-length?                           uint8
       |  |  +--rw address-allocation-type?
       |  |  |       identityref
       |  |  +--rw (allocation-type)?
       |  |     +--:(dynamic)
       |  |     |  +--rw (address-assign)?
       |  |     |  |  +--:(number)
       |  |     |  |  |  +--rw number-of-dynamic-address?   uint16
       |  |     |  |  +--:(explicit)
       |  |     |  |     +--rw customer-addresses
       |  |     |  |        +--rw address-pool* [pool-id]
       |  |     |  |           +--rw pool-id          string
       |  |     |  |           +--rw start-address
       |  |     |  |           |       inet:ipv4-address
       |  |     |  |           +--rw end-address?
       |  |     |  |                   inet:ipv4-address
       |  |     |  +--rw (provider-dhcp)?
       |  |     |  |  +--:(dhcp-service-type)
       |  |     |  |  |  +--rw dhcp-service-type?
       |  |     |  |  |          enumeration
       |  |     |  |  +--:(service-type)
       |  |     |  |     +--rw (service-type)?
       |  |     |  |        +--:(relay)
       |  |     |  |           +--rw server-ip-address*
       |  |     |  |                   inet:ipv4-address
       |  |     |  +--rw (dhcp-relay)?
       |  |     |     +--:(customer-dhcp-servers)
       |  |     |        +--rw customer-dhcp-servers
       |  |     |           +--rw server-ip-address*
       |  |     |                   inet:ipv4-address
       |  |     +--:(static-addresses)
       |  |        +--rw address* [address-id]
       |  |           +--rw address-id          string
       |  |           +--rw customer-address?   inet:ipv4-address
       |  +--rw ipv6 {vpn-common:ipv6}?
       |     +--rw local-address?
       |     |       inet:ipv6-address
       |     +--rw prefix-length?                           uint8
       |     +--rw address-allocation-type?
       |     |       identityref
       |     +--rw (allocation-type)?
       |        +--:(dynamic)
       |        |  +--rw (address-assign)?
       |        |  |  +--:(number)
       |        |  |  |  +--rw number-of-dynamic-address?   uint16
       |        |  |  +--:(explicit)
       |        |  |     +--rw customer-addresses
       |        |  |        +--rw address-pool* [pool-id]
       |        |  |           +--rw pool-id          string
       |        |  |           +--rw start-address
       |        |  |           |       inet:ipv6-address
       |        |  |           +--rw end-address?
       |        |  |                   inet:ipv6-address
       |        |  +--rw (provider-dhcp)?
       |        |  |  +--:(dhcp-service-type)
       |        |  |  |  +--rw dhcp-service-type?
       |        |  |  |          enumeration
       |        |  |  +--:(service-type)
       |        |  |     +--rw (service-type)?
       |        |  |        +--:(relay)
       |        |  |           +--rw server-ip-address*
       |        |  |                   inet:ipv6-address
       |        |  +--rw (dhcp-relay)?
       |        |     +--:(customer-dhcp-servers)
       |        |        +--rw customer-dhcp-servers
       |        |           +--rw server-ip-address*
       |        |                   inet:ipv6-address
       |        +--:(static-addresses)
       |           +--rw address* [address-id]
       |              +--rw address-id          string
       |              +--rw customer-address?   inet:ipv6-address
       +--rw routing-protocols
       |  ...
       +--rw oam
       |  ...
       +--rw security
       |  ...
       +--rw service
          ...
]]></artwork>
        </figure>
        <t>A distinct Layer 3 interface other than the interface indicated under the 'l2-connection' container may be needed to terminate the Layer 3 connectivity. The identifier of such an interface is included in 'l3-termination-point'. For example, this data node can be used to carry the identifier of a bridge domain interface.</t>
        <t>This container can include IPv4, IPv6, or both if dual-stack is enabled. For both IPv4 and IPv6, the IP connection supports three IP address assignment modes for customer addresses: provider DHCP, DHCP relay, and static addressing. Note that for the IPv6 case, Stateless Address Autoconfiguration (SLAAC) <xref target="RFC4862"/> can be used.</t>
        <t>For both IPv4 and IPv6, 'address-allocation-type' is used to indicate the IP address allocation mode to activate for an AC. The allocated address represents the PE interface address configuration. When 'address-allocation-type' is set to 'provider-dhcp', DHCP assignments can be made locally or by an external DHCP server. Such behavior is controlled by setting 'dhcp-service-type'.</t>
        <t>For IPv6, if 'address-allocation-type' is set to 'slaac', the Prefix Information option of Router Advertisements that will be issued for SLAAC purposes will carry the IPv6 prefix that is determined by 'local-address' and 'prefix-length'. For example, if 'local-address' is set to '2001:db8:0:1::1' and 'prefix-length' is set to '64', the IPv6 prefix that will be used is '2001:db8:0:1::/64'.</t>
        <t>In some deployment contexts (e.g., network merging), multiple IP subnets may be used in a transition period. For such deployments, multiple ACs (typically, two) with overlapping information may be maintained during a transition period. The correlation between these ACs may rely upon the same "ac-svc-ref".</t>
      </section>
      <section anchor="sec-rtg">
        <name>Routing</name>
        <t>The overall routing subtree structure is shown in <xref target="rtg-tree"/>.</t>
        <figure anchor="rtg-tree">
          <name>Routing Tree Structure</name>
          <artwork><![CDATA[
module: ietf-ac-ntw
  augment /nw:networks/nw:network:
    +--rw ac-profile* [name]
       +--rw name                 string
       +--rw routing-protocols
       |  +--rw routing-protocol* [id]
       |     +--rw id      string
       |     +--rw type?   identityref
       |     +--rw bgp
       |     |  ...
       |     +--rw ospf
       |     |  ...
       |     +--rw isis
       |     |  ...
       |     +--rw rip
       |     |  ...
       |     +--rw vrrp
       |        ...
       +--rw oam
          ...
  augment /nw:networks/nw:network/nw:node:
    +--rw ac* [name]
       +--rw name                 string
       ...
       +--rw l2-connection
       |  ...
       +--rw ip-connection
       |  ...
       +--rw routing-protocols
       |  +--rw routing-protocol* [id]
       |     +--rw id                  string
       |     +--rw type?               identityref
       |     +--rw routing-profile* [routing-profile-ref]
       |     |  +--rw routing-profile-ref    leafref
       |     |  +--rw network-ref?
       |     |  |       -> /nw:networks/network/network-id
       |     |  +--rw type?                  identityref
       |     +--rw static
       |     |  ...
       |     +--rw bgp
       |     |  ...
       |     +--rw ospf
       |     |  ...
       |     +--rw isis
       |     |  ...
       |     +--rw rip
       |     |  ...
       |     +--rw vrrp
       |        ...
       +--rw oam
       |  ...
       +--rw security
       |  ...
       +--rw service
          ...
]]></artwork>
        </figure>
        <t>Multiple routing instances ('routing-protocol') can be defined, each uniquely identified
by an 'id'. Specifically, each instance is uniquely identified to accommodate scenarios
where multiple instances of the same routing protocol have to be configured on the same AC.</t>
        <t>The type of a routing instance is indicated in 'type'.
The values of this attribute are those defined in <xref target="RFC9181"/> (the
'routing-protocol-type' identity). Specific data nodes are then provided
as a function of the 'type'. See more details in the following subsections.</t>
        <t>One or multiple routing profiles ('routing-profiles') can be provided for
a given routing instance.</t>
        <section anchor="sec-static-rtg">
          <name>Static Routing</name>
          <t>The static routing subtree structure is shown in <xref target="static-tree"/>.</t>
          <figure anchor="static-tree">
            <name>Static Routing Tree Structure</name>
            <artwork><![CDATA[
module: ietf-ac-ntw
          ...
  augment /nw:networks/nw:network/nw:node:
    +--rw ac* [name]
       +--rw name                 string
       ...
       +--rw l2-connection
       |  ...
       +--rw ip-connection
       |  ...
       +--rw routing-protocols
       |  +--rw routing-protocol* [id]
       |     +--rw id                  string
       |     +--rw type?               identityref
       |     +--rw routing-profile* [routing-profile-ref]
       |     |  +--rw routing-profile-ref    leafref
       |     |  +--rw network-ref?
       |     |  |       -> /nw:networks/network/network-id
       |     |  +--rw type?                  identityref
       |     +--rw static
       |     |  +--rw cascaded-lan-prefixes
       |     |     +--rw ipv4-lan-prefixes* [lan next-hop]
       |     |     |       {vpn-common:ipv4}?
       |     |     |  +--rw lan           inet:ipv4-prefix
       |     |     |  +--rw lan-tag?      string
       |     |     |  +--rw next-hop      union
       |     |     |  +--rw metric?       uint32
       |     |     +--rw bfd
       |     |     |  +--rw enable?            boolean
       |     |     |  +--rw bfd-profile-ref?   leafref
       |     |     |  +--rw network-ref?
       |     |     |          -> /nw:networks/network/network-id
       |     |     |  +--rw preference?   uint32
       |     |     |  +--rw status
       |     |     |     +--rw admin-status
       |     |     |     |  +--rw status?        identityref
       |     |     |     |  +--ro last-change?   yang:date-and-time
       |     |     |     +--ro oper-status
       |     |     |        +--ro status?        identityref
       |     |     |        +--ro last-change?   yang:date-and-time
       |     |     +--rw ipv6-lan-prefixes* [lan next-hop]
       |     |             {vpn-common:ipv6}?
       |     |        +--rw lan           inet:ipv4-prefix
       |     |        +--rw lan-tag?      string
       |     |        +--rw next-hop      union
       |     |        +--rw metric?       uint32
       |     |        +--rw bfd
       |     |        |  +--rw enable?            boolean
       |     |        |  +--rw bfd-profile-ref?   leafref
       |     |        |  +--rw network-ref?
       |     |        |          -> /nw:networks/network/network-id
       |     |        +--rw preference?   uint32
       |     |        +--rw status
       |     |           +--rw admin-status
       |     |           |  +--rw status?        identityref
       |     |           |  +--ro last-change?   yang:date-and-time
       |     |           +--ro oper-status
       |     |              +--ro status?        identityref
       |     |              +--ro last-change?   yang:date-and-time
       |     +--rw bgp
       |     |  ...
       |     +--rw ospf
       |     |  ...
       |     +--rw isis
       |     |  ...
       |     +--rw rip
       |     |  ...
       |     +--rw vrrp
       |        ...
       +--rw oam
       |  ...
       +--rw security
       |  ...
       +--rw service
          ...
]]></artwork>
          </figure>
          <t>The following data nodes can be defined for a given IP prefix:</t>
          <dl>
            <dt>'lan-tag':</dt>
            <dd>
              <t>Indicates a local tag (e.g., "myfavorite-lan") that is used to enforce local policies.</t>
            </dd>
            <dt>'next-hop':</dt>
            <dd>
              <t>Indicates the next hop to be used for the static route.</t>
            </dd>
            <dt/>
            <dd>
              <t>It can be identified by an IP address, a predefined next-hop type (e.g., 'discard' or 'local-link'), etc.</t>
            </dd>
            <dt>'bfd':</dt>
            <dd>
              <t>Indicates whether BFD is enabled or disabled for this static route entry. A BFD profile may also be provided.</t>
            </dd>
            <dt>'metric':</dt>
            <dd>
              <t>Indicates the metric associated with the static route entry. This metric is used when the route is exported into an IGP.</t>
            </dd>
            <dt>'preference':</dt>
            <dd>
              <t>Indicates the preference associated with the static route entry.</t>
            </dd>
            <dt/>
            <dd>
              <t>This preference is used to select a preferred route among routes to the same destination prefix.</t>
            </dd>
            <dt>'status':</dt>
            <dd>
              <t>Used to convey the status of a static route entry. This data node can also be used to control the (de)activation of individual static route entries.</t>
            </dd>
          </dl>
        </section>
        <section anchor="sec-bgp-rtg">
          <name>BGP</name>
          <t>The BGP routing subtree structure is shown in <xref target="bgp-tree"/>.</t>
          <figure anchor="bgp-tree">
            <name>BGP Routing Tree Structure</name>
            <artwork><![CDATA[
module: ietf-ac-ntw
  augment /nw:networks/nw:network:
    +--rw ac-profile* [name]
       +--rw name                 string
       +--rw routing-protocols
       |  +--rw routing-protocol* [id]
       |     +--rw id      string
       |     +--rw type?   identityref
       |     +--rw bgp
       |     |  +--rw description?              string
       |     |  +--rw apply-policy
       |     |  |  +--rw import-policy*           leafref
       |     |  |  +--rw default-import-policy?   default-policy-type
       |     |  |  +--rw export-policy*           leafref
       |     |  |  +--rw default-export-policy?   default-policy-type
       |     |  +--rw local-as?                 inet:as-number
       |     |  +--rw peer-as                   inet:as-number
       |     |  +--rw address-family?           identityref
       |     |  +--rw multihop?                 uint8
       |     |  +--rw as-override?              boolean
       |     |  +--rw allow-own-as?             uint8
       |     |  +--rw prepend-global-as?        boolean
       |     |  +--rw send-default-route?       boolean
       |     |  +--rw site-of-origin?           rt-types:route-origin
       |     |  +--rw ipv6-site-of-origin?
       |     |  |       rt-types:ipv6-route-origin
       |     |  +--rw redistribute-connected* [address-family]
       |     |  |  +--rw address-family    identityref
       |     |  |  +--rw enabled?           boolean
       |     |  +--rw bgp-max-prefix
       |     |  |  +--rw max-prefix?          uint32
       |     |  |  +--rw warning-threshold?   decimal64
       |     |  |  +--rw violate-action?      enumeration
       |     |  |  +--rw restart-timer?       uint32
       |     |  +--rw bgp-timers
       |     |  |  +--rw keepalive?   uint16
       |     |  |  +--rw hold-time?   uint16
       |     |  +--rw capability*        [address-family]
       |     |     +--rw address-family    identityref
       |     |     +--rw name              identityref
       |     +--rw ospf
       |     |  ...
       |     +--rw isis
       |     |  ...
       |     +--rw rip
       |     |  ...
       |     +--rw vrrp
       |        ...
       +--rw oam
          ...
  augment /nw:networks/nw:network/nw:node:
    +--rw ac* [name]
       +--rw name                 string
       ...
       +--rw l2-connection
       |  ...
       +--rw ip-connection
       |  ...
       +--rw routing-protocols
       |  +--rw routing-protocol* [id]
       |     +--rw id                  string
       |     +--rw type?               identityref
       |     +--rw routing-profile* [routing-profile-ref]
       |     |  +--rw routing-profile-ref    leafref
       |     |  +--rw network-ref?
       |     |  |       -> /nw:networks/network/network-id
       |     |  +--rw type?                  identityref
       |     +--rw static
       |     |  ...
       |     +--rw bgp
       |     |  +--rw peer-groups
       |     |  |  +--rw peer-group* [name]
       |     |  |     +--rw name                      string
       |     |  |     +--rw local-address?            union
       |     |  |     +--rw description?              string
       |     |  |     +--rw apply-policy
       |     |  |     |  +--rw import-policy*           leafref
       |     |  |     |  +--rw default-import-policy?
       |     |  |     |  |       default-policy-type
       |     |  |     |  +--rw export-policy*           leafref
       |     |  |     |  +--rw default-export-policy?
       |     |  |     |          default-policy-type
       |     |  |     +--rw local-as?                 inet:as-number
       |     |  |     +--rw peer-as                   inet:as-number
       |     |  |     +--rw address-family?           identityref
       |     |  |     +--rw multihop?                 uint8
       |     |  |     +--rw as-override?              boolean
       |     |  |     +--rw allow-own-as?             uint8
       |     |  |     +--rw prepend-global-as?        boolean
       |     |  |     +--rw send-default-route?       boolean
       |     |  |     +--rw site-of-origin?
       |     |  |     |       rt-types:route-origin
       |     |  |     +--rw ipv6-site-of-origin?
       |     |  |     |       rt-types:ipv6-route-origin
       |     |  |     +--rw redistribute-connected* [address-family]
       |     |  |     |  +--rw address-family    identityref
       |     |  |     |  +--rw enabled?           boolean
       |     |  |     +--rw bgp-max-prefix
       |     |  |     |  +--rw max-prefix?          uint32
       |     |  |     |  +--rw warning-threshold?   decimal64
       |     |  |     |  +--rw violate-action?      enumeration
       |     |  |     |  +--rw restart-timer?       uint32
       |     |  |     +--rw bgp-timers
       |     |  |     |  +--rw keepalive?   uint16
       |     |  |     |  +--rw hold-time?   uint16
       |     |  |     +--rw capability*        [address-family]
       |     |  |     |   +--rw address-family    identityref
       |     |  |     |   +--rw name              identityref
       |     |  |     +--rw authentication
       |     |  |        +--rw enabled?            boolean
       |     |  |        +--rw keying-material
       |     |  |           +--rw (option)?
       |     |  |              +--:(ao)
       |     |  |              |  +--rw enable-ao?          boolean
       |     |  |              |  +--rw ao-keychain?
       |     |  |              |          key-chain:key-chain-ref
       |     |  |              +--:(md5)
       |     |  |              |  +--rw md5-keychain?
       |     |  |              |          key-chain:key-chain-ref
       |     |  |              +--:(explicit)
       |     |  |                 +--rw key-id?             uint32
       |     |  |                 +--rw key?                string
       |     |  |                 +--rw crypto-algorithm?
       |     |  |                         identityref
       |     |  +--rw neighbor* [remote-address]
       |     |     +--rw remote-address            inet:ip-address
       |     |     +--rw local-address?            union
       |     |     +--rw peer-group?
       |     |     |       -> ../../peer-groups/peer-group/name
       |     |     +--rw description?              string
       |     |     +--rw apply-policy
       |     |     |  +--rw import-policy*           leafref
       |     |     |  +--rw default-import-policy?
       |     |     |  |       default-policy-type
       |     |     |  +--rw export-policy*           leafref
       |     |     |  +--rw default-export-policy?
       |     |     |          default-policy-type
       |     |     +--rw local-as?                 inet:as-number
       |     |     +--rw peer-as                   inet:as-number
       |     |     +--rw address-family?           identityref
       |     |     +--rw multihop?                 uint8
       |     |     +--rw as-override?              boolean
       |     |     +--rw allow-own-as?             uint8
       |     |     +--rw prepend-global-as?        boolean
       |     |     +--rw send-default-route?       boolean
       |     |     +--rw site-of-origin?
       |     |     |       rt-types:route-origin
       |     |     +--rw ipv6-site-of-origin?
       |     |     |       rt-types:ipv6-route-origin
       |     |     +--rw redistribute-connected* [address-family]
       |     |     |  +--rw address-family    identityref
       |     |     |  +--rw enabled?           boolean
       |     |     +--rw bgp-max-prefix
       |     |     |  +--rw max-prefix?          uint32
       |     |     |  +--rw warning-threshold?   decimal64
       |     |     |  +--rw violate-action?      enumeration
       |     |     |  +--rw restart-timer?       uint32
       |     |     +--rw bgp-timers
       |     |     |  +--rw keepalive?   uint16
       |     |     |  +--rw hold-time?   uint16
       |     |     +--rw capability*        [address-family]
       |     |     |   +--rw address-family    identityref
       |     |     |   +--rw name              identityref
       |     |     +--rw bfd
       |     |     |  +--rw enable?            boolean
       |     |     |  +--rw bfd-profile-ref?   leafref
       |     |     |  +--rw network-ref?
       |     |     |          -> /nw:networks/network/network-id
       |     |     +--rw authentication
       |     |     |  +--rw enabled?            boolean
       |     |     |  +--rw keying-material
       |     |     |     +--rw (option)?
       |     |     |        +--:(ao)
       |     |     |        |  +--rw enable-ao?          boolean
       |     |     |        |  +--rw ao-keychain?
       |     |     |        |          key-chain:key-chain-ref
       |     |     |        +--:(md5)
       |     |     |        |  +--rw md5-keychain?
       |     |     |        |          key-chain:key-chain-ref
       |     |     |        +--:(explicit)
       |     |     |           +--rw key-id?             uint32
       |     |     |           +--rw key?                string
       |     |     |           +--rw crypto-algorithm?   identityref
       |     |     +--rw status
       |     |        +--rw admin-status
       |     |        |  +--rw status?        identityref
       |     |        |  +--ro last-change?   yang:date-and-time
       |     |        +--ro oper-status
       |     |           +--ro status?        identityref
       |     |           +--ro last-change?   yang:date-and-time
       |     +--rw ospf
       |     |  ...
       |     +--rw isis
       |     |  ...
       |     +--rw rip
       |     |  ...
       |     +--rw vrrp
       |        ...
       +--rw oam
       |  ...
       +--rw security
       |  ...
       +--rw service
          ...
]]></artwork>
          </figure>
          <t>The following data nodes are supported for each 'peer-group':</t>
          <dl>
            <dt>'name':</dt>
            <dd>
              <t>Defines a name for the peer group.</t>
            </dd>
            <dt>'local-address':</dt>
            <dd>
              <t>Specifies an address or a reference to an interface to use when establishing the BGP transport session.</t>
            </dd>
            <dt>'description':</dt>
            <dd>
              <t>Includes a description of the peer group.</t>
            </dd>
            <dt>'apply-policy':</dt>
            <dd>
              <t>Lists a set of import/export policies <xref target="RFC9067"/> to apply for this group.</t>
            </dd>
            <dt>'local-as':</dt>
            <dd>
              <t>Indicates a local AS Number (ASN).</t>
            </dd>
            <dt>'peer-as':</dt>
            <dd>
              <t>Indicates the peer's ASN.</t>
            </dd>
            <dt>'address-family':</dt>
            <dd>
              <t>Indicates the address family of the peer.  It can
   be set to 'ipv4', 'ipv6', or 'dual-stack'.</t>
            </dd>
            <dt/>
            <dd>
              <t>This address family might be used together with the service type that uses an AC (e.g., 'vpn-type' <xref target="RFC9182"/>) to derive the appropriate Address Family Identifiers (AFIs) / Subsequent Address Family Identifiers (SAFIs) that will be part of the derived device configurations (e.g., unicast IPv4 MPLS L3VPN (AFI,SAFI = 1,128) as defined in <xref section="4.3.4" sectionFormat="of" target="RFC4364"/>).</t>
            </dd>
            <dt>'multihop':</dt>
            <dd>
              <t>Indicates the number of allowed IP hops to reach a BGP peer.</t>
            </dd>
            <dt>'as-override':</dt>
            <dd>
              <t>If set, this parameter indicates whether ASN override
   is enabled, i.e., replacing the ASN of the customer specified in
   the AS_PATH BGP attribute with the ASN identified in the 'local-
   as' attribute.</t>
            </dd>
            <dt>'allow-own-as':</dt>
            <dd>
              <t>Used in some topologies (e.g., hub-and-spoke) to
   allow the provider's ASN to be included in the AS_PATH BGP
   attribute received from a peer.  Loops are prevented by setting
   'allow-own-as' to a maximum number of the provider's ASN
   occurrences.  By default, this parameter is set to '0' (that is,
   reject any AS_PATH attribute that includes the provider's ASN).</t>
            </dd>
            <dt>'prepend-global-as':</dt>
            <dd>
              <t>When distinct ASNs are configured at the
   node and AC levels, this parameter controls whether
   the ASN provided at the node level is prepended to the AS_PATH
   attribute.</t>
            </dd>
            <dt>'send-default-route':</dt>
            <dd>
              <t>Controls whether default routes can be advertised to the peer.</t>
            </dd>
            <dt>'site-of-origin':</dt>
            <dd>
              <t>Meant to uniquely identify the set of routes
   learned from a site via a particular AC.  It is used
   to prevent routing loops (<xref section="7" sectionFormat="of" target="RFC4364"/>).  The Site of
   Origin attribute is encoded as a Route Origin Extended Community.</t>
            </dd>
            <dt>'ipv6-site-of-origin':</dt>
            <dd>
              <t>Carries an IPv6 Address Specific BGP Extended
    Community that is used to indicate the Site of Origin <xref target="RFC5701"/>.  It is used to prevent routing loops.</t>
            </dd>
            <dt>'redistribute-connected':</dt>
            <dd>
              <t>Controls whether the AC is advertised to other PEs.</t>
            </dd>
          </dl>
          <t>'bgp-max-prefix':  Controls the behavior when a prefix maximum is
      reached.</t>
          <dl>
            <dt>'max-prefix':</dt>
            <dd>
              <t>Indicates the maximum number of BGP prefixes
    allowed in a session for this group.  If the limit is reached, the
    action indicated in 'violate-action' will be followed.</t>
            </dd>
            <dt>'warning-threshold':</dt>
            <dd>
              <t>A warning notification is triggered when this limit is reached.</t>
            </dd>
            <dt>'violate-action':</dt>
            <dd>
              <t>Indicates which action to execute when the
    maximum number of BGP prefixes is reached.  Examples of such
    actions include sending a warning message, discarding extra
    paths from the peer, or restarting the session.</t>
            </dd>
            <dt>'restart-timer':</dt>
            <dd>
              <t>Indicates, in seconds, the time interval after
 which the BGP session will be reestablished.</t>
            </dd>
            <dt>'bgp-timers':</dt>
            <dd>
              <t>Two timers can be captured in this container: (1)
   'hold-time', which is the time interval that will be used for the
   Hold Timer (<xref section="4.2" sectionFormat="of" target="RFC4271"/>) when establishing a BGP
   session and (2) 'keepalive', which is the time interval for the
   KeepaliveTimer between a PE and a BGP peer (<xref section="4.4" sectionFormat="of" target="RFC4271"/>).</t>
            </dd>
            <dt/>
            <dd>
              <t>Both timers are expressed in seconds.</t>
            </dd>
            <dt>'capability':</dt>
            <dd>
              <t>Specifies a set of BGP capabilities (e.g., route refresh capability <xref target="RFC2918"/>)
to be enabled per address family.</t>
            </dd>
            <dt>'bfd':</dt>
            <dd>
              <t>Indicates whether BFD is enabled or disabled for this nighbor. A BFD profile to apply may also be provided.</t>
            </dd>
            <dt>'authentication':</dt>
            <dd>
              <t>The module adheres to the recommendations in
   <xref section="13.2" sectionFormat="of" target="RFC4364"/>, as it allows enabling the TCP
   Authentication Option (TCP-AO) <xref target="RFC5925"/> and accommodates the
   installed base that makes use of MD5.  In addition, the module
   includes a provision for using IPsec.</t>
            </dd>
            <dt/>
            <dd>
              <t>This version of the model assumes that parameters specific to the
    TCP-AO are preconfigured as part of the key chain that is
    referenced in the model.  No assumption is made about how such a
    key chain is preconfigured.  However, the structure of the key
    chain should cover data nodes beyond those in <xref target="RFC8177"/>, mainly
    SendID and RecvID (<xref section="3.1" sectionFormat="of" target="RFC5925"/>).</t>
            </dd>
          </dl>
          <t>For each neighbor, the following data nodes are supported in addition to similar parameters that are provided for a peer group:</t>
          <dl>
            <dt>'remote-address':</dt>
            <dd>
              <t>Specifies the remote IP address of a BGP neighbor.</t>
            </dd>
            <dt>'peer-group':</dt>
            <dd>
              <t>A name of a peer group.</t>
            </dd>
            <dt/>
            <dd>
              <t>Parameters that are provided at the 'neighbor' level takes precedence over the ones provided in the peer group.</t>
            </dd>
            <dt>'status':</dt>
            <dd>
              <t>Indicates the status of the BGP session.</t>
            </dd>
          </dl>
        </section>
        <section anchor="sec-ospf-rtg">
          <name>OSPF</name>
          <t>The OSPF routing subtree structure is shown in <xref target="ospf-tree"/>.</t>
          <figure anchor="ospf-tree">
            <name>OSPF Routing Tree Structure</name>
            <artwork><![CDATA[
module: ietf-ac-ntw
  augment /nw:networks/nw:network:
    +--rw ac-profile* [name]
       +--rw name                 string
       +--rw routing-protocols
       |  +--rw routing-protocol* [id]
       |     +--rw id      string
       |     +--rw type?   identityref
       |     +--rw bgp
       |     |  ...
       |     +--rw ospf
       |     |  +--rw address-family?   identityref
       |     |  +--rw area-id           yang:dotted-quad
       |     |  +--rw metric?           uint16
       |     |  +--rw max-lsa?          uint32
       |     +--rw isis
       |     |  ...
       |     +--rw rip
       |     |  ...
       |     +--rw vrrp
       |        ...
       +--rw oam
          ...
  augment /nw:networks/nw:network/nw:node:
    +--rw ac* [name]
       +--rw name                 string
       ...
       +--rw l2-connection
       |  ...
       +--rw ip-connection
       |  ...
       +--rw routing-protocols
       |  +--rw routing-protocol* [id]
       |     +--rw id                  string
       |     +--rw type?               identityref
       |     +--rw routing-profile* [routing-profile-ref]
       |     |  +--rw routing-profile-ref    leafref
       |     |  +--rw network-ref?
       |     |  |       -> /nw:networks/network/network-id
       |     |  +--rw type?                  identityref
       |     +--rw static
       |     |  ...
       |     +--rw bgp
       |     |  ...
       |     +--rw ospf
       |     |  +--rw address-family?   identityref
       |     |  +--rw area-id           yang:dotted-quad
       |     |  +--rw metric?           uint16
       |     |  +--rw sham-links {vpn-common:rtg-ospf-sham-link}?
       |     |  |  +--rw sham-link* [target-site]
       |     |  |     +--rw target-site    string
       |     |  |     +--rw metric?        uint16
       |     |  +--rw max-lsa?          uint32
       |     |  +--rw authentication
       |     |  |  +--rw enabled?            boolean
       |     |  |  +--rw keying-material
       |     |  |     +--rw (option)?
       |     |  |        +--:(auth-key-chain)
       |     |  |        |  +--rw key-chain?
       |     |  |        |          key-chain:key-chain-ref
       |     |  |        +--:(auth-key-explicit)
       |     |  |           +--rw key-id?             uint32
       |     |  |           +--rw key?                string
       |     |  |           +--rw crypto-algorithm?   identityref
       |     |  +--rw status
       |     |     +--rw admin-status
       |     |     |  +--rw status?        identityref
       |     |     |  +--ro last-change?   yang:date-and-time
       |     |     +--ro oper-status
       |     |        +--ro status?        identityref
       |     |        +--ro last-change?   yang:date-and-time
       |     +--rw isis
       |     |  ...
       |     +--rw rip
       |     |  ...
       |     +--rw vrrp
       |        ...
       +--rw oam
       |  ...
       +--rw security
       |  ...
       +--rw service
          ...
]]></artwork>
          </figure>
          <t>The following OSPF data nodes are supported:</t>
          <dl>
            <dt>'address-family':</dt>
            <dd>
              <t>Indicates whether IPv4, IPv6, or both address
   families are to be activated.</t>
            </dd>
            <dt/>
            <dd>
              <t>When the IPv4 or dual-stack address family is requested, it is up
    to the implementation (e.g., network orchestrator) to decide
    whether OSPFv2 <xref target="RFC4577"/> or OSPFv3 <xref target="RFC6565"/> is used to announce
    IPv4 routes.</t>
            </dd>
            <dt>'area-id':</dt>
            <dd>
              <t>Indicates the OSPF Area ID.</t>
            </dd>
            <dt>'metric':</dt>
            <dd>
              <t>Associates a metric with OSPF routes.</t>
            </dd>
            <dt>'sham-links':</dt>
            <dd>
              <t>Used to create OSPF sham links between two ACs sharing the same area and having a backdoor link
   (<xref section="4.2.7" sectionFormat="of" target="RFC4577"/> and <xref section="5" sectionFormat="of" target="RFC6565"/>).</t>
            </dd>
            <dt>'max-lsa':</dt>
            <dd>
              <t>Sets the maximum number of Link State Advertisements
   (LSAs) that the OSPF instance will accept.</t>
            </dd>
            <dt>'authentication':</dt>
            <dd>
              <t>Controls the authentication schemes to be enabled
   for the OSPF instance.  The following options are supported: IPsec
   for OSPFv3 authentication <xref target="RFC4552"/>, and the Authentication
   Trailer for OSPFv2 <xref target="RFC5709"/> <xref target="RFC7474"/> and OSPFv3 <xref target="RFC7166"/>.</t>
            </dd>
            <dt>'status':</dt>
            <dd>
              <t>Indicates the status of the OSPF routing instance.</t>
            </dd>
          </dl>
        </section>
        <section anchor="sec-isis-rtg">
          <name>IS-IS</name>
          <t>The IS-IS routing subtree structure is shown in <xref target="isis-tree"/>.</t>
          <figure anchor="isis-tree">
            <name>IS-IS Routing Tree Structure</name>
            <artwork><![CDATA[
module: ietf-ac-ntw
  augment /nw:networks/nw:network:
    +--rw ac-profile* [name]
       +--rw name                 string
       +--rw routing-protocols
       |  +--rw routing-protocol* [id]
       |     +--rw id      string
       |     +--rw type?   identityref
       |     +--rw bgp
       |     |  ...
       |     +--rw ospf
       |     |  ...
       |     +--rw isis
       |     |  +--rw address-family?   identityref
       |     |  +--rw area-address      area-address
       |     |  +--rw level?            identityref
       |     |  +--rw metric?           uint16
       |     |  +--rw mode?             enumeration
       |     +--rw rip
       |     |  ...
       |     +--rw vrrp
       |        ...
       +--rw oam
          ...
  augment /nw:networks/nw:network/nw:node:
    +--rw ac* [name]
       +--rw name                 string
       ...
       +--rw l2-connection
       |  ...
       +--rw ip-connection
       |  ...
       +--rw routing-protocols
       |  +--rw routing-protocol* [id]
       |     +--rw id                  string
       |     +--rw type?               identityref
       |     +--rw routing-profile* [routing-profile-ref]
       |     |  +--rw routing-profile-ref    leafref
       |     |  +--rw network-ref?
       |     |  |       -> /nw:networks/network/network-id
       |     |  +--rw type?                  identityref
       |     +--rw static
       |     |  ...
       |     +--rw bgp
       |     |  ...
       |     +--rw ospf
       |     |  ...
       |     +--rw isis
       |     |  +--rw address-family?   identityref
       |     |  +--rw area-address      area-address
       |     |  +--rw level?            identityref
       |     |  +--rw metric?           uint16
       |     |  +--rw mode?             enumeration
       |     |  +--rw authentication
       |     |  |  +--rw enabled?            boolean
       |     |  |  +--rw keying-material
       |     |  |     +--rw (option)?
       |     |  |        +--:(auth-key-chain)
       |     |  |        |  +--rw key-chain?
       |     |  |        |          key-chain:key-chain-ref
       |     |  |        +--:(auth-key-explicit)
       |     |  |           +--rw key-id?             uint32
       |     |  |           +--rw key?                string
       |     |  |           +--rw crypto-algorithm?   identityref
       |     |  +--rw status
       |     |     +--rw admin-status
       |     |     |  +--rw status?        identityref
       |     |     |  +--ro last-change?   yang:date-and-time
       |     |     +--ro oper-status
       |     |        +--ro status?        identityref
       |     |        +--ro last-change?   yang:date-and-time
       |     +--rw rip
       |     |  ...
       |     +--rw vrrp
       |        ...
       +--rw oam
       |  ...
       +--rw security
       |  ...
       +--rw service
          ...
]]></artwork>
          </figure>
          <t>The following IS-IS data nodes are supported:</t>
          <dl>
            <dt>'address-family':</dt>
            <dd>
              <t>Indicates whether IPv4, IPv6, or both address families are to be activated.</t>
            </dd>
            <dt>'area-address':</dt>
            <dd>
              <t>Indicates the IS-IS area address.</t>
            </dd>
            <dt>'level':</dt>
            <dd>
              <t>Indicates the IS-IS level: Level 1, Level 2, or both.</t>
            </dd>
            <dt>'metric':</dt>
            <dd>
              <t>Associates a metric with IS-IS routes.</t>
            </dd>
            <dt>'mode':</dt>
            <dd>
              <t>Indicates the IS-IS interface mode type.  It can be set to
   'active' (that is, send or receive IS-IS protocol control packets)
   or 'passive' (that is, suppress the sending of IS-IS updates
   through the interface).</t>
            </dd>
            <dt/>
            <dd>
              <t>'authentication':</t>
            </dd>
            <dt/>
            <dd>
              <t>Controls the authentication schemes to be enabled
   for the IS-IS instance.  Both the specification of a key chain
   <xref target="RFC8177"/> and the direct specification of key and authentication
   algorithms are supported.</t>
            </dd>
            <dt>'status':</dt>
            <dd>
              <t>Indicates the status of the IS-IS routing instance.</t>
            </dd>
          </dl>
        </section>
        <section anchor="sec-rip-rtg">
          <name>RIP</name>
          <t>The RIP routing subtree structure is shown in <xref target="rip-tree"/>.</t>
          <figure anchor="rip-tree">
            <name>RIP Routing Tree Structure</name>
            <artwork><![CDATA[
module: ietf-ac-ntw
  augment /nw:networks/nw:network:
    +--rw ac-profile* [name]
       +--rw name                 string
       +--rw routing-protocols
       |  +--rw routing-protocol* [id]
       |     +--rw id      string
       |     +--rw type?   identityref
       |     +--rw bgp
       |     |  ...
       |     +--rw ospf
       |     |  ...
       |     +--rw isis
       |     |  ...
       |     +--rw rip
       |     |  +--rw address-family?   identityref
       |     |  +--rw timers
       |     |  |  +--rw update-interval?     uint16
       |     |  |  +--rw invalid-interval?    uint16
       |     |  |  +--rw holddown-interval?   uint16
       |     |  |  +--rw flush-interval?      uint16
       |     |  +--rw default-metric?   uint8
       |     +--rw vrrp
       |        ...
       +--rw oam
          ...
  augment /nw:networks/nw:network/nw:node:
    +--rw ac* [name]
       +--rw name                 string
       ...
       +--rw l2-connection
       |  ...
       +--rw ip-connection
       |  ...
       +--rw routing-protocols
       |  +--rw routing-protocol* [id]
       |     +--rw id                  string
       |     +--rw type?               identityref
       |     +--rw routing-profile* [routing-profile-ref]
       |     |  +--rw routing-profile-ref    leafref
       |     |  +--rw network-ref?
       |     |  |       -> /nw:networks/network/network-id
       |     |  +--rw type?                  identityref
       |     +--rw static
       |     |  ...
       |     +--rw bgp
       |     |  ...
       |     +--rw ospf
       |     |  ...
       |     +--rw isis
       |     |  ...
       |     +--rw rip
       |     |  +--rw address-family?   identityref
       |     |  +--rw timers
       |     |  |  +--rw update-interval?     uint16
       |     |  |  +--rw invalid-interval?    uint16
       |     |  |  +--rw holddown-interval?   uint16
       |     |  |  +--rw flush-interval?      uint16
       |     |  +--rw default-metric?   uint8
       |     |  +--rw authentication
       |     |  |  +--rw enabled?            boolean
       |     |  |  +--rw keying-material
       |     |  |     +--rw (option)?
       |     |  |        +--:(auth-key-chain)
       |     |  |        |  +--rw key-chain?
       |     |  |        |          key-chain:key-chain-ref
       |     |  |        +--:(auth-key-explicit)
       |     |  |           +--rw key?                string
       |     |  |           +--rw crypto-algorithm?   identityref
       |     |  +--rw status
       |     |     +--rw admin-status
       |     |     |  +--rw status?        identityref
       |     |     |  +--ro last-change?   yang:date-and-time
       |     |     +--ro oper-status
       |     |        +--ro status?        identityref
       |     |        +--ro last-change?   yang:date-and-time
       |     +--rw vrrp
       |        ...
       +--rw oam
       |  ...
       +--rw security
       |  ...
       +--rw service
          ...
]]></artwork>
          </figure>
          <t>The following RIP data nodes are supported:</t>
          <dl>
            <dt>'address-family':</dt>
            <dd>
              <t>Indicates whether IPv4, IPv6, or both address
   families are to be activated.  This parameter is used to determine
   whether RIPv2 <xref target="RFC2453"/>, RIP Next Generation (RIPng), or both are
   to be enabled <xref target="RFC2080"/>.</t>
            </dd>
            <dt>'timers':</dt>
            <dd>
              <t>Indicates the following timers (expressed in seconds):
</t>
              <ul spacing="normal">
                <li>
                  <dl>
                    <dt>'update-interval':</dt>
                    <dd>
                      <t>The interval at which RIP updates are sent.</t>
                    </dd>
                  </dl>
                </li>
                <li>
                  <dl>
                    <dt>'invalid-interval':</dt>
                    <dd>
                      <t>The interval before a RIP route is declared invalid.</t>
                    </dd>
                  </dl>
                </li>
                <li>
                  <dl>
                    <dt>'holddown-interval':</dt>
                    <dd>
                      <t>The interval before better RIP routes are released.</t>
                    </dd>
                  </dl>
                </li>
                <li>
                  <dl>
                    <dt>'flush-interval':</dt>
                    <dd>
                      <t>The interval before a route is removed from the routing table.</t>
                    </dd>
                  </dl>
                </li>
              </ul>
            </dd>
            <dt>'default-metric':</dt>
            <dd>
              <t>Sets the default RIP metric.</t>
            </dd>
            <dt>'authentication':</dt>
            <dd>
              <t>Controls the authentication schemes to be enabled for the RIP instance.</t>
            </dd>
            <dt>'status':</dt>
            <dd>
              <t>Indicates the status of the RIP routing instance.</t>
            </dd>
          </dl>
        </section>
        <section anchor="sec-VRRP-rtg">
          <name>VRRP</name>
          <t>The VRRP subtree structure is shown in <xref target="vrrp-tree"/>.</t>
          <figure anchor="vrrp-tree">
            <name>VRRP Tree Structure</name>
            <artwork><![CDATA[
module: ietf-ac-ntw
  augment /nw:networks/nw:network:
    +--rw ac-profile* [name]
       +--rw name                 string
       +--rw routing-protocols
       |  +--rw routing-protocol* [id]
       |     +--rw id      string
       |     +--rw type?   identityref
       |     +--rw bgp
       |     |  ...
       |     +--rw ospf
       |     |  ...
       |     +--rw isis
       |     |  ...
       |     +--rw rip
       |     |  ...
       |     +--rw vrrp
       |        +--rw address-family?   identityref
       |        +--rw ping-reply?       boolean
       +--rw oam
          ...
  augment /nw:networks/nw:network/nw:node:
    +--rw ac* [name]
       +--rw name                 string
       ...
       +--rw l2-connection
       |  ...
       +--rw ip-connection
       |  ...
       +--rw routing-protocols
       |  +--rw routing-protocol* [id]
       |     +--rw id                  string
       |     +--rw type?               identityref
       |     +--rw routing-profile* [routing-profile-ref]
       |     |  +--rw routing-profile-ref    leafref
       |     |  +--rw network-ref?
       |     |  |       -> /nw:networks/network/network-id
       |     |  +--rw type?                  identityref
       |     +--rw static
       |     |  ...
       |     +--rw bgp
       |     |  ...
       |     +--rw ospf
       |     |  ...
       |     +--rw isis
       |     |  ...
       |     +--rw rip
       |     |  ...
       |     +--rw vrrp
       |        +--rw address-family?       identityref
       |        +--rw vrrp-group?           uint8
       |        +--rw backup-peer?          inet:ip-address
       |        +--rw virtual-ip-address*   inet:ip-address
       |        +--rw priority?             uint8
       |        +--rw ping-reply?           boolean
       |        +--rw status
       |           +--rw admin-status
       |           |  +--rw status?        identityref
       |           |  +--ro last-change?   yang:date-and-time
       |           +--ro oper-status
       |              +--ro status?        identityref
       |              +--ro last-change?   yang:date-and-time
       +--rw oam
       |  ...
       +--rw security
       |  ...
       +--rw service
          ...
]]></artwork>
          </figure>
          <t>The following VRRP data nodes are supported:</t>
          <dl>
            <dt>'address-family':</dt>
            <dd>
              <t>Indicates whether IPv4, IPv6, or both address
   families are to be activated.  Note that VRRP version 3 <xref target="RFC5798"/>
   supports both IPv4 and IPv6.</t>
            </dd>
            <dt>'vrrp-group':</dt>
            <dd>
              <t>Used to identify the VRRP group.</t>
            </dd>
            <dt>'backup-peer':</dt>
            <dd>
              <t>Carries the IP address of the peer.</t>
            </dd>
            <dt>'virtual-ip-address':</dt>
            <dd>
              <t>Includes virtual IP addresses for a single VRRP group.</t>
            </dd>
            <dt>'priority':</dt>
            <dd>
              <t>Assigns the VRRP election priority for the backup virtual router.</t>
            </dd>
            <dt>'ping-reply':</dt>
            <dd>
              <t>Controls whether the VRRP speaker should reply to ping requests.</t>
            </dd>
            <dt>'status':</dt>
            <dd>
              <t>Indicates the status of the VRRP instance.</t>
            </dd>
          </dl>
          <t>Note that no authentication data node is included for VRRP, as there
isn't any type of VRRP authentication at this time (see <xref section="9" sectionFormat="of" target="RFC5798"/>).</t>
        </section>
      </section>
      <section anchor="sec-oam">
        <name>OAM</name>
        <t>The OAM subtree structure is shown in <xref target="oam-tree"/>.</t>
        <figure anchor="oam-tree">
          <name>OAM Tree Structure</name>
          <artwork><![CDATA[
  augment /nw:networks/nw:network:
    +--rw ac-profile* [name]
       +--rw name                 string
       +--rw routing-protocols
       |  ...
       +--rw oam
          +--rw bfd {vpn-common:bfd}?
             +--rw session-type?               identityref
             +--rw desired-min-tx-interval?    uint32
             +--rw required-min-rx-interval?   uint32
             +--rw local-multiplier?           uint8
             +--rw holdtime?                   uint32
  augment /nw:networks/nw:network/nw:node:
    +--rw ac* [name]
       +--rw name                 string
       +--rw ac-svc-ref?          ac-svc:attachment-circuit-reference
       +--rw ac-profile* [ac-profile-ref]
       |  +--rw ac-profile-ref    leafref
       |  +--rw network-ref?      -> /nw:networks/network/network-id
       +--rw ac-parent-ref
       |  +--rw ac-ref?        leafref
       |  +--rw node-ref?      leafref
       |  +--rw network-ref?   -> /nw:networks/network/network-id
       +--rw peer-sap-id*         string
       +--rw group* [group-id]
       |  +--rw group-id      string
       |  +--rw precedence?   identityref
       +--rw status
       |  +--rw admin-status
       |  |  +--rw status?        identityref
       |  |  +--ro last-change?   yang:date-and-time
       |  +--ro oper-status
       |     +--ro status?        identityref
       |     +--ro last-change?   yang:date-and-time
       +--rw description?         string
       +--rw l2-connection
       |  ...
       +--rw ip-connection
       |  ...
       +--rw routing-protocols
       |  ...
       +--rw oam
       |  +--rw bfd
       |     +--rw session* [dest-addr]
       |        +--rw dest-addr                   inet:ip-address
       |        +--rw source-address?             union
       |        +--rw bfd-profile-ref?            leafref
       |        +--rw network-ref?
       |        |       -> /nw:networks/network/network-id
       |        +--rw session-type?               identityref
       |        +--rw desired-min-tx-interval?    uint32
       |        +--rw required-min-rx-interval?   uint32
       |        +--rw local-multiplier?           uint8
       |        +--rw holdtime?                   uint32
       |        +--rw authentication!
       |        |  +--rw key-chain?    key-chain:key-chain-ref
       |        |  +--rw meticulous?   boolean
       |        +--rw status
       |           +--rw admin-status
       |           |  +--rw status?        identityref
       |           |  +--ro last-change?   yang:date-and-time
       |           +--ro oper-status
       |              +--ro status?        identityref
       |              +--ro last-change?   yang:date-and-time
       +--rw security
       |  ...
       +--rw service
          ...
]]></artwork>
        </figure>
        <t>The following OAM data nodes can be specified for each BFD session:</t>
        <dl>
          <dt>'dest-addr':</dt>
          <dd>
            <t>Specifies the BFD peer address.</t>
          </dd>
          <dt>'source-address':</dt>
          <dd>
            <t>Specifies the local IP address or interface to use for the session.</t>
          </dd>
          <dt>'bfd-profile-ref':</dt>
          <dd>
            <t>Refers to a BFD profile (<xref target="sec-profiles"/>).</t>
          </dd>
          <dt>'network-ref':</dt>
          <dd>
            <t>Includes a network reference to uniquely identify a BFD profile.</t>
          </dd>
          <dt>'session-type':</dt>
          <dd>
            <t>Indicates which BFD flavor is used to set up the session (e.g., classic BFD <xref target="RFC5880"/>, Seamless BFD <xref target="RFC7880"/>). By default, it is assumed that the BFD session will follow the behavior specified in <xref target="RFC5880"/>.</t>
          </dd>
          <dt>'desired-min-tx-interval':</dt>
          <dd>
            <t>The minimum interval, in microseconds, to use when transmitting BFD Control packets, less any jitter applied.</t>
          </dd>
          <dt>'required-min-rx-interval':</dt>
          <dd>
            <t>The minimum interval, in microseconds, between received BFD Control packets less any jitter applied by the sender.</t>
          </dd>
          <dt>'local-multiplier':</dt>
          <dd>
            <t>The negotiated transmit interval, multiplied by this value, provides the detection time for the peer.</t>
          </dd>
          <dt>'holdtime':</dt>
          <dd>
            <t>Used to indicate the expected BFD holddown time, in milliseconds.</t>
          </dd>
          <dt>'authentication':</dt>
          <dd>
            <t>Includes the required information to enable the BFD authentication modes discussed in <xref section="6.7" sectionFormat="of" target="RFC5880"/>. In particular, 'meticulous' controls the activation of meticulous mode as discussed in Sections 6.7.3 and 6.7.4 of <xref target="RFC5880"/>.</t>
          </dd>
          <dt>'status':</dt>
          <dd>
            <t>Indicates the status of BFD.</t>
          </dd>
        </dl>
      </section>
      <section anchor="sec-sec">
        <name>Security</name>
        <t>The security subtree structure is shown in <xref target="sec-tree"/>. The 'security' container specifies the authentication and the encryption to be applied to traffic for a given AC. Tthe model can be used to directly control the encryption to be applied (e.g., Layer 2 or Layer 3 encryption) or invoke a local encryption profile.</t>
        <figure anchor="sec-tree">
          <name>Security Tree Structure</name>
          <artwork><![CDATA[
  augment /nw:networks/nw:network/nw:node:
    +--rw ac* [name]
       +--rw name                 string
       +--rw ac-svc-ref?          ac-svc:attachment-circuit-reference
       +--rw ac-profile* [ac-profile-ref]
       |  +--rw ac-profile-ref    leafref
       |  +--rw network-ref?      -> /nw:networks/network/network-id
       +--rw ac-parent-ref
       |  +--rw ac-ref?        leafref
       |  +--rw node-ref?      leafref
       |  +--rw network-ref?   -> /nw:networks/network/network-id
       +--rw peer-sap-id*         string
       +--rw group* [group-id]
       |  +--rw group-id      string
       |  +--rw precedence?   identityref
       +--rw status
       |  +--rw admin-status
       |  |  +--rw status?        identityref
       |  |  +--ro last-change?   yang:date-and-time
       |  +--ro oper-status
       |     +--ro status?        identityref
       |     +--ro last-change?   yang:date-and-time
       +--rw description?         string
       +--rw l2-connection
       |  ...
       +--rw ip-connection
       |  ...
       +--rw routing-protocols
       |  ...
       +--rw oam
       |  ...
       +--rw security
       |  +--rw encryption {vpn-common:encryption}?
       |  |  +--rw enabled?   boolean
       |  |  +--rw layer?     enumeration
       |  +--rw encryption-profile
       |     +--rw (profile)?
       |        +--:(provider-profile)
       |        |  +--rw encryption-profile-ref?   leafref
       |        |  +--rw network-ref?
       |        |          -> /nw:networks/network/network-id
       |        +--:(customer-profile)
       |           +--rw customer-key-chain?   key-chain:key-chain-ref
       +--rw service
          ...
]]></artwork>
        </figure>
      </section>
      <section anchor="sec-svc">
        <name>Service</name>
        <t>The service subtree structure is shown in <xref target="svc-tree"/>.</t>
        <figure anchor="svc-tree">
          <name>Service Tree Structure</name>
          <artwork><![CDATA[
  augment /nw:networks/nw:network/nw:node:
    +--rw ac* [name]
       +--rw name                 string
       +--rw ac-svc-ref?          ac-svc:attachment-circuit-reference
       +--rw ac-profile* [ac-profile-ref]
       |  +--rw ac-profile-ref    leafref
       |  +--rw network-ref?      -> /nw:networks/network/network-id
       +--rw ac-parent-ref
       |  +--rw ac-ref?        leafref
       |  +--rw node-ref?      leafref
       |  +--rw network-ref?   -> /nw:networks/network/network-id
       +--rw peer-sap-id*         string
       +--rw group* [group-id]
       |  +--rw group-id      string
       |  +--rw precedence?   identityref
       +--rw status
       |  +--rw admin-status
       |  |  +--rw status?        identityref
       |  |  +--ro last-change?   yang:date-and-time
       |  +--ro oper-status
       |     +--ro status?        identityref
       |     +--ro last-change?   yang:date-and-time
       +--rw description?         string
       +--rw l2-connection
       |  ...
       +--rw ip-connection
       |  ...
       +--rw routing-protocols
       |  ...
       +--rw oam
       |  ...
       +--rw security
       |  ...
       +--rw service
          +--rw mtu?                      uint32
          +--rw svc-pe-to-ce-bandwidth {vpn-common:inbound-bw}?
          |  +--rw bandwidth* [bw-type]
          |     +--rw bw-type      identityref
          |     +--rw (type)?
          |        +--:(per-cos)
          |        |  +--rw cos* [cos-id]
          |        |     +--rw cos-id    uint8
          |        |     +--rw cir?      uint64
          |        |     +--rw cbs?      uint64
          |        |     +--rw eir?      uint64
          |        |     +--rw ebs?      uint64
          |        |     +--rw pir?      uint64
          |        |     +--rw pbs?      uint64
          |        +--:(other)
          |           +--rw cir?   uint64
          |           +--rw cbs?   uint64
          |           +--rw eir?   uint64
          |           +--rw ebs?   uint64
          |           +--rw pir?   uint64
          |           +--rw pbs?   uint64
          +--rw svc-ce-to-pe-bandwidth {vpn-common:outbound-bw}?
          |  +--rw bandwidth* [bw-type]
          |     +--rw bw-type      identityref
          |     +--rw (type)?
          |        +--:(per-cos)
          |        |  +--rw cos* [cos-id]
          |        |     +--rw cos-id    uint8
          |        |     +--rw cir?      uint64
          |        |     +--rw cbs?      uint64
          |        |     +--rw eir?      uint64
          |        |     +--rw ebs?      uint64
          |        |     +--rw pir?      uint64
          |        |     +--rw pbs?      uint64
          |        +--:(other)
          |           +--rw cir?   uint64
          |           +--rw cbs?   uint64
          |           +--rw eir?   uint64
          |           +--rw ebs?   uint64
          |           +--rw pir?   uint64
          |           +--rw pbs?   uint64
          +--rw qos {vpn-common:qos}?
          |  +--rw qos-profiles
          |     +--rw qos-profile* [qos-profile-ref]
          |        +--rw qos-profile-ref    leafref
          |        +--rw network-ref?
          |        |       -> /nw:networks/network/network-id
          |        +--rw direction?         identityref
          +--rw access-control-list
             +--rw acl-profiles
                +--rw acl-profile* [forwarding-profile-ref]
                   +--rw forwarding-profile-ref    leafref
                   +--rw network-ref?
                           -> /nw:networks/network/network-id
]]></artwork>
        </figure>
        <t>The description of the service data nodes is as follows:</t>
        <dl>
          <dt>'mtu':</dt>
          <dd>
            <t>Specifies the Layer 2 MTU, in bytes, for the VPN network access.</t>
          </dd>
          <dt>'svc-pe-to-ce-bandwidth' and 'svc-ce-to-pe-bandwidth':</dt>
          <dd>
            <t>Specify the service bandwidth for the L2VPN service.</t>
          </dd>
          <dt/>
          <dd>
            <t>'svc-pe-to-ce-bandwidth' indicates the inbound bandwidth of the connection (i.e., download bandwidth from the service provider to the site).</t>
          </dd>
          <dt/>
          <dd>
            <t>'svc-ce-to-pe-bandwidth' indicates the outbound bandwidth of the connection (i.e., upload bandwidth from the site to the service provider).</t>
          </dd>
          <dt/>
          <dd>
            <t>'svc-pe-to-ce-bandwidth' and 'svc-ce-to-pe-bandwidth' can be represented using the Committed Information Rate (CIR), the Excess Information Rate (EIR), or the Peak Information Rate (PIR).</t>
          </dd>
          <dt/>
          <dd>
            <t>The following types, defined in <xref target="RFC9181"/>, can be used to indicate the bandwidth type:</t>
            <dl>
              <dt>'bw-per-cos':</dt>
              <dd>
                <t>The bandwidth is per CoS.</t>
              </dd>
              <dt>'bw-per-port':</dt>
              <dd>
                <t>The bandwidth is per port.</t>
              </dd>
              <dt>'bw-per-site':</dt>
              <dd>
                <t>The bandwidth is to all peer SAPs that belong to the same site.</t>
              </dd>
              <dt>'bw-per-service':</dt>
              <dd>
                <t>The bandwidth is per service instance that is bound to an AC.</t>
              </dd>
            </dl>
          </dd>
          <dt>'qos':</dt>
          <dd>
            <t>Specifies a list of QoS profiles to apply for this AC.</t>
          </dd>
          <dt>'access-control-list':</dt>
          <dd>
            <t>Specifies a list of ACL profiles to apply for this AC.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="sec-module">
      <name>YANG Module</name>
      <t>This module uses types defined in <xref target="RFC6991"/>, <xref target="RFC8177"/>, <xref target="RFC8294"/>, <xref target="RFC8343"/>, <xref target="RFC9067"/>, <xref target="RFC9181"/>, <xref target="I-D.ietf-opsawg-teas-common-ac"/>, and <xref target="IEEE802.1Qcp"/>.</t>
      <sourcecode type="yang"><![CDATA[
<CODE BEGINS> file "ietf-ac-ntw@2022-11-30.yang"
module ietf-ac-ntw {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-ac-ntw";
  prefix ac-ntw;

  import ietf-vpn-common {
    prefix vpn-common;
    reference
      "RFC 9181: A Common YANG Data Model for Layer 2 and Layer 3
                 VPNs";
  }
  import ietf-inet-types {
    prefix inet;
    reference
      "RFC 6991: Common YANG Data Types, Section 4";
  }
  import ietf-key-chain {
    prefix key-chain;
    reference
      "RFC 8177: YANG Data Model for Key Chains";
  }
  import ietf-routing-types {
    prefix rt-types;
    reference
      "RFC 8294: Common YANG Data Types for the Routing Area";
  }
  import ietf-routing-policy {
    prefix rt-pol;
    reference
      "RFC 9067: A YANG Data Model for Routing Policy";
  }
  import ietf-interfaces {
    prefix if;
    reference
      "RFC 8343: A YANG Data Model for Interface Management";
  }
  import ieee802-dot1q-types {
    prefix dot1q-types;
    reference
      "IEEE Std 802.1Qcp: Bridges and Bridged Networks--
                          Amendment 30: YANG Data Model";
  }
  import ietf-network {
    prefix nw;
    reference
      "RFC 8345: A YANG Data Model for Network Topologies, 
                 Section 6.1";
  }
  import ietf-sap-ntw {
    prefix sap;
    reference
      "RFC 9408: A YANG Network Model for Service Attachment
                 Points (SAPs)";
  }
  import ietf-ac-common {
    prefix ac-common;
    reference
      "RFC CCCC: A Common YANG Data Model for Attachment Circuits";
  }
  import ietf-ac-svc {
    prefix ac-svc;
    reference
      "RFC SSSS: YANG Service Data Models for Attachment Circuits";
  }

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

     Editor:   Mohamed Boucadair
               <mailto:mohamed.boucadair@orange.com>
     Author:   Richard Roberts
               <mailto:rroberts@juniper.net>
     Author:   Oscar Gonzalez de Dios
               <mailto:oscar.gonzalezdedios@telefonica.com>
     Author:   Samier Barguil
               <mailto:ssamier.barguil_giraldo@nokia.com>
     Author:   Bo Wu
               <mailto:lana.wubo@huawei.com>";
  description
    "This YANG module defines a YANG network model for the management
     of attachment circuits.

     Copyright (c) 2024 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

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

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

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

  // References

  /* A set of groupings to ease referencing cross-modules */

  grouping attachment-circuit-reference {
    description
      "This grouping can be used to reference an attachment circuit
       in a specific node.";
    leaf ac-ref {
      type leafref {
        path "/nw:networks/nw:network[nw:network-id=current()/../"
          + "network-ref]/nw:node[nw:node-id=current()/../"
          + "node-ref]/ac-ntw:ac/ac-ntw:name";
        require-instance false;
      }
      description
        "A type for an absolute reference to an attachment circuit.";
    }
    uses nw:node-ref;
  }

  grouping ac-profile-reference {
    description
      "This grouping can be used to reference an attachment circuit
       profile.";
    leaf ac-profile-ref {
      type leafref {
        path "/nw:networks/nw:network[nw:network-id=current()/../"
          + "network-ref]/ac-ntw:ac-profile/ac-ntw:name";
        require-instance false;
      }
      description
        "A type for an absolute reference to an attachment circuit.";
    }
    uses nw:network-ref;
  }

  grouping encryption-profile-reference {
    description
      "This grouping can be used to reference encryption
       profile.";
    leaf encryption-profile-ref {
      type leafref {
        path "/nw:networks/nw:network[nw:network-id=current()/../"
        + "network-ref]"
        + "/ac-ntw:specific-provisioning-profiles" 
        + "/ac-ntw:valid-provider-identifiers"
        + "/ac-ntw:encryption-profile-identifier/ac-ntw:id";
        require-instance false;
      }
      description
        "A type for an absolute reference to an encryption profile.";
    }
    uses nw:network-ref;
  }

  grouping qos-profile-reference {
    description
      "This grouping can be used to reference a QoS profile.";
    leaf qos-profile-ref {
      type leafref {
        path "/nw:networks/nw:network[nw:network-id=current()/../"
        + "network-ref]"
        + "/ac-ntw:specific-provisioning-profiles" 
        + "/ac-ntw:valid-provider-identifiers"
        + "/ac-ntw:qos-profile-identifier/ac-ntw:id";
        require-instance false;
      }
      description
        "A type for an absolute reference to a QoS profile.";
    }
    uses nw:network-ref;
  }


  grouping bfd-profile-reference {
    description
      "This grouping can be used to reference a BFD profile.";
    leaf bfd-profile-ref {
      type leafref {
        path "/nw:networks/nw:network[nw:network-id=current()/../"
        + "network-ref]"
        + "/ac-ntw:specific-provisioning-profiles" 
        + "/ac-ntw:valid-provider-identifiers"
        + "/ac-ntw:bfd-profile-identifier/ac-ntw:id";
        require-instance false;
      }
      description
        "A type for an absolute reference to a BFD profile.";
    }
    uses nw:network-ref;
  }

  grouping forwarding-profile-reference {
    description
      "This grouping can be used to reference a forwarding profile.";
    leaf forwarding-profile-ref {
      type leafref {
        path "/nw:networks/nw:network[nw:network-id=current()/../"
        + "network-ref]"
        + "/ac-ntw:specific-provisioning-profiles" 
        + "/ac-ntw:valid-provider-identifiers"
        + "/ac-ntw:forwarding-profile-identifier/ac-ntw:id";
        require-instance false;
      }
      description
        "A type for an absolute reference to a forwarding profile.";
    }
    uses nw:network-ref;
  }

  grouping routing-profile-reference {
    description
      "This grouping can be used to reference a routing profile.";
    leaf routing-profile-ref {
      type leafref {
        path "/nw:networks/nw:network[nw:network-id=current()/../"
        + "network-ref]"
        + "/ac-ntw:specific-provisioning-profiles" 
        + "/ac-ntw:valid-provider-identifiers"
        + "/ac-ntw:routing-profile-identifier/ac-ntw:id";
        require-instance false;
      }
      description
        "A type for an absolute reference to a routing profile.";
    }
    uses nw:network-ref;
  }

  // L2 conenction

  grouping l2-connection {
    description
      "Defines Layer 2 protocols and parameters that are required to
       enable AC connectivity.";
    container encapsulation {
      description
        "Container for Layer 2 encapsulation.";
      leaf encap-type {
        type identityref {
          base vpn-common:encapsulation-type;
        }
        description
          "Tagged interface type.";
      }
      container dot1q {
        when "derived-from-or-self(../encap-type, "
           + "'vpn-common:dot1q')" {
          description
            "Only applies when the type of the tagged interface is
             'dot1q'.";
        }
        description
          "Tagged interface.";
        uses ac-common:dot1q;
        container tag-operations {
          description
            "Sets the tag manipulation policy for this AC. It defines
             a set of tag manipulations that allow for the insertion,
             removal, or rewriting of 802.1Q VLAN tags. These
             operations are indicated for the CE-PE direction.
             By default, tag operations are symmetric. As such, the
             reverse tag operation is assumed on the PE-CE 
             direction.";
          choice op-choice {
            description
              "Selects the tag rewriting policy for an AC.";
            leaf pop {
              type empty;
              description
                "Pop the outer tag.";
            }
            leaf push {
              type empty;
              description
                "Pushes one or two tags defined by the tag-1 and
                 tag-2 leaves.  It is assumed that, absent any
                 policy, the default value of 0 will be used for
                 the PCP  setting.";
            }
            leaf translate {
              type empty;
              description
                "Translates the outer tag to one or two tags. PCP 
                 bits are preserved.";
            }
          }
          leaf tag-1 {
            when 'not(../pop)';
            type dot1q-types:vlanid;
            description
              "A first tag to be used for push or translate 
               operations. This tag will be used as the outermost tag
               as a result of the tag operation.";
          }
          leaf tag-1-type {
            type dot1q-types:dot1q-tag-type;
            default "dot1q-types:s-vlan";
            description
              "Specifies a specific 802.1Q tag type of tag-1.";
          }
          leaf tag-2 {
            when '(../translate)';
            type dot1q-types:vlanid;
            description
              "A second tag to be used for translation.";
          }
          leaf tag-2-type {
            type dot1q-types:dot1q-tag-type;
            default "dot1q-types:c-vlan";
            description
              "Specifies a specific 802.1Q tag type of tag-2.";
          }
        }
      }
      container priority-tagged {
        when "derived-from-or-self(../encap-type, "
           + "'vpn-common:priority-tagged')" {
          description
            "Only applies when the type of the tagged interface is
             'priority-tagged'.";
        }
        description
          "Priority tagged container.";
        uses ac-common:priority-tagged;
      }
      container qinq {
        when "derived-from-or-self(../encap-type, "
           + "'vpn-common:qinq')" {
          description
            "Only applies when the type of the tagged interface is
             'QinQ'.";
        }
        description
          "Includes QinQ parameters.";
        uses ac-common:qinq;
        container tag-operations {
          description
            "Sets the tag manipulation policy for this AC. It defines
             a set of tag manipulations that allow for the insertion,
             removal, or rewriting of 802.1Q VLAN tags. These
             operations are indicated for the CE-PE direction.
             By default, tag operations are symmetric. As such, the
             reverse tag operation is assumed on the PE-CE 
             direction.";
          choice op-choice {
            description
              "Selects the tag rewriting policy for a AC.";
            leaf pop {
              type uint8 {
                range "1|2";
              }
              description
                "Pops one or two tags as a function of the indicated
                 pop value.";
            }
            leaf push {
              type empty;
              description
                "Pushes one or two tags defined by the tag-1 and 
                 tag-2 leaves. It is assumed that, absent any 
                 policy, the default value of 0 will be used for 
                 PCP setting.";
            }
            leaf translate {
              type uint8 {
                range "1|2";
              }
              description
                "Translates one or two outer tags. PCP bits are 
                 preserved. The following operations are supported:

                 - translate 1 with tag-1 leaf is provided: only the 
                   outermost tag is translated to the value in tag-1.

                 - translate 2 with both tag-1 and tag-2 leaves are 
                   provided: both outer and inner tags are translated
                   to the values in tag-1 and tag-2, respectively.

                 - translate 2 with tag-1 leaf is provided: the 
                   outer tag is popped while the inner tag is 
                   translated to the value in tag-1.";
            }
          }
          leaf tag-1 {
            when 'not(../pop)';
            type dot1q-types:vlanid;
            description
              "A first tag to be used for push or translate 
               operations. This tag will be used as the outermost tag
               as a result of the tag operation.";
          }
          leaf tag-1-type {
            type dot1q-types:dot1q-tag-type;
            default "dot1q-types:s-vlan";
            description
              "Specifies a specific 802.1Q tag type of tag-1.";
          }
          leaf tag-2 {
            when 'not(../pop)';
            type dot1q-types:vlanid;
            description
              "A second tag to be used for push or translate 
               operations.";
          }
          leaf tag-2-type {
            type dot1q-types:dot1q-tag-type;
            default "dot1q-types:c-vlan";
            description
              "Specifies a specific 802.1Q tag type of tag-2.";
          }
        }
      }
    }
    choice l2-service {
      description
        "The Layer 2 connectivity service can be provided by 
         indicating a pointer to an L2VPN or by specifying a Layer 2
         tunnel service.";
      container l2-tunnel-service {
        description
          "Defines a Layer 2 tunnel termination.";
        uses ac-common:l2-tunnel-service;
      }
      case l2vpn {
        leaf l2vpn-id {
          type vpn-common:vpn-id;
          description
            "Indicates the L2VPN service associated with an 
             Integrated Routing and Bridging (IRB) interface.";
        }
      }
    }
  }

  grouping l2-connection-if-ref {
    description
      "Specifies Layer 2 connection paramters with interface 
       references.";
    uses l2-connection;
    leaf l2-termination-point {
      type string;
      description
        "Specifies a reference to a local Layer 2 termination point,
         such as a Layer 2 sub-interface.";
    }
    leaf local-bridge-reference {
      type string;
      description
        "Specifies a local bridge reference to accommodate, e.g.,
         implementations that require internal bridging.
         A reference may be a local bridge domain.";
    }
    leaf bearer-reference {
      if-feature "vpn-common:bearer-reference";
      type string;
      description
        "This is an internal reference for the service provider to
         identify the bearer associated with this AC.";
    }
    container lag-interface {
      if-feature "vpn-common:lag-interface";
      description
        "Container for configuration of Link Aggregation Group (LAG)
         interface attributes.";
      leaf lag-interface-id {
        type string;
        description
          "LAG interface identifier.";
      }
      container member-link-list {
        description
          "Container for the member link list.";
        list member-link {
          key "name";
          description
            "Member link.";
          leaf name {
            type string;
            description
              "Member link name.";
          }
        }
      }
    }
  }

  // IPv4 connection groupings

  grouping ipv4-connection {
    description
      "IPv4-specific parameters.";
    leaf local-address {
      type inet:ipv4-address;
      description
        "The IP address used at the provider's interface.";
    }
    uses ac-common:ipv4-allocation-type;
    choice allocation-type {
      description
        "Choice of the IPv4 address allocation.";
      case dynamic {
        description
          "When the addresses are allocated by DHCP or other
           dynamic means local to the infrastructure.";
        choice address-assign {
          description
            "A choice for how IPv4 addresses are assigned.";
          case number {
            leaf number-of-dynamic-address {
              type uint16;
              description
                "Specifies the number of IP addresses to be  
                 assigned to the customer on this access.";
            }
          }
          case explicit {
            container customer-addresses {
              description
                "Container for customer addresses to be allocated
                 using DHCP.";
              list address-pool {
                key "pool-id";
                description
                  "Describes IP addresses to be dyncamically 
                   allocated.

                   When only 'start-address' is present, it 
                   represents a single address.

                   When both 'start-address' and 'end-address' are
                   specified, it implies a range inclusive of both
                   addresses.";
                leaf pool-id {
                  type string;
                  description
                    "A pool identifier for the address range from
                     'start-address' to 'end-address'.";
                }
                leaf start-address {
                  type inet:ipv4-address;
                  mandatory true;
                  description
                    "Indicates the first address in the pool.";
                }
                leaf end-address {
                  type inet:ipv4-address;
                  description
                    "Indicates the last address in the pool.";
                }
              }
            }
          }
        }
        choice provider-dhcp {
          description
            "Parameters related to DHCP-allocated addresses.
             IP addresses are allocated by DHCP, which is provided
             by the operator.";
          leaf dhcp-service-type {
            type enumeration {
              enum server {
                description
                  "Local DHCP server.";
              }
              enum relay {
                description
                  "Local DHCP relay.  DHCP requests are relayed to a
                   provider's server.";
              }
            }
            description
              "Indicates the type of DHCP service to be enabled on
               this access.";
          }
          choice service-type {
            description
              "Choice based on the DHCP service type.";
            case relay {
              description
                "Container for a list of the provider's DHCP servers
                 (i.e., 'dhcp-service-type' is set to 'relay').";
              leaf-list server-ip-address {
                type inet:ipv4-address;
                description
                  "IPv4 addresses of the provider's DHCP server, for
                   use by the local DHCP relay.";
              }
            }
          }
        }
        choice dhcp-relay {
          description
            "The DHCP relay is provided by the operator.";
          container customer-dhcp-servers {
            description
              "Container for a list of the customer's DHCP servers.";
            leaf-list server-ip-address {
              type inet:ipv4-address;
              description
                "IPv4 addresses of the customer's DHCP server.";
            }
          }
        }
      }
      case static-addresses {
        description
          "Lists the IPv4 addresses that are used.";
        list address {
          key "address-id";
          ordered-by user;
          description
            "Lists the IPv4 addresses that are used. The first 
             address of the list is the primary address of the 
             connection.";
          leaf address-id {
            type string;
            description
              "An identifier of the static IPv4 address.";
          }
          leaf customer-address {
            type inet:ipv4-address;
            description
              "An IPv4 address of the customer side.";
          }
        }
      }
    }
  }

  grouping ipv6-connection {
    description
      "IPv6-specific parameters.";
    leaf local-address {
      type inet:ipv6-address;
      description
        "IPv6 address of the provider side.";
    }
    uses ac-common:ipv6-allocation-type;
    choice allocation-type {
      description
        "Choice of the IPv6 address allocation.";
      case dynamic {
        description
          "When the addresses are allocated by DHCP or other
           dynamic means local to the infrastructure.";
        choice address-assign {
          description
            "A choice for how IPv6 addresses are assigned.";
          case number {
            leaf number-of-dynamic-address {
              type uint16;
              description
                "Specifies the number of IP addresses to be 
                 assigned to the customer on this access.";
            }
          }
          case explicit {
            container customer-addresses {
              description
                "Container for customer addresses to be allocated
                 using DHCP.";
              list address-pool {
                key "pool-id";
                description
                  "Describes IP addresses to be dyncamically 
                   allocated.

                   When only 'start-address' is present, it 
                   represents a single address.

                   When both 'start-address' and 'end-address' are
                   specified, it implies a range inclusive of both
                   addresses.";
                leaf pool-id {
                  type string;
                  description
                    "A pool identifier for the address range from
                     'start-address' to 'end-address'.";
                }
                leaf start-address {
                  type inet:ipv6-address;
                  mandatory true;
                  description
                    "Indicates the first address in the pool.";
                }
                leaf end-address {
                  type inet:ipv6-address;
                  description
                    "Indicates the last address in the pool.";
                }
              }
            }
          }
        }
        choice provider-dhcp {
          description
            "Parameters related to DHCP-allocated addresses.
             IP addresses are allocated by DHCP, which is provided
             by the operator.";
          leaf dhcp-service-type {
            type enumeration {
              enum server {
                description
                  "Local DHCP server.";
              }
              enum relay {
                description
                  "Local DHCP relay. DHCP requests are relayed to
                   a provider's server.";
              }
            }
            description
              "Indicates the type of DHCP service to
               be enabled on this access.";
          }
          choice service-type {
            description
              "Choice based on the DHCP service type.";
            case relay {
              description
                "Container for a list of the provider's DHCP servers
                 (i.e., 'dhcp-service-type' is set to 'relay').";
              leaf-list server-ip-address {
                type inet:ipv6-address;
                description
                  "IPv6 addresses of the provider's DHCP server, for
                   use by the local DHCP relay.";
              }
            }
          }
        }
        choice dhcp-relay {
          description
            "The DHCP relay is provided by the operator.";
          container customer-dhcp-servers {
            description
              "Container for a list of the customer's DHCP servers.";
            leaf-list server-ip-address {
              type inet:ipv6-address;
              description
                "IPv6 addresses of the customer's DHCP server.";
            }
          }
        }
      }
      case static-addresses {
        description
          "Lists the IPv4 addresses that are used.";
        list address {
          key "address-id";
          ordered-by user;
          description
            "Lists the IPv6 addresses that are used. The first 
             address of the list is the primary address of 
             the connection.";
          leaf address-id {
            type string;
            description
              "An identifier of the static IPv4 address.";
          }
          leaf customer-address {
            type inet:ipv6-address;
            description
              "An IPv6 address of the customer side.";
          }
        }
      }
    }
  }

  grouping ip-connection {
    description
      "Defines IP connection parameters.";
    leaf l3-termination-point {
      type string;
      description
        "Specifies a reference to a local Layer 3 termination point,
         such as a bridge domain interface.";
    }
    container ipv4 {
      if-feature "vpn-common:ipv4";
      description
        "IPv4-specific parameters.";
      uses ipv4-connection;
    }
    container ipv6 {
      if-feature "vpn-common:ipv6";
      description
        "IPv6-specific parameters.";
      uses ipv6-connection;
    }
  }

  /* Routing */
  //BGP base parameters

  grouping bgp-base {
    description
      "Configuration specific to BGP.";
    leaf description {
      type string;
      description
        "Includes a description of the BGP session. This description 
         is meant to be used for diagnostic purposes. The semantic 
         of the description is local to an implementation.";
    }
    uses rt-pol:apply-policy-group;
    leaf local-as {
      type inet:as-number;
      description
        "Indicates a local AS Number (ASN), if an ASN distinct from
         the ASN configured at the AC level is needed.";
    }
    leaf peer-as {
      type inet:as-number;
      mandatory true;
      description
        "Indicates the customer's ASN when the customer requests BGP
         routing.";
    }
    leaf address-family {
      type identityref {
        base vpn-common:address-family;
      }
      description
        "This node contains the address families to be activated.
         'dual-stack' means that both IPv4 and IPv6 will be
         activated.";
    }
    leaf multihop {
      type uint8;
      description
        "Describes the number of IP hops allowed between a given BGP
         neighbor and the PE.";
    }
    leaf as-override {
      type boolean;
      description
        "Defines whether ASN override is enabled, i.e., replacing the
         ASN of the customer specified in the AS_PATH attribute with
         the local ASN.";
    }
    leaf allow-own-as {
      type uint8;
      description
        "If set, specifies the maximum number of occurrences of the
         provider's ASN that are permitted within the AS_PATH
         before it is rejected.";
    }
    leaf prepend-global-as {
      type boolean;
      description
        "In some situations, the ASN that is provided at the node
         level may be distinct from the ASN configured at the AC.
         When such ASNs are provided, they are both prepended to the
         BGP route updates for this AC. To disable that behavior,
         'prepend-global-as' must be set to 'false'.  In such a
         case, the ASN that is provided at the node level is not
         prepended to the BGP route updates for this access.";
    }
    leaf send-default-route {
      type boolean;
      description
        "Defines whether default routes can be advertised to a peer.
         If set, the default routes are advertised to a peer.";
    }
    leaf site-of-origin {
      when "derived-from-or-self(../address-family, 'vpn-common:ipv4'"
         + " or 'vpn-common:dual-stack')" {
        description
          "Only applies if IPv4 is activated.";
      }
      type rt-types:route-origin;
      description
        "The Site of Origin attribute is encoded as a Route Origin
         Extended Community. It is meant to uniquely identify the
         set of routes learned from a site via a particular AC and
         is used to prevent routing loops.";
      reference
        "RFC 4364: BGP/MPLS IP Virtual Private Networks (VPNs),
                   Section 7";
    }
    leaf ipv6-site-of-origin {
      when "derived-from-or-self(../address-family, 'vpn-common:ipv6'"
         + " or 'vpn-common:dual-stack')" {
        description
          "Only applies if IPv6 is activated.";
      }
      type rt-types:ipv6-route-origin;
      description
        "The IPv6 Site of Origin attribute is encoded as an IPv6 
         Route Origin Extended Community.  It is meant to uniquely 
         identify the set of routes learned from a site.";
      reference
        "RFC 5701: IPv6 Address Specific BGP Extended Community
                   Attribute";
    }
    list redistribute-connected {
      key "address-family";
      description
        "Indicates, per address family, the policy to follow for
         connected routes.";
      leaf address-family {
        type identityref {
          base vpn-common:address-family;
        }
        description
          "Indicates the address family.";
      }
      leaf enabled {
        type boolean;
        description
          "Enables the redistribution of connected routes.";
      }
    }
    container bgp-max-prefix {
      description
        "Controls the behavior when a prefix maximum is reached.";
      leaf max-prefix {
        type uint32;
        description
          "Indicates the maximum number of BGP prefixes allowed in 
           the BGP session.

           It allows control of how many prefixes can be received 
           from a neighbor.

           If the limit is exceeded, the action indicated in
           'violate-action' will be followed.";
        reference
          "RFC 4271: A Border Gateway Protocol 4 (BGP-4),
                     Section 8.2.2";
      }
      leaf warning-threshold {
        type decimal64 {
          fraction-digits 5;
          range "0..100";
        }
        units "percent";
        description
          "When this value is reached, a warning notification will be
           triggered.";
      }
      leaf violate-action {
        type enumeration {
          enum warning {
            description
              "Only a warning message is sent to the peer when the
               limit is exceeded.";
          }
          enum discard-extra-paths {
            description
              "Discards extra paths when the limit is exceeded.";
          }
          enum restart {
            description
              "The BGP session restarts after the indicated time
               interval.";
          }
        }
        description
          "If the BGP neighbor 'max-prefix' limit is reached, the 
           action indicated in 'violate-action' will be followed.";
      }
      leaf restart-timer {
        type uint32;
        units "seconds";
        description
          "Time interval after which the BGP session will be
           reestablished.";
      }
    }
    container bgp-timers {
      description
        "Includes two BGP timers.";
      leaf keepalive {
        type uint16 {
          range "0..21845";
        }
        units "seconds";
        description
          "This timer indicates the KEEPALIVE messages' frequency
           between a PE and a BGP peer.

           If set to '0', it indicates that KEEPALIVE messages are
           disabled.

           It is suggested that the maximum time between KEEPALIVE
           messages be one-third of the Hold Time interval.";
        reference
          "RFC 4271: A Border Gateway Protocol 4 (BGP-4),
                     Section 4.4";
      }
      leaf hold-time {
        type uint16 {
          range "0 | 3..65535";
        }
        units "seconds";
        description
          "Indicates the maximum number of seconds that may elapse
           between the receipt of successive KEEPALIVE and/or UPDATE
           messages from the peer.

           The Hold Time must be either zero or at least three
           seconds.";
        reference
          "RFC 4271: A Border Gateway Protocol 4 (BGP-4),
                     Section 4.2";
      }
    }
    list capability {
      key "address-family";
      description
        "Customized set of BGP capabilities per address family.";
      leaf address-family {
        type identityref {
          base vpn-common:address-family;
        }
        description
          "Indicates the address family.";
      }
      leaf name {
        type identityref {
          base ac-common:bgp-capability;
        }
        mandatory true;
        description
          "Indicates the name of BGP capability.";
      }
    }
  }

  // RIP base parameters

  grouping rip-base {
    description
      "Configuration specific to RIP routing.";
    leaf address-family {
      type identityref {
        base vpn-common:address-family;
      }
      description
        "Indicates whether IPv4, IPv6, or both address families are
         to be activated.";
    }
    container timers {
      description
        "Indicates the RIP timers.";
      reference
        "RFC 2453: RIP Version 2";
      leaf update-interval {
        type uint16 {
          range "1..32767";
        }
        units "seconds";
        description
          "Indicates the RIP update time, i.e., the amount of time
           for which RIP updates are sent.";
      }
      leaf invalid-interval {
        type uint16 {
          range "1..32767";
        }
        units "seconds";
        description
          "The interval before a route is declared invalid after no
           updates are received. This value is at least three times
           the value for the 'update-interval' argument.";
      }
      leaf holddown-interval {
        type uint16 {
          range "1..32767";
        }
        units "seconds";
        description
          "Specifies the interval before better routes are 
           released.";
      }
      leaf flush-interval {
        type uint16 {
          range "1..32767";
        }
        units "seconds";
        description
          "Indicates the RIP flush timer, i.e., the amount of time
           that must elapse before a route is removed from the
           routing table.";
      }
    }
    leaf default-metric {
      type uint8 {
        range "0..16";
      }
      description
        "Sets the default metric.";
    }
  }

  // routing profile

  grouping routing-profile {
    description
      "Defines routing protocols.";
    list routing-protocol {
      key "id";
      description
        "List of routing protocols used on the AC.";
      leaf id {
        type string;
        description
          "Unique identifier for the routing protocol.";
      }
      leaf type {
        type identityref {
          base vpn-common:routing-protocol-type;
        }
        description
          "Type of routing protocol.";
      }
      container bgp {
        when "derived-from-or-self(../type, "
           + "'vpn-common:bgp-routing')" {
          description
            "Only applies when the protocol is BGP.";
        }
        description
          "Configuration specific to BGP.";
        uses bgp-base;
      }
      container ospf {
        when "derived-from-or-self(../type, "
           + "'vpn-common:ospf-routing')" {
          description
            "Only applies when the protocol is OSPF.";
        }
        description
          "Configuration specific to OSPF.";
        uses ac-common:ospf-basic;
        leaf max-lsa {
          type uint32 {
            range "1..4294967294";
          }
          description
            "Maximum number of allowed Link State Advertisements
             (LSAs) that the OSPF instance will accept.";
        }
      }
      container isis {
        when "derived-from-or-self(../type, "
           + "'vpn-common:isis-routing')" {
          description
            "Only applies when the protocol is IS-IS.";
        }
        description
          "Configuration specific to IS-IS.";
        uses ac-common:isis-basic;
        leaf level {
          type identityref {
            base vpn-common:isis-level;
          }
          description
            "Can be 'level-1', 'level-2', or 'level-1-2'.";
          reference
            "RFC 9181: A Common YANG Data Model for Layer 2 
                       and Layer 3 VPNs";
        }
        leaf metric {
          type uint16;
          description
            "Metric of the AC. It is used in the routing state
             calculation and path selection.";
        }
        leaf mode {
          type enumeration {
            enum active {
              description
                "The interface sends or receives IS-IS protocol
                 control packets.";
            }
            enum passive {
              description
                "Suppresses the sending of IS-IS updates through the
                 specified interface.";
            }
          }
          description
            "IS-IS interface mode type.";
        }
      }
      container rip {
        when "derived-from-or-self(../type, "
           + "'vpn-common:rip-routing')" {
          description
            "Only applies when the protocol is RIP.";
        }
        description
          "Configuration specific to RIP routing.";
        uses rip-base;
      }
      container vrrp {
        when "derived-from-or-self(../type, "
           + "'vpn-common:vrrp-routing')" {
          description
            "Only applies when the protocol is the Virtual Router
             Redundancy Protocol (VRRP).";
        }
        description
          "Configuration specific to VRRP.";
        reference
          "RFC 5798: Virtual Router Redundancy Protocol (VRRP)
                     Version 3 for IPv4 and IPv6";
        leaf address-family {
          type identityref {
            base vpn-common:address-family;
          }
          description
            "Indicates whether IPv4, IPv6, or both address families
             are to be enabled.";
        }
        leaf ping-reply {
          type boolean;
          description
            "Controls whether the VRRP speaker should reply to ping
             requests.";
        }
      }
    }
  }

  grouping routing {
    description
      "Defines routing protocols.";
    list routing-protocol {
      key "id";
      description
        "List of routing protocols used on the AC.";
      leaf id {
        type string;
        description
          "Unique identifier for the routing protocol.";
      }
      leaf type {
        type identityref {
          base vpn-common:routing-protocol-type;
        }
        description
          "Type of routing protocol.";
      }
      list routing-profile {
        key "routing-profile-ref";
        description
          "Routing profiles.";
        uses routing-profile-reference;
        leaf type {
          type identityref {
            base vpn-common:ie-type;
          }
          description
            "Import, export, or both.";
        }
      }
      container static {
        when "derived-from-or-self(../type, "
           + "'vpn-common:static-routing')" {
          description
            "Only applies when the protocol is a static routing
             protocol.";
        }
        description
          "Configuration specific to static routing.";
        container cascaded-lan-prefixes {
          description
            "LAN prefixes from the customer.";
          list ipv4-lan-prefix {
            if-feature "vpn-common:ipv4";
            key "lan next-hop";
            description
              "List of LAN prefixes for the site.";
            uses ac-common:ipv4-static-rtg-entry;
            uses bfd-routing;
            leaf preference {
              type uint32;
              description
                "Indicates the preference associated with the static
                 route.";
            }
            uses ac-common:service-status;
          }
          list ipv6-lan-prefix {
            if-feature "vpn-common:ipv6";
            key "lan next-hop";
            description
              "List of LAN prefixes for the site.";
            uses ac-common:ipv4-static-rtg-entry;
            uses bfd-routing;
            leaf preference {
              type uint32;
              description
                "Indicates the preference associated with the static
                 route.";
            }
            uses ac-common:service-status;
          }
        }
      }
      container bgp {
        when "derived-from-or-self(../type, "
           + "'vpn-common:bgp-routing')" {
          description
            "Only applies when the protocol is BGP.";
        }
        description
          "Configuration specific to BGP.";
        container peer-groups {
          description
            "Configuration for BGP peer-groups";
          list peer-group {
            key "name";
            description
              "List of BGP peer-groups configured on the local 
               system - uniquely identified by peer-group name";
            leaf name {
              type string;
              description
                "Name of the BGP peer-group";
            }
            leaf local-address {
              type union {
                type inet:ip-address;
                type if:interface-ref;
              }
              description
                "Sets the local IP address to use for the BGP 
                 transport session. This may be expressed as either 
                 an IP address or a reference to an interface.";
            }
            uses bgp-base;
            uses ac-common:bgp-authentication;
          }
        }
        list neighbor {
          key "remote-address";
          description
            "List of BGP neighbors.";
          leaf remote-address {
            type inet:ip-address;
            description
              "The remote IP address of this entry's BGP peer.";
          }
          leaf local-address {
            type union {
              type inet:ip-address;
              type if:interface-ref;
            }
            description
              "Sets the local IP address to use for
               the BGP transport session.  This may be
               expressed as either an IP address or a
               reference to an interface.";
          }
          leaf peer-group {
            type leafref {
              path "../../peer-groups/peer-group/name";
            }
            description
              "The peer-group with which this neighbor is
               associated.";
          }
          uses bgp-base;
          uses bfd-routing;
          uses ac-common:bgp-authentication;
          uses ac-common:service-status;
        }
      }
      container ospf {
        when "derived-from-or-self(../type, "
           + "'vpn-common:ospf-routing')" {
          description
            "Only applies when the protocol is OSPF.";
        }
        description
          "Configuration specific to OSPF.";
        uses ac-common:ospf-basic;
        container sham-links {
          if-feature "vpn-common:rtg-ospf-sham-link";
          description
            "List of sham links.";
          reference
            "RFC 4577: OSPF as the Provider/Customer Edge Protocol
                       for BGP/MPLS IP Virtual Private Networks
                       (VPNs), Section 4.2.7
             RFC 6565: OSPFv3 as a Provider Edge to Customer Edge
                       (PE-CE) Routing Protocol, Section 5";
          list sham-link {
            key "target-site";
            description
              "Creates a sham link with another
               site.";
            leaf target-site {
              type string;
              description
                "Target site for the sham link connection. The site
                 is referred to by its identifier.";
            }
            leaf metric {
              type uint16;
              description
                "Metric of the sham link. It is used in the routing
                 state calculation and path selection.";
              reference
                "RFC 4577: OSPF as the Provider/Customer Edge 
                           Protocol for BGP/MPLS IP Virtual Private
                           Networks (VPNs), Section 4.2.7.3
                 RFC 6565: OSPFv3 as a Provider Edge to Customer Edge
                           (PE-CE) Routing Protocol, Section 5.2";
            }
          }
        }
        leaf max-lsa {
          type uint32 {
            range "1..4294967294";
          }
          description
            "Maximum number of allowed Link State Advertisements
             (LSAs) that the OSPF instance will accept.";
        }
        uses ac-common:ospf-authentication;
        uses ac-common:service-status;
      }
      container isis {
        when "derived-from-or-self(../type, "
           + "'vpn-common:isis-routing')" {
          description
            "Only applies when the protocol is
             IS-IS.";
        }
        description
          "Configuration specific to IS-IS.";
        uses ac-common:isis-basic;
        leaf level {
          type identityref {
            base vpn-common:isis-level;
          }
          description
            "Can be 'level-1', 'level-2', or 'level-1-2'.";
          reference
            "RFC 9181: A Common YANG Data Model for Layer 2 and
                       Layer 3 VPNs";
        }
        leaf metric {
          type uint16;
          description
            "Metric of the PE-CE link. It is used in the routing 
             state calculation and path selection.";
        }
        leaf mode {
          type enumeration {
            enum active {
              description
                "The interface sends or receives
                 IS-IS protocol control packets.";
            }
            enum passive {
              description
                "Suppresses the sending of IS-IS
                 updates through the specified
                 interface.";
            }
          }
          description
            "IS-IS interface mode type.";
        }
        uses ac-common:isis-authentication;
        uses ac-common:service-status;
      }
      container rip {
        when "derived-from-or-self(../type, "
           + "'vpn-common:rip-routing')" {
          description
            "Only applies when the protocol is RIP.
             For IPv4, the model assumes that RIP
             version 2 is used.";
        }
        description
          "Configuration specific to RIP routing.";
        uses rip-base;
        uses ac-common:rip-authentication;
        uses ac-common:service-status;
      }
      container vrrp {
        when "derived-from-or-self(../type, "
           + "'vpn-common:vrrp-routing')" {
          description
            "Only applies when the protocol is the VRRP.";
        }
        description
          "Configuration specific to VRRP.";
        reference
          "RFC 5798: Virtual Router Redundancy Protocol (VRRP)
                     Version 3 for IPv4 and IPv6";
        leaf address-family {
          type identityref {
            base vpn-common:address-family;
          }
          description
            "Indicates whether IPv4, IPv6, or both address families
             are to be enabled.";
        }
        leaf vrrp-group {
          type uint8 {
            range "1..255";
          }
          description
            "Includes the VRRP group identifier.";
        }
        leaf backup-peer {
          type inet:ip-address;
          description
            "Indicates the IP address of the peer.";
        }
        leaf-list virtual-ip-address {
          type inet:ip-address;
          description
            "Virtual IP addresses for a single VRRP
             group.";
          reference
            "RFC 5798: Virtual Router Redundancy Protocol (VRRP)
                       Version 3 for IPv4 and IPv6, Sections 1.2
                       and 1.3";
        }
        leaf priority {
          type uint8 {
            range "1..254";
          }
          description
            "Sets the local priority of the VRRP speaker.";
        }
        leaf ping-reply {
          type boolean;
          description
            "Controls whether the VRRP speaker should reply to ping
             requests.";
        }
        uses ac-common:service-status;
      }
    }
  }

  // OAM

  grouping bfd {
    description
      "Grouping for BFD.";
    leaf session-type {
      type identityref {
        base vpn-common:bfd-session-type;
      }
      description
        "Specifies the BFD session type.";
    }
    leaf desired-min-tx-interval {
      type uint32;
      units "microseconds";
      description
        "The minimum interval between transmissions of BFD Control
         packets, as desired by the operator.";
      reference
        "RFC 5880: Bidirectional Forwarding Detection (BFD),
                   Section 6.8.7";
    }
    leaf required-min-rx-interval {
      type uint32;
      units "microseconds";
      description
        "The minimum interval between received BFD Control packets 
         that the PE should support.";
      reference
        "RFC 5880: Bidirectional Forwarding Detection (BFD),
                   Section 6.8.7";
    }
    leaf local-multiplier {
      type uint8 {
        range "1..255";
      }
      description
        "Specifies the detection multiplier that is transmitted to a
         BFD peer.

         The detection interval for the receiving BFD peer is
         calculated by multiplying the value of the negotiated
         transmission interval by the received detection multiplier
         value.";
      reference
        "RFC 5880: Bidirectional Forwarding Detection (BFD),
                   Section 6.8.7";
    }
    leaf holdtime {
      type uint32;
      units "milliseconds";
      description
        "Expected BFD holdtime.

         The customer may impose some fixed values for the holdtime
         period if the provider allows the customer to use this
         function.";
      reference
        "RFC 5880: Bidirectional Forwarding Detection (BFD),
                   Section 6.8.18";
    }
  }

  grouping bfd-routing {
    description
      "Defines a basic BFD grouping for routing configuration.";
    container bfd {
      description
        "BFD control for this nighbor.";
      leaf enable {
        type boolean;
        description
          "Enables BFD if set to true. BFD is disabled of set to
           false.";
      }
      uses bfd-profile-reference;
    }
  }

  // OAM

  grouping oam {
    description
      "Defines the Operations, Administration, and Maintenance
       (OAM) mechanisms used.";
    container bfd {
      description
        "Container for BFD.";
      list session {
        key "dest-addr";
        description
          "List of IP sessions.";
         leaf dest-addr {
           type inet:ip-address;
           description
             "IP address of the peer.";
        }
        leaf source-address {
          type union {
            type inet:ip-address;
            type if:interface-ref;
           }
           description
             "Sets the local IP address to use for the BFD
              session. This may be expressed as either
              an IP address or a reference to an interface.";
        }
        uses bfd-profile-reference;
        uses bfd;
        container authentication {
          presence "Enables BFD authentication";
          description
            "Parameters for BFD authentication.";
          leaf key-chain {
            type key-chain:key-chain-ref;
            description
              "Name of the key chain.";
          }
          leaf meticulous {
            type boolean;
            description
              "Enables meticulous mode.";
            reference
              "RFC 5880: Bidirectional Forwarding Detection (BFD),
                         Section 6.7";
          }
        }
        uses ac-common:service-status;
      }
    }
  }

  // security

  grouping security {
    description
      "Security parameters for an AC.";
    container encryption {
      if-feature "vpn-common:encryption";
      description
        "Container for AC encryption.";
      leaf enabled {
        type boolean;
        description
          "If set to 'true', traffic encryption on the connection is
           required. Otherwise, it is disabled.";
      }
      leaf layer {
        when "../enabled = 'true'" {
          description
            "Included only when encryption is enabled.";
        }
        type enumeration {
          enum layer2 {
            description
              "Encryption occurs at Layer 2.";
          }
          enum layer3 {
            description
              "Encryption occurs at Layer 3. For example, IPsec
               may be used when a customer requests Layer 3
               encryption.";
          }
        }
        description
          "Indicates the layer on which encryption is applied.";
      }
    }
    container encryption-profile {
      when "../encryption/enabled = 'true'" {
        description
          "Indicates the layer on which encryption is enabled.";
      }
      description
        "Container for the encryption profile.";
      choice profile {
        description
          "Choice for the encryption profile.";
        case provider-profile {
          uses encryption-profile-reference;
        }
        case customer-profile {
          leaf customer-key-chain {
            type key-chain:key-chain-ref;
            description
              "Customer-supplied key chain.";
          }
        }
      }
    }
  }

  // AC profile

  grouping ac-profile {
    description
      "Grouping for attachment circuit profiles.";
    container routing-protocols {
      description
        "Defines routing protocols.";
      uses routing-profile;
    }
    container oam {
      description
        "Defines the OAM mechanisms used for the AC profile.";
      container bfd {
        if-feature "vpn-common:bfd";
        description
          "Container for BFD.";
        uses bfd;
      }
    }
  }

  // AC network provisioning 

  grouping ac {
    description
      "Grouping for attachment circuits.";
    leaf description {
      type string;
      description
        "Associates a description with an AC.";
    }
    container l2-connection {
      description
        "Defines Layer 2 protocols and parameters that are required
         to enable AC connectivity.";
      uses l2-connection-if-ref;
    }
    container ip-connection {
      description
        "Defines IP connection parameters.";
      uses ip-connection;
    }
    container routing-protocols {
      description
        "Defines routing protocols.";
      uses routing;
    }
    container oam {
      description
        "Defines the OAM mechanisms used for the AC.";
      uses oam;
    }
    container security {
      description
        "AC-specific security parameters.";
      uses security;
    }
    container service {
      description
        "AC-specific bandwith parameters.";
      leaf mtu {
        type uint32;
        units "bytes";
        description
          "Layer 2 MTU.";
      }
      uses ac-svc:bandwidth;
      container qos {
        if-feature "vpn-common:qos";
        description
          "QoS configuration.";
        container qos-profiles {
          description
            "QoS profile configuration.";
          list qos-profile {
            key "qos-profile-ref";
            description
              "Points to a QoS profile.";
            uses qos-profile-reference;
            leaf direction {
              type identityref {
                base vpn-common:qos-profile-direction;
              }
              description
                "The direction to which the QoS profile
                 is applied.";
            }
          }
        }
      }
      container access-control-list {
        description
          "Container for the Access Control List (ACL).";
        container acl-profiles {
          description
            "ACL profile configuration.";
          list acl-profile {
            key "forwarding-profile-ref";
            description
              "Points to an ACL profile.";
            uses forwarding-profile-reference;
          }
        }
      }
    }
  }

  augment "/nw:networks/nw:network" {
    description
      "Add a list of profiles.";
    container specific-provisioning-profiles {
      description
        "Contains a set of valid profiles to reference in the AC
         activation.";
      uses ac-common:ac-profile-cfg;
    }
    list ac-profile {
      key "name";
      description
        "Specifies a list of AC profiles.";
      leaf name {
        type string;
        description
          "Name of the AC.";
      }
      uses ac-ntw:ac-profile;
    }
  }

  augment "/nw:networks/nw:network/nw:node" {
    when '../nw:network-types/sap:sap-network' {
      description
        "Augmentation parameters apply only for SAP networks.";
    }
    description
      "Augments nodes with AC provisioning details.";
    list ac {
      key "name";
      description
        "List of ACs.";
      leaf name {
        type string;
        description
          "A name that identifies the AC locally.";
      }
      leaf ac-svc-ref {
        type ac-svc:attachment-circuit-reference;
        description
          "A reference to the AC as exposed at the service level.";
      }
      list ac-profile {
        key "ac-profile-ref";
        description
          "List of AC profiles.";
        uses ac-profile-reference;
      }
      container ac-parent-ref {
        description
          "Specifies the parent AC that is inherited by an AC.
           Parent ACs are used, e.g., in contexts where multiple
           CEs are terminating the same AC, but some specific
           information is required for each peer SAP.";
        uses ac-ntw:attachment-circuit-reference;
      }
      leaf-list peer-sap-id {
        type string;
        description
          "One or more peer SAPs can be indicated.";
      }
      list group {
        key "group-id";
        description
          "List of group-ids.";
        leaf group-id {
          type string;
          description
            "Indicates the group-id to which the AC belongs.";
        }
        leaf precedence {
          type identityref {
            base ac-common:precedence-type;
          }
          description
            "Defines redundancy of an AC.";
        }
      }
      uses ac-common:service-status;
      uses ac-ntw:ac;
    }
  }

  augment "/nw:networks/nw:network/nw:node"
        + "/sap:service/sap:sap" {
    when '../../../nw:network-types/sap:sap-network' {
      description
        "Augmentation parameters apply only for SAP networks.";
    }
    description
      "Augments SAPs with AC provisioning details.";
    list ac {
      key "ac-ref";
      description
        "Specifies the ACs that are terminated by the SAP.";
      uses ac-ntw:attachment-circuit-reference;
    }
  }
}
<CODE ENDS>
]]></sourcecode>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The YANG module specified in this document defines a schema for data
   that is designed to be accessed via network management protocols such
   as NETCONF <xref target="RFC6241"/> or RESTCONF <xref target="RFC8040"/>.  The lowest NETCONF layer
   is the secure transport layer, and the mandatory-to-implement secure
   transport is Secure Shell (SSH) <xref target="RFC6242"/>.  The lowest RESTCONF layer
   is HTTPS, and the mandatory-to-implement secure transport is TLS
   <xref target="RFC8446"/>.</t>
      <t>The Network Configuration Access Control Model (NACM) <xref target="RFC8341"/>
   provides the means to restrict access for particular NETCONF or
   RESTCONF users to a preconfigured subset of all available NETCONF or
   RESTCONF protocol operations and content.</t>
      <t>There are a number of data nodes defined in this YANG module that are
   writable/creatable/deletable (i.e., config true, which is the
   default).  These data nodes may be considered sensitive or vulnerable
   in some network environments.  Write operations (e.g., edit-config)
   and delete operations to these data nodes without proper protection
   or authentication can have a negative effect on network operations.
   These are the subtrees and data nodes and their sensitivity/
   vulnerability in the "ietf-ac-ntw" module:</t>
      <dl>
        <dt>'specific-provisioning-profiles':</dt>
        <dd>
          <t>This container includes a set of sensitive data that
 influence how an AC is delivered.  For example, an
 attacker who has access to these data nodes may be able to
 manipulate routing policies, QoS policies, or encryption
 properties. These data nodes are defined with "nacm:default-deny-
 write" tagging <xref target="I-D.ietf-opsawg-teas-common-ac"/>.</t>
        </dd>
        <dt>'ac':</dt>
        <dd>
          <t>An attacker who is able to access network nodes can
 undertake various attacks, such as modify the attributes of an AC (e.g.,
 QoS, bandwidth, routing protocols, keying material), leading to
 malfunctioning of services that are delivered over that AC and therefore to Service Level
 Agreement (SLA) violations.  In addition, an attacker could
 attempt to add a new AC.
    : In addition to using NACM to prevent unauthorized access, such
 activity can be detected by adequately monitoring and tracking
 network configuration changes.</t>
        </dd>
      </dl>
      <t>Some of the readable data nodes in this YANG module may be considered
   sensitive or vulnerable in some network environments.  It is thus
   important to control read access (e.g., via get, get-config, or
   notification) to these data nodes.  These are the subtrees and data
   nodes and their sensitivity/vulnerability in the "ietf-ac-svc" module:</t>
      <dl>
        <dt>'ac':</dt>
        <dd>
          <t>Unauthorized access to this subtree can disclose the identity
 of a customer 'peer-sap-id'.</t>
        </dd>
        <dt>'l2-connection' and 'ip-connection':</dt>
        <dd>
          <t>An attacker can retrieve
privacy-related information, which can be used to track a
customer.  Disclosing such information may be considered a
violation of the customer-provider trust relationship.</t>
        </dd>
        <dt>'keying-material':</dt>
        <dd>
          <t>An attacker can retrieve the cryptographic keys
protecting an AC (routing, in particular). These keys could
be used to inject spoofed routing  advertisements.</t>
        </dd>
      </dl>
      <t>Several data nodes ('bgp', 'ospf', 'isis', and 'rip') rely upon <xref target="RFC8177"/> for authentication purposes. As such, the AC network module inherits the security considerations discussed in Section 5 of <xref target="RFC8177"/>. Also, these data nodes support supplying explicit keys as strings in ASCII format. The use of keys in hexadecimal string format would afford greater key entropy with the same number of key-string octets. However, such a format is not included in this version of the AC network model, because it is not supported by the underlying device modules (e.g., <xref target="RFC8695"/>).</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to register the following URI in the "ns" subregistry within
   the "IETF XML Registry" <xref target="RFC3688"/>:</t>
      <artwork><![CDATA[
   URI:  urn:ietf:params:xml:ns:yang:ietf-ac-ntw
   Registrant Contact:  The IESG.
   XML:  N/A; the requested URI is an XML namespace.
]]></artwork>
      <t>IANA is requested to register the following YANG module in the "YANG Module
   Names" subregistry <xref target="RFC6020"/> within the "YANG Parameters" registry:</t>
      <artwork><![CDATA[
   Name:  ietf-ac-ntw
   Namespace:  urn:ietf:params:xml:ns:yang:ietf-ac-ntw
   Prefix:  ac-ntw
   Maintained by IANA?  N
   Reference:  RFC XXXX
]]></artwork>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="IEEE802.1Qcp" target="https://doi.org/10.1109/IEEESTD.2018.8467507">
          <front>
            <title>IEEE Standard for Local and metropolitan area networks--Bridges and Bridged Networks--Amendment 30: YANG Data Model</title>
            <author>
              <organization>IEEE</organization>
            </author>
            <date year="2018" month="September"/>
          </front>
        </reference>
        <reference anchor="I-D.ietf-opsawg-teas-attachment-circuit">
          <front>
            <title>YANG Data Models for Bearers and 'Attachment Circuits'-as-a-Service (ACaaS)</title>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Richard Roberts" initials="R." surname="Roberts">
              <organization>Juniper</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Samier Barguil" initials="S." surname="Barguil">
              <organization>Nokia</organization>
            </author>
            <author fullname="Bo Wu" initials="B." surname="Wu">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="22" month="January" year="2024"/>
            <abstract>
              <t>   This document specifies a YANG service data model for Attachment
   Circuits (ACs).  This model can be used for the provisioning of ACs
   before or during service provisioning (e.g., Network Slice Service).
   The document also specifies a service model for managing bearers over
   which ACs are established.

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-teas-attachment-circuit-05"/>
        </reference>
        <reference anchor="RFC9182">
          <front>
            <title>A YANG Network Data Model for Layer 3 VPNs</title>
            <author fullname="S. Barguil" initials="S." surname="Barguil"/>
            <author fullname="O. Gonzalez de Dios" initials="O." role="editor" surname="Gonzalez de Dios"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="L. Munoz" initials="L." surname="Munoz"/>
            <author fullname="A. Aguado" initials="A." surname="Aguado"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>As a complement to the Layer 3 Virtual Private Network Service Model (L3SM), which is used for communication between customers and service providers, this document defines an L3VPN Network Model (L3NM) that can be used for the provisioning of Layer 3 Virtual Private Network (L3VPN) services within a service provider network. The model provides a network-centric view of L3VPN services.</t>
              <t>The L3NM is meant to be used by a network controller to derive the configuration information that will be sent to relevant network devices. The model can also facilitate communication between a service orchestrator and a network controller/orchestrator.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9182"/>
          <seriesInfo name="DOI" value="10.17487/RFC9182"/>
        </reference>
        <reference anchor="RFC9291">
          <front>
            <title>A YANG Network Data Model for Layer 2 VPNs</title>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="O. Gonzalez de Dios" initials="O." role="editor" surname="Gonzalez de Dios"/>
            <author fullname="S. Barguil" initials="S." surname="Barguil"/>
            <author fullname="L. Munoz" initials="L." surname="Munoz"/>
            <date month="September" year="2022"/>
            <abstract>
              <t>This document defines an L2VPN Network Model (L2NM) that can be used to manage the provisioning of Layer 2 Virtual Private Network (L2VPN) services within a network (e.g., a service provider network). The L2NM complements the L2VPN Service Model (L2SM) by providing a network-centric view of the service that is internal to a service provider. The L2NM is particularly meant to be used by a network controller to derive the configuration information that will be sent to relevant network devices.</t>
              <t>Also, this document defines a YANG module to manage Ethernet segments and the initial versions of two IANA-maintained modules that include a set of identities of BGP Layer 2 encapsulation types and pseudowire types.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9291"/>
          <seriesInfo name="DOI" value="10.17487/RFC9291"/>
        </reference>
        <reference anchor="RFC9408">
          <front>
            <title>A YANG Network Data Model for Service Attachment Points (SAPs)</title>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="O. Gonzalez de Dios" initials="O." surname="Gonzalez de Dios"/>
            <author fullname="S. Barguil" initials="S." surname="Barguil"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <author fullname="V. Lopez" initials="V." surname="Lopez"/>
            <date month="June" year="2023"/>
            <abstract>
              <t>This document defines a YANG data model for representing an abstract view of the provider network topology that contains the points from which its services can be attached (e.g., basic connectivity, VPN, network slices). Also, the model can be used to retrieve the points where the services are actually being delivered to customers (including peer networks).</t>
              <t>This document augments the 'ietf-network' data model defined in RFC 8345 by adding the concept of Service Attachment Points (SAPs). The SAPs are the network reference points to which network services, such as Layer 3 Virtual Private Network (L3VPN) or Layer 2 Virtual Private Network (L2VPN), can be attached. One or multiple services can be bound to the same SAP. Both User-to-Network Interface (UNI) and Network-to-Network Interface (NNI) are supported in the SAP data model.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9408"/>
          <seriesInfo name="DOI" value="10.17487/RFC9408"/>
        </reference>
        <reference anchor="I-D.ietf-opsawg-teas-common-ac">
          <front>
            <title>A Common YANG Data Model for Attachment Circuits</title>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Richard Roberts" initials="R." surname="Roberts">
              <organization>Juniper</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Samier Barguil" initials="S." surname="Barguil">
              <organization>Nokia</organization>
            </author>
            <author fullname="Bo Wu" initials="B." surname="Wu">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="22" month="January" year="2024"/>
            <abstract>
              <t>   The document specifies a common Attachment Circuits (ACs) YANG
   module, which is designed with the intent to be reusable by other
   models.  For example, this common model can be reused by service
   models to expose ACs as a service, service models that require
   binding a service to a set of ACs, network and device models to
   provision ACs, etc.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-teas-common-ac-04"/>
        </reference>
        <reference anchor="RFC8342">
          <front>
            <title>Network Management Datastore Architecture (NMDA)</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="P. Shafer" initials="P." surname="Shafer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Wilton" initials="R." surname="Wilton"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>Datastores are a fundamental concept binding the data models written in the YANG data modeling language to network management protocols such as the Network Configuration Protocol (NETCONF) and RESTCONF. This document defines an architectural framework for datastores based on the experience gained with the initial simpler model, addressing requirements that were not well supported in the initial model. This document updates RFC 7950.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8342"/>
          <seriesInfo name="DOI" value="10.17487/RFC8342"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC9181">
          <front>
            <title>A Common YANG Data Model for Layer 2 and 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="Q. Wu" initials="Q." surname="Wu"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>This document defines a common YANG module that is meant to be reused by various VPN-related modules such as Layer 3 VPN and Layer 2 VPN network models.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9181"/>
          <seriesInfo name="DOI" value="10.17487/RFC9181"/>
        </reference>
        <reference anchor="RFC8345">
          <front>
            <title>A YANG Data Model for Network Topologies</title>
            <author fullname="A. Clemm" initials="A." surname="Clemm"/>
            <author fullname="J. Medved" initials="J." surname="Medved"/>
            <author fullname="R. Varga" initials="R." surname="Varga"/>
            <author fullname="N. Bahadur" initials="N." surname="Bahadur"/>
            <author fullname="H. Ananthakrishnan" initials="H." surname="Ananthakrishnan"/>
            <author fullname="X. Liu" initials="X." surname="Liu"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document defines an abstract (generic, or base) YANG data model for network/service topologies and inventories. The data model serves as a base model that is augmented with technology-specific details in other, more specific topology and inventory data models.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8345"/>
          <seriesInfo name="DOI" value="10.17487/RFC8345"/>
        </reference>
        <reference anchor="RFC5880">
          <front>
            <title>Bidirectional Forwarding Detection (BFD)</title>
            <author fullname="D. Katz" initials="D." surname="Katz"/>
            <author fullname="D. Ward" initials="D." surname="Ward"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>This document describes a protocol intended to detect faults in the bidirectional path between two forwarding engines, including interfaces, data link(s), and to the extent possible the forwarding engines themselves, with potentially very low latency. It operates independently of media, data protocols, and routing protocols. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5880"/>
          <seriesInfo name="DOI" value="10.17487/RFC5880"/>
        </reference>
        <reference anchor="RFC8077">
          <front>
            <title>Pseudowire Setup and Maintenance Using the Label Distribution Protocol (LDP)</title>
            <author fullname="L. Martini" initials="L." role="editor" surname="Martini"/>
            <author fullname="G. Heron" initials="G." role="editor" surname="Heron"/>
            <date month="February" year="2017"/>
            <abstract>
              <t>Layer 2 services (such as Frame Relay, Asynchronous Transfer Mode, and Ethernet) can be emulated over an MPLS backbone by encapsulating the Layer 2 Protocol Data Units (PDUs) and then transmitting them over pseudowires (PWs). It is also possible to use pseudowires to provide low-rate Time-Division Multiplexed and Synchronous Optical NETworking circuit emulation over an MPLS-enabled network. This document specifies a protocol for establishing and maintaining the pseudowires, using extensions to the Label Distribution Protocol (LDP). Procedures for encapsulating Layer 2 PDUs are specified in other documents.</t>
              <t>This document is a rewrite of RFC 4447 for publication as an Internet Standard.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="84"/>
          <seriesInfo name="RFC" value="8077"/>
          <seriesInfo name="DOI" value="10.17487/RFC8077"/>
        </reference>
        <reference anchor="RFC9067">
          <front>
            <title>A YANG Data Model for Routing Policy</title>
            <author fullname="Y. Qu" initials="Y." surname="Qu"/>
            <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <author fullname="X. Liu" initials="X." surname="Liu"/>
            <date month="October" year="2021"/>
            <abstract>
              <t>This document defines a YANG data model for configuring and managing routing policies in a vendor-neutral way. The model provides a generic routing policy framework that can be extended for specific routing protocols using the YANG 'augment' mechanism.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9067"/>
          <seriesInfo name="DOI" value="10.17487/RFC9067"/>
        </reference>
        <reference anchor="RFC4364">
          <front>
            <title>BGP/MPLS IP Virtual Private Networks (VPNs)</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <date month="February" year="2006"/>
            <abstract>
              <t>This document describes a method by which a Service Provider may use an IP backbone to provide IP Virtual Private Networks (VPNs) for its customers. This method uses a "peer model", in which the customers' edge routers (CE routers) send their routes to the Service Provider's edge routers (PE routers); there is no "overlay" visible to the customer's routing algorithm, and CE routers at different sites do not peer with each other. Data packets are tunneled through the backbone, so that the core routers do not need to know the VPN routes. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4364"/>
          <seriesInfo name="DOI" value="10.17487/RFC4364"/>
        </reference>
        <reference anchor="RFC5701">
          <front>
            <title>IPv6 Address Specific BGP Extended Community Attribute</title>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <date month="November" year="2009"/>
            <abstract>
              <t>Current specifications of BGP Extended Communities (RFC 4360) support the IPv4 Address Specific Extended Community, but do not support an IPv6 Address Specific Extended Community. The lack of an IPv6 Address Specific Extended Community may be a problem when an application uses the IPv4 Address Specific Extended Community, and one wants to use this application in a pure IPv6 environment. This document defines a new BGP attribute, the IPv6 Address Specific Extended Community, that addresses this problem. The IPv6 Address Specific Extended Community is similar to the IPv4 Address Specific Extended Community, except that it carries an IPv6 address rather than an IPv4 address. [STANDARDS TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5701"/>
          <seriesInfo name="DOI" value="10.17487/RFC5701"/>
        </reference>
        <reference anchor="RFC4271">
          <front>
            <title>A Border Gateway Protocol 4 (BGP-4)</title>
            <author fullname="Y. Rekhter" initials="Y." role="editor" surname="Rekhter"/>
            <author fullname="T. Li" initials="T." role="editor" surname="Li"/>
            <author fullname="S. Hares" initials="S." role="editor" surname="Hares"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>This document discusses the Border Gateway Protocol (BGP), which is an inter-Autonomous System routing protocol.</t>
              <t>The primary function of a BGP speaking system is to exchange network reachability information with other BGP systems. This network reachability information includes information on the list of Autonomous Systems (ASes) that reachability information traverses. This information is sufficient for constructing a graph of AS connectivity for this reachability from which routing loops may be pruned, and, at the AS level, some policy decisions may be enforced.</t>
              <t>BGP-4 provides a set of mechanisms for supporting Classless Inter-Domain Routing (CIDR). These mechanisms include support for advertising a set of destinations as an IP prefix, and eliminating the concept of network "class" within BGP. BGP-4 also introduces mechanisms that allow aggregation of routes, including aggregation of AS paths.</t>
              <t>This document obsoletes RFC 1771. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4271"/>
          <seriesInfo name="DOI" value="10.17487/RFC4271"/>
        </reference>
        <reference anchor="RFC5925">
          <front>
            <title>The TCP Authentication Option</title>
            <author fullname="J. Touch" initials="J." surname="Touch"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <author fullname="R. Bonica" initials="R." surname="Bonica"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>This document specifies the TCP Authentication Option (TCP-AO), which obsoletes the TCP MD5 Signature option of RFC 2385 (TCP MD5). TCP-AO specifies the use of stronger Message Authentication Codes (MACs), protects against replays even for long-lived TCP connections, and provides more details on the association of security with TCP connections than TCP MD5. TCP-AO is compatible with either a static Master Key Tuple (MKT) configuration or an external, out-of-band MKT management mechanism; in either case, TCP-AO also protects connections when using the same MKT across repeated instances of a connection, using traffic keys derived from the MKT, and coordinates MKT changes between endpoints. The result is intended to support current infrastructure uses of TCP MD5, such as to protect long-lived connections (as used, e.g., in BGP and LDP), and to support a larger set of MACs with minimal other system and operational changes. TCP-AO uses a different option identifier than TCP MD5, even though TCP-AO and TCP MD5 are never permitted to be used simultaneously. TCP-AO supports IPv6, and is fully compatible with the proposed requirements for the replacement of TCP MD5. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5925"/>
          <seriesInfo name="DOI" value="10.17487/RFC5925"/>
        </reference>
        <reference anchor="RFC8177">
          <front>
            <title>YANG Data Model for Key Chains</title>
            <author fullname="A. Lindem" initials="A." role="editor" surname="Lindem"/>
            <author fullname="Y. Qu" initials="Y." surname="Qu"/>
            <author fullname="D. Yeung" initials="D." surname="Yeung"/>
            <author fullname="I. Chen" initials="I." surname="Chen"/>
            <author fullname="J. Zhang" initials="J." surname="Zhang"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>This document describes the key chain YANG data model. Key chains are commonly used for routing protocol authentication and other applications requiring symmetric keys. A key chain is a list containing one or more elements containing a Key ID, key string, send/accept lifetimes, and the associated authentication or encryption algorithm. By properly overlapping the send and accept lifetimes of multiple key chain elements, key strings and algorithms may be gracefully updated. By representing them in a YANG data model, key distribution can be automated.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8177"/>
          <seriesInfo name="DOI" value="10.17487/RFC8177"/>
        </reference>
        <reference anchor="RFC4577">
          <front>
            <title>OSPF as the Provider/Customer Edge Protocol for BGP/MPLS IP Virtual Private Networks (VPNs)</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="P. Psenak" initials="P." surname="Psenak"/>
            <author fullname="P. Pillay-Esnault" initials="P." surname="Pillay-Esnault"/>
            <date month="June" year="2006"/>
            <abstract>
              <t>Many Service Providers offer Virtual Private Network (VPN) services to their customers, using a technique in which customer edge routers (CE routers) are routing peers of provider edge routers (PE routers). The Border Gateway Protocol (BGP) is used to distribute the customer's routes across the provider's IP backbone network, and Multiprotocol Label Switching (MPLS) is used to tunnel customer packets across the provider's backbone. This is known as a "BGP/MPLS IP VPN". The base specification for BGP/MPLS IP VPNs presumes that the routing protocol on the interface between a PE router and a CE router is BGP. This document extends that specification by allowing the routing protocol on the PE/CE interface to be the Open Shortest Path First (OSPF) protocol.</t>
              <t>This document updates RFC 4364. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4577"/>
          <seriesInfo name="DOI" value="10.17487/RFC4577"/>
        </reference>
        <reference anchor="RFC6565">
          <front>
            <title>OSPFv3 as a Provider Edge to Customer Edge (PE-CE) Routing Protocol</title>
            <author fullname="P. Pillay-Esnault" initials="P." surname="Pillay-Esnault"/>
            <author fullname="P. Moyer" initials="P." surname="Moyer"/>
            <author fullname="J. Doyle" initials="J." surname="Doyle"/>
            <author fullname="E. Ertekin" initials="E." surname="Ertekin"/>
            <author fullname="M. Lundberg" initials="M." surname="Lundberg"/>
            <date month="June" year="2012"/>
            <abstract>
              <t>Many Service Providers (SPs) offer Virtual Private Network (VPN) services to their customers using a technique in which Customer Edge (CE) routers are routing peers of Provider Edge (PE) routers. The Border Gateway Protocol (BGP) is used to distribute the customer's routes across the provider's IP backbone network, and Multiprotocol Label Switching (MPLS) is used to tunnel customer packets across the provider's backbone. Support currently exists for both IPv4 and IPv6 VPNs; however, only Open Shortest Path First version 2 (OSPFv2) as PE-CE protocol is specified. This document extends those specifications to support OSPF version 3 (OSPFv3) as a PE-CE routing protocol. The OSPFv3 PE-CE functionality is identical to that of OSPFv2 except for the differences described in this document. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6565"/>
          <seriesInfo name="DOI" value="10.17487/RFC6565"/>
        </reference>
        <reference anchor="RFC4552">
          <front>
            <title>Authentication/Confidentiality for OSPFv3</title>
            <author fullname="M. Gupta" initials="M." surname="Gupta"/>
            <author fullname="N. Melam" initials="N." surname="Melam"/>
            <date month="June" year="2006"/>
            <abstract>
              <t>This document describes means and mechanisms to provide authentication/confidentiality to OSPFv3 using an IPv6 Authentication Header/Encapsulating Security Payload (AH/ESP) extension header. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4552"/>
          <seriesInfo name="DOI" value="10.17487/RFC4552"/>
        </reference>
        <reference anchor="RFC5709">
          <front>
            <title>OSPFv2 HMAC-SHA Cryptographic Authentication</title>
            <author fullname="M. Bhatia" initials="M." surname="Bhatia"/>
            <author fullname="V. Manral" initials="V." surname="Manral"/>
            <author fullname="M. Fanto" initials="M." surname="Fanto"/>
            <author fullname="R. White" initials="R." surname="White"/>
            <author fullname="M. Barnes" initials="M." surname="Barnes"/>
            <author fullname="T. Li" initials="T." surname="Li"/>
            <author fullname="R. Atkinson" initials="R." surname="Atkinson"/>
            <date month="October" year="2009"/>
            <abstract>
              <t>This document describes how the National Institute of Standards and Technology (NIST) Secure Hash Standard family of algorithms can be used with OSPF version 2's built-in, cryptographic authentication mechanism. This updates, but does not supercede, the cryptographic authentication mechanism specified in RFC 2328. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5709"/>
          <seriesInfo name="DOI" value="10.17487/RFC5709"/>
        </reference>
        <reference anchor="RFC7474">
          <front>
            <title>Security Extension for OSPFv2 When Using Manual Key Management</title>
            <author fullname="M. Bhatia" initials="M." surname="Bhatia"/>
            <author fullname="S. Hartman" initials="S." surname="Hartman"/>
            <author fullname="D. Zhang" initials="D." surname="Zhang"/>
            <author fullname="A. Lindem" initials="A." role="editor" surname="Lindem"/>
            <date month="April" year="2015"/>
            <abstract>
              <t>The current OSPFv2 cryptographic authentication mechanism as defined in RFCs 2328 and 5709 is vulnerable to both inter-session and intra- session replay attacks when using manual keying. Additionally, the existing cryptographic authentication mechanism does not cover the IP header. This omission can be exploited to carry out various types of attacks.</t>
              <t>This document defines changes to the authentication sequence number mechanism that will protect OSPFv2 from both inter-session and intra- session replay attacks when using manual keys for securing OSPFv2 protocol packets. Additionally, we also describe some changes in the cryptographic hash computation that will eliminate attacks resulting from OSPFv2 not protecting the IP header.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7474"/>
          <seriesInfo name="DOI" value="10.17487/RFC7474"/>
        </reference>
        <reference anchor="RFC7166">
          <front>
            <title>Supporting Authentication Trailer for OSPFv3</title>
            <author fullname="M. Bhatia" initials="M." surname="Bhatia"/>
            <author fullname="V. Manral" initials="V." surname="Manral"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <date month="March" year="2014"/>
            <abstract>
              <t>Currently, OSPF for IPv6 (OSPFv3) uses IPsec as the only mechanism for authenticating protocol packets. This behavior is different from authentication mechanisms present in other routing protocols (OSPFv2, Intermediate System to Intermediate System (IS-IS), RIP, and Routing Information Protocol Next Generation (RIPng)). In some environments, it has been found that IPsec is difficult to configure and maintain and thus cannot be used. This document defines an alternative mechanism to authenticate OSPFv3 protocol packets so that OSPFv3 does not depend only upon IPsec for authentication.</t>
              <t>The OSPFv3 Authentication Trailer was originally defined in RFC 6506. This document obsoletes RFC 6506 by providing a revised definition, including clarifications and refinements of the procedures.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7166"/>
          <seriesInfo name="DOI" value="10.17487/RFC7166"/>
        </reference>
        <reference anchor="RFC2453">
          <front>
            <title>RIP Version 2</title>
            <author fullname="G. Malkin" initials="G." surname="Malkin"/>
            <date month="November" year="1998"/>
            <abstract>
              <t>This document specifies an extension of the Routing Information Protocol (RIP) to expand the amount of useful information carried in RIP messages and to add a measure of security. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="56"/>
          <seriesInfo name="RFC" value="2453"/>
          <seriesInfo name="DOI" value="10.17487/RFC2453"/>
        </reference>
        <reference anchor="RFC2080">
          <front>
            <title>RIPng for IPv6</title>
            <author fullname="G. Malkin" initials="G." surname="Malkin"/>
            <author fullname="R. Minnear" initials="R." surname="Minnear"/>
            <date month="January" year="1997"/>
            <abstract>
              <t>This document specifies a routing protocol for an IPv6 internet. It is based on protocols and algorithms currently in wide use in the IPv4 Internet [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2080"/>
          <seriesInfo name="DOI" value="10.17487/RFC2080"/>
        </reference>
        <reference anchor="RFC5798">
          <front>
            <title>Virtual Router Redundancy Protocol (VRRP) Version 3 for IPv4 and IPv6</title>
            <author fullname="S. Nadas" initials="S." role="editor" surname="Nadas"/>
            <date month="March" year="2010"/>
            <abstract>
              <t>This memo defines the Virtual Router Redundancy Protocol (VRRP) for IPv4 and IPv6. It is version three (3) of the protocol, and it is based on VRRP (version 2) for IPv4 that is defined in RFC 3768 and in "Virtual Router Redundancy Protocol for IPv6". VRRP specifies an election protocol that dynamically assigns responsibility for a virtual router to one of the VRRP routers on a LAN. The VRRP router controlling the IPv4 or IPv6 address(es) associated with a virtual router is called the Master, and it forwards packets sent to these IPv4 or IPv6 addresses. VRRP Master routers are configured with virtual IPv4 or IPv6 addresses, and VRRP Backup routers infer the address family of the virtual addresses being carried based on the transport protocol. Within a VRRP router, the virtual routers in each of the IPv4 and IPv6 address families are a domain unto themselves and do not overlap. The election process provides dynamic failover in the forwarding responsibility should the Master become unavailable. For IPv4, the advantage gained from using VRRP is a higher-availability default path without requiring configuration of dynamic routing or router discovery protocols on every end-host. For IPv6, the advantage gained from using VRRP for IPv6 is a quicker switchover to Backup routers than can be obtained with standard IPv6 Neighbor Discovery mechanisms. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5798"/>
          <seriesInfo name="DOI" value="10.17487/RFC5798"/>
        </reference>
        <reference anchor="RFC6991">
          <front>
            <title>Common YANG Data Types</title>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document introduces a collection of common data types to be used with the YANG data modeling language. This document obsoletes RFC 6021.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6991"/>
          <seriesInfo name="DOI" value="10.17487/RFC6991"/>
        </reference>
        <reference anchor="RFC8294">
          <front>
            <title>Common YANG Data Types for the Routing Area</title>
            <author fullname="X. Liu" initials="X." surname="Liu"/>
            <author fullname="Y. Qu" initials="Y." surname="Qu"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <author fullname="C. Hopps" initials="C." surname="Hopps"/>
            <author fullname="L. Berger" initials="L." surname="Berger"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>This document defines a collection of common data types using the YANG data modeling language. These derived common types are designed to be imported by other modules defined in the routing area.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8294"/>
          <seriesInfo name="DOI" value="10.17487/RFC8294"/>
        </reference>
        <reference anchor="RFC8343">
          <front>
            <title>A YANG Data Model for Interface Management</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document defines a YANG data model for the management of network interfaces. It is expected that interface-type-specific data models augment the generic interfaces data model defined in this document. The data model includes definitions for configuration and system state (status information and counters for the collection of statistics).</t>
              <t>The YANG data model in this document conforms to the Network Management Datastore Architecture (NMDA) defined in RFC 8342.</t>
              <t>This document obsoletes RFC 7223.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8343"/>
          <seriesInfo name="DOI" value="10.17487/RFC8343"/>
        </reference>
        <reference anchor="RFC6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6241"/>
          <seriesInfo name="DOI" value="10.17487/RFC6241"/>
        </reference>
        <reference anchor="RFC8040">
          <front>
            <title>RESTCONF Protocol</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8040"/>
          <seriesInfo name="DOI" value="10.17487/RFC8040"/>
        </reference>
        <reference anchor="RFC6242">
          <front>
            <title>Using the NETCONF Protocol over Secure Shell (SSH)</title>
            <author fullname="M. Wasserman" initials="M." surname="Wasserman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>This document describes a method for invoking and running the Network Configuration Protocol (NETCONF) within a Secure Shell (SSH) session as an SSH subsystem. This document obsoletes RFC 4742. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6242"/>
          <seriesInfo name="DOI" value="10.17487/RFC6242"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC8341">
          <front>
            <title>Network Configuration Access Control Model</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability. There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. This document defines such an access control model.</t>
              <t>This document obsoletes RFC 6536.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="91"/>
          <seriesInfo name="RFC" value="8341"/>
          <seriesInfo name="DOI" value="10.17487/RFC8341"/>
        </reference>
        <reference anchor="RFC3688">
          <front>
            <title>The IETF XML Registry</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <date month="January" year="2004"/>
            <abstract>
              <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="81"/>
          <seriesInfo name="RFC" value="3688"/>
          <seriesInfo name="DOI" value="10.17487/RFC3688"/>
        </reference>
        <reference anchor="RFC6020">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6020"/>
          <seriesInfo name="DOI" value="10.17487/RFC6020"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="AC-Ntw-Tree" target="https://github.com/boucadair/attachment-circuit-model/blob/main/yang/full-trees/ac-ntw-without-groupings.txt">
          <front>
            <title>Full Network Attachment Circuit Tree Structure</title>
            <author>
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="PYANG" target="https://github.com/mbj4668/pyang">
          <front>
            <title>pyang</title>
            <author>
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="RFC7665">
          <front>
            <title>Service Function Chaining (SFC) Architecture</title>
            <author fullname="J. Halpern" initials="J." role="editor" surname="Halpern"/>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro"/>
            <date month="October" year="2015"/>
            <abstract>
              <t>This document describes an architecture for the specification, creation, and ongoing maintenance of Service Function Chains (SFCs) in a network. It includes architectural concepts, principles, and components used in the construction of composite services through deployment of SFCs, with a focus on those to be standardized in the IETF. This document does not propose solutions, protocols, or extensions to existing protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7665"/>
          <seriesInfo name="DOI" value="10.17487/RFC7665"/>
        </reference>
        <reference anchor="RFC8969">
          <front>
            <title>A Framework for Automating Service and Network Management with YANG</title>
            <author fullname="Q. Wu" initials="Q." role="editor" surname="Wu"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="D. Lopez" initials="D." surname="Lopez"/>
            <author fullname="C. Xie" initials="C." surname="Xie"/>
            <author fullname="L. Geng" initials="L." surname="Geng"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>Data models provide a programmatic approach to represent services and networks. Concretely, they can be used to derive configuration information for network and service components, and state information that will be monitored and tracked. Data models can be used during the service and network management life cycle (e.g., service instantiation, service provisioning, service optimization, service monitoring, service diagnosing, and service assurance). Data models are also instrumental in the automation of network management, and they can provide closed-loop control for adaptive and deterministic service creation, delivery, and maintenance.</t>
              <t>This document describes a framework for service and network management automation that takes advantage of YANG modeling technologies. This framework is drawn from a network operator perspective irrespective of the origin of a data model; thus, it can accommodate YANG modules that are developed outside the IETF.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8969"/>
          <seriesInfo name="DOI" value="10.17487/RFC8969"/>
        </reference>
        <reference anchor="RFC8340">
          <front>
            <title>YANG Tree Diagrams</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="L. Berger" initials="L." role="editor" surname="Berger"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document captures the current syntax used in YANG module tree diagrams. The purpose of this document is to provide a single location for this definition. This syntax may be updated from time to time based on the evolution of the YANG language.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="215"/>
          <seriesInfo name="RFC" value="8340"/>
          <seriesInfo name="DOI" value="10.17487/RFC8340"/>
        </reference>
        <reference anchor="RFC3644">
          <front>
            <title>Policy Quality of Service (QoS) Information Model</title>
            <author fullname="Y. Snir" initials="Y." surname="Snir"/>
            <author fullname="Y. Ramberg" initials="Y." surname="Ramberg"/>
            <author fullname="J. Strassner" initials="J." surname="Strassner"/>
            <author fullname="R. Cohen" initials="R." surname="Cohen"/>
            <author fullname="B. Moore" initials="B." surname="Moore"/>
            <date month="November" year="2003"/>
            <abstract>
              <t>This document presents an object-oriented information model for representing Quality of Service (QoS) network management policies. This document is based on the IETF Policy Core Information Model and its extensions. It defines an information model for QoS enforcement for differentiated and integrated services using policy. It is important to note that this document defines an information model, which by definition is independent of any particular data storage mechanism and access protocol.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3644"/>
          <seriesInfo name="DOI" value="10.17487/RFC3644"/>
        </reference>
        <reference anchor="RFC4862">
          <front>
            <title>IPv6 Stateless Address Autoconfiguration</title>
            <author fullname="S. Thomson" initials="S." surname="Thomson"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <author fullname="T. Jinmei" initials="T." surname="Jinmei"/>
            <date month="September" year="2007"/>
            <abstract>
              <t>This document specifies the steps a host takes in deciding how to autoconfigure its interfaces in IP version 6. The autoconfiguration process includes generating a link-local address, generating global addresses via stateless address autoconfiguration, and the Duplicate Address Detection procedure to verify the uniqueness of the addresses on a link. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4862"/>
          <seriesInfo name="DOI" value="10.17487/RFC4862"/>
        </reference>
        <reference anchor="RFC2918">
          <front>
            <title>Route Refresh Capability for BGP-4</title>
            <author fullname="E. Chen" initials="E." surname="Chen"/>
            <date month="September" year="2000"/>
            <abstract>
              <t>This document defines a new Border Gateway Protocol (BGP) capability termed 'Route Refresh Capability', which would allow the dynamic exchange of route refresh request between BGP speakers and subsequent re-advertisement of the respective Adj-RIB-Out. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2918"/>
          <seriesInfo name="DOI" value="10.17487/RFC2918"/>
        </reference>
        <reference anchor="RFC7880">
          <front>
            <title>Seamless Bidirectional Forwarding Detection (S-BFD)</title>
            <author fullname="C. Pignataro" initials="C." surname="Pignataro"/>
            <author fullname="D. Ward" initials="D." surname="Ward"/>
            <author fullname="N. Akiya" initials="N." surname="Akiya"/>
            <author fullname="M. Bhatia" initials="M." surname="Bhatia"/>
            <author fullname="S. Pallagatti" initials="S." surname="Pallagatti"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document defines Seamless Bidirectional Forwarding Detection (S-BFD), a simplified mechanism for using BFD with a large proportion of negotiation aspects eliminated, thus providing benefits such as quick provisioning, as well as improved control and flexibility for network nodes initiating path monitoring.</t>
              <t>This document updates RFC 5880.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7880"/>
          <seriesInfo name="DOI" value="10.17487/RFC7880"/>
        </reference>
        <reference anchor="RFC8695">
          <front>
            <title>A YANG Data Model for the Routing Information Protocol (RIP)</title>
            <author fullname="X. Liu" initials="X." surname="Liu"/>
            <author fullname="P. Sarda" initials="P." surname="Sarda"/>
            <author fullname="V. Choudhary" initials="V." surname="Choudhary"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document describes a data model for the management of the Routing Information Protocol (RIP). Both RIP version 2 and RIPng are covered. The data model includes definitions for configuration, operational state, and Remote Procedure Calls (RPCs).</t>
              <t>The YANG data model in this document conforms to the Network Management Datastore Architecture (NMDA).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8695"/>
          <seriesInfo name="DOI" value="10.17487/RFC8695"/>
        </reference>
      </references>
    </references>
    <?line 4072?>

<section anchor="sec-examples">
      <name>Examples</name>
      <section anchor="vpls">
        <name>VPLS</name>
        <t>Let's consider the example depicted in <xref target="ex-topo"/> with two customer terminating points (CE1 and CE2). Let's also assume that the bearers to attach these CEs to the provider network are already in place. References to the identify these bearers are shown in the figure.</t>
        <figure anchor="ex-topo">
          <name>Topology Example</name>
          <artwork align="center"><![CDATA[
            .-----.   .--------------.   .-----.
.----.      | PE1 +===+              +===+ PE2 |      .----.
| CE1+------+"450"|   |     MPLS     |   |"451"+------+ CE2|
'----'   ^  '-----'   |              |   '-----'   ^  '----'
         |            |     Core     |             |  
    Bearer:1234       '--------------'         Bearer:5678
]]></artwork>
        </figure>
        <t>The AC service model <xref target="I-D.ietf-opsawg-teas-attachment-circuit"/> can be used by the provider to manage and expose the ACs over existing bearers as shown in <xref target="ex-ac"/>.</t>
        <figure anchor="ex-ac">
          <name>ACs Created Using ACaaS</name>
          <artwork align="center"><![CDATA[
{
   "ietf-ac-svc:attachment-circuits":{
      "ac-group-profile":[
         {
            "name":"an-ac-profile",
            "l2-connection":{
               "encapsulation":{
                  "encap-type":"ietf-vpn-common:dot1q",
                  "dot1q":{
                     "tag-type":"ietf-vpn-common:c-vlan",
                     "cvlan-id":550
                  }
               }
            },
            "service":{
               "mtu":1550,
               "svc-pe-to-ce-bandwidth":{
                  "pe-to-ce-bandwidth":[
                     {
                        "bw-type":"ietf-vpn-common:bw-per-port",
                        "cir":"20480000"
                     }
                  ]
               },
               "svc-ce-to-pe-bandwidth":{
                  "ce-to-pe-bandwidth":[
                     {
                        "bw-type":"ietf-vpn-common:bw-per-port",
                        "cir":"20480000"
                     }
                  ]
               },
               "qos":{
                  "qos-profile":{
                     "qos-profile":[
                        {
                           "profile":"QoS_Profile_A",
                           "direction":"ietf-vpn-common:both"
                        }
                     ]
                  }
               }
            }
         }
      ],
      "ac":[
         {
            "name":"ac-1",
            "description":"First attachment",
            "ac-group-profile":["an-ac-profile"],
            "l2-connection":{
               "bearer-reference":"1234"
            }
         },
         {
            "name":"ac-2",
            "description":"Second attachment",
            "ac-group-profile": ["an-ac-profile"],
            "l2-connection":{
               "bearer-reference":"5678"
            }
         }
      ]
   }
}
]]></artwork>
        </figure>
        <t>The provisioned AC at PE1 can be retrieved using the AC network model as depicted in <xref target="ex-acntw-query"/>. A similar query can be used for the AC at PE2.</t>
        <figure anchor="ex-acntw-query">
          <name>Example of AC Network Response (Message Body)</name>
          <artwork align="center"><![CDATA[
{
   "ietf-ac-ntw:ac":[
      {
         "name":"ac-11",
         "ac-svc-ref":"ac-1",
         "peer-sap-id":[
            "ce-1"
         ],
         "status":{
            "admin-status":{
               "status":"ietf-vpn-common:admin-up"
            },
            "oper-status":{
               "status":"ietf-vpn-common:op-up"
            }
         },
         "l2-connection":{
            "encapsulation":{
               "encap-type":"ietf-vpn-common:dot1q",
               "dot1q":{
                  "tag-type":"ietf-vpn-common:c-vlan",
                  "cvlan-id":550
               }
            },
            "bearer-reference":"1234"
         },
         "service":{
            "mtu":1550,
            "svc-pe-to-ce-bandwidth":{
               "pe-to-ce-bandwidth":[
                  {
                     "cir":"20480000"
                  }
               ]
            },
            "svc-ce-to-pe-bandwidth":{
               "ce-to-pe-bandwidth":[
                  {
                     "cir":"20480000"
                  }
               ]
            },
            "qos":{
               "qos-profile":{
                  "qos-profile":[
                     {
                        "qos-profile-ref":"QoS_Profile_A",
                        "network-ref":"example:an-id",
                        "direction":"ietf-vpn-common:both"
                     }
                  ]
               }
            }
         }
      }
   ]
}
]]></artwork>
        </figure>
        <t>Also, the AC network model can be used to retrieve the list of SAPs to which the ACs are bound as shown in <xref target="ex-acntw-query"/>.</t>
        <figure anchor="ex-acntw-query-2">
          <name>Example of AC Network Response to Retrieve the SAP (Message Body)</name>
          <artwork align="center"><![CDATA[
{
   "ietf-sap-ntw:service":[
      {
         "service-type":"ietf-vpn-common:vpls",
         "sap":[
            {
               "sap-id":"sap#1",
               "peer-sap-id":[
                  "ce-1"
               ],
               "description":"A parent SAP",
               "attachment-interface":"GE0/6/1",
               "interface-type":"ietf-sap-ntw:phy",
               "role":"ietf-sap-ntw:uni",
               "allows-child-saps":true,
               "sap-status":{
                  "status":"ietf-vpn-common:op-up"
               }
            },
            {
               "sap-id":"sap#11",
               "description":"A child SAP",
               "parent-termination-point":"GE0/6/4",
               "attachment-interface":"GE0/6/4.2",
               "interface-type":"ietf-sap-ntw:logical",
               "encapsulation-type":"ietf-vpn-common:vlan-type",
               "sap-status":{
                  "status":"ietf-vpn-common:op-up"
               },
               "ietf-ac-ntw:ac":[
                  {
                     "ac-ref":"ac-1",
                     "node-ref":"example:pe2",
                     "network-ref":"example:an-id"
                  }
               ]
            }
         ]
      }
   ]
}
]]></artwork>
        </figure>
      </section>
      <section anchor="parent-ac">
        <name>Parent AC</name>
        <t>In reference to the topology depicted in <xref target="sap-ac-ntw"/>, PE2 has a SAP which terminates an AC with two peer SAPs (CE2 and CE5). In order to control data that is specific to each of these peer SAPs over the same AC, child ACs can be instantiated as depicted in <xref target="ex-parent-ac"/>.</t>
        <figure anchor="ex-parent-ac">
          <name>Example of Child ACs</name>
          <artwork align="center"><![CDATA[
{
   "ietf-ac-ntw:ac":[
      {
         "name":"ac-1",
         "peer-sap-id":[
            "CE2",
            "CE5"
         ],
         "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"
         }
      },
      {
         "name":"ac-1-to-ce2",
         "ac-parent-ref":{
            "ac-ref":"ac-1",
            "node-ref":"example:pe2",
            "network-ref":"example:an-id"
         },
         "peer-sap-id":[
            "CE2"
         ]
      },
      {
         "name":"ac-1-to-ce5",
         "ac-parent-ref":{
            "ac-ref":"ac-1",
            "node-ref":"example:pe2",
            "network-ref":"example:an-id"
         },
         "peer-sap-id":[
            "CE5"
         ]
      }
   ]
}
]]></artwork>
        </figure>
        <t><xref target="ex-parent-ac-sap"/> shows how to bind the parent AC to a SAP.</t>
        <figure anchor="ex-parent-ac-sap">
          <name>Example of Binding Parent AC to SAPs</name>
          <artwork align="center"><![CDATA[
{
   "ietf-sap-ntw:service":[
      {
         "service-type":"ietf-vpn-common:l3vpn",
         "sap":[
            {
               "sap-id":"sap#14587",
               "description":"A SAP",
               "parent-termination-point":"GE0/6/4",
               "attachment-interface":"GE0/6/4.2",
               "interface-type":"ietf-sap-ntw:logical",
               "encapsulation-type":"ietf-vpn-common:vlan-type",
               "sap-status":{
                  "status":"ietf-vpn-common:op-up"
               },
               "ietf-ac-ntw:ac":[
                  {
                     "ac-ref":"ac-1",
                     "node-ref":"example:pe2",
                     "network-ref":"example:an-id"
                  }
               ]
            }
         ]
      }
   ]
}
]]></artwork>
        </figure>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document builds on <xref target="RFC9182"/> and <xref target="RFC9291"/>.</t>
      <t>Thanks to Moti Morgenstern for the review and comments.</t>
      <t>Thanks to Martin Björklund for the yangdoctors review.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="V." surname="Lopez" fullname="Victor Lopez">
        <organization>Nokia</organization>
        <address>
          <email>victor.lopez@nokia.com</email>
        </address>
      </contact>
      <contact fullname="Ivan Bykov">
        <organization>Ribbon Communications</organization>
        <address>
          <email>Ivan.Bykov@rbbn.com</email>
        </address>
      </contact>
      <contact fullname="Qin Wu">
        <organization>Huawei</organization>
        <address>
          <email>bill.wu@huawei.com</email>
        </address>
      </contact>
      <contact fullname="Ogaki Kenichi">
        <organization>KDDI</organization>
        <address>
          <email>ke-oogaki@kddi.com</email>
        </address>
      </contact>
      <contact fullname="Luis Angel Munoz">
        <organization>Vodafone</organization>
        <address>
          <email>luis-angel.munoz@vodafone.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
