<?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.2 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-opsawg-ntw-attachment-circuit-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.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-02"/>
    <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="2023" month="November" day="28"/>
    <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="600" viewBox="0 0 600 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 80,208 L 80,240" fill="none" stroke="black"/>
              <path d="M 96,176 L 96,208" fill="none" stroke="black"/>
              <path d="M 96,240 L 96,256" fill="none" stroke="black"/>
              <path d="M 96,288 L 96,368" fill="none" stroke="black"/>
              <path d="M 112,160 L 112,240" fill="none" stroke="black"/>
              <path d="M 128,112 L 128,160" fill="none" stroke="black"/>
              <path d="M 144,160 L 144,192" fill="none" stroke="black"/>
              <path d="M 168,32 L 168,64" fill="none" stroke="black"/>
              <path d="M 184,64 L 184,112" fill="none" stroke="black"/>
              <path d="M 200,32 L 200,64" fill="none" stroke="black"/>
              <path d="M 208,160 L 208,192" fill="none" stroke="black"/>
              <path d="M 208,352 L 208,384" fill="none" stroke="black"/>
              <path d="M 208,416 L 208,448" fill="none" stroke="black"/>
              <path d="M 224,384 L 224,416" fill="none" stroke="black"/>
              <path d="M 232,112 L 232,152" fill="none" stroke="black"/>
              <path d="M 240,160 L 240,192" fill="none" stroke="black"/>
              <path d="M 240,352 L 240,384" fill="none" stroke="black"/>
              <path d="M 240,416 L 240,448" fill="none" stroke="black"/>
              <path d="M 256,80 L 256,112" fill="none" stroke="black"/>
              <path d="M 256,176 L 256,256" fill="none" stroke="black"/>
              <path d="M 256,288 L 256,368" fill="none" stroke="black"/>
              <path d="M 288,80 L 288,112" fill="none" stroke="black"/>
              <path d="M 344,176 L 344,256" fill="none" stroke="black"/>
              <path d="M 344,288 L 344,368" fill="none" stroke="black"/>
              <path d="M 360,160 L 360,192" fill="none" stroke="black"/>
              <path d="M 360,352 L 360,384" fill="none" stroke="black"/>
              <path d="M 376,96 L 376,160" fill="none" stroke="black"/>
              <path d="M 376,384 L 376,432" fill="none" stroke="black"/>
              <path d="M 392,160 L 392,192" fill="none" stroke="black"/>
              <path d="M 392,352 L 392,384" fill="none" stroke="black"/>
              <path d="M 408,352 L 408,384" fill="none" stroke="black"/>
              <path d="M 408,416 L 408,448" fill="none" stroke="black"/>
              <path d="M 424,384 L 424,416" fill="none" stroke="black"/>
              <path d="M 440,352 L 440,384" fill="none" stroke="black"/>
              <path d="M 440,416 L 440,448" fill="none" stroke="black"/>
              <path d="M 456,80 L 456,112" fill="none" stroke="black"/>
              <path d="M 456,352 L 456,384" fill="none" stroke="black"/>
              <path d="M 472,384 L 472,432" fill="none" stroke="black"/>
              <path d="M 488,80 L 488,112" fill="none" stroke="black"/>
              <path d="M 488,304 L 488,384" fill="none" stroke="black"/>
              <path d="M 504,176 L 504,256" fill="none" stroke="black"/>
              <path d="M 504,288 L 504,304" fill="none" stroke="black"/>
              <path d="M 504,344 L 504,368" fill="none" stroke="black"/>
              <path d="M 520,304 L 520,336" fill="none" stroke="black"/>
              <path d="M 560,304 L 560,336" fill="none" stroke="black"/>
              <path d="M 592,304 L 592,336" fill="none" stroke="black"/>
              <path d="M 168,32 L 200,32" fill="none" stroke="black"/>
              <path d="M 168,64 L 200,64" fill="none" stroke="black"/>
              <path d="M 256,80 L 288,80" fill="none" stroke="black"/>
              <path d="M 456,80 L 488,80" fill="none" stroke="black"/>
              <path d="M 288,96 L 456,96" fill="none" stroke="black"/>
              <path d="M 128,112 L 232,112" fill="none" stroke="black"/>
              <path d="M 256,112 L 288,112" fill="none" stroke="black"/>
              <path d="M 456,112 L 488,112" fill="none" stroke="black"/>
              <path d="M 112,160 L 144,160" fill="none" stroke="black"/>
              <path d="M 208,160 L 240,160" fill="none" stroke="black"/>
              <path d="M 360,160 L 392,160" fill="none" stroke="black"/>
              <path d="M 96,176 L 112,176" fill="none" stroke="black"/>
              <path d="M 144,176 L 208,176" fill="none" stroke="black"/>
              <path d="M 240,176 L 256,176" fill="none" stroke="black"/>
              <path d="M 344,176 L 360,176" fill="none" stroke="black"/>
              <path d="M 392,176 L 504,176" fill="none" stroke="black"/>
              <path d="M 112,192 L 144,192" fill="none" stroke="black"/>
              <path d="M 208,192 L 240,192" fill="none" stroke="black"/>
              <path d="M 360,192 L 392,192" fill="none" stroke="black"/>
              <path d="M 8,208 L 40,208" fill="none" stroke="black"/>
              <path d="M 80,208 L 112,208" fill="none" stroke="black"/>
              <path d="M 40,224 L 80,224" fill="none" stroke="black"/>
              <path d="M 8,240 L 40,240" fill="none" stroke="black"/>
              <path d="M 80,240 L 112,240" fill="none" stroke="black"/>
              <path d="M 96,256 L 256,256" fill="none" stroke="black"/>
              <path d="M 344,256 L 504,256" fill="none" stroke="black"/>
              <path d="M 96,288 L 256,288" fill="none" stroke="black"/>
              <path d="M 344,288 L 504,288" fill="none" stroke="black"/>
              <path d="M 488,304 L 520,304" fill="none" stroke="black"/>
              <path d="M 560,304 L 592,304" fill="none" stroke="black"/>
              <path d="M 520,320 L 560,320" fill="none" stroke="black"/>
              <path d="M 488,336 L 520,336" fill="none" stroke="black"/>
              <path d="M 560,336 L 592,336" fill="none" stroke="black"/>
              <path d="M 208,352 L 240,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 456,352 L 488,352" fill="none" stroke="black"/>
              <path d="M 96,368 L 208,368" fill="none" stroke="black"/>
              <path d="M 240,368 L 256,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 488,368 L 504,368" fill="none" stroke="black"/>
              <path d="M 208,384 L 240,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 456,384 L 488,384" fill="none" stroke="black"/>
              <path d="M 208,416 L 240,416" fill="none" stroke="black"/>
              <path d="M 408,416 L 440,416" fill="none" stroke="black"/>
              <path d="M 240,432 L 304,432" fill="none" stroke="black"/>
              <path d="M 328,432 L 376,432" fill="none" stroke="black"/>
              <path d="M 440,432 L 472,432" fill="none" stroke="black"/>
              <path d="M 208,448 L 240,448" fill="none" stroke="black"/>
              <path d="M 408,448 L 440,448" fill="none" stroke="black"/>
              <path d="M 216,160 C 224.83064,160 232,152.83064 232,144" fill="none" stroke="black"/>
              <g class="text">
                <text x="184" y="52">CE6</text>
                <text x="164" y="84">ac</text>
                <text x="272" y="100">CE5</text>
                <text x="472" y="100">CE2</text>
                <text x="388" y="132">ac</text>
                <text x="128" y="180">sap</text>
                <text x="224" y="180">sap</text>
                <text x="376" y="180">sap</text>
                <text x="24" y="228">CE1</text>
                <text x="96" y="228">sap</text>
                <text x="176" y="228">PE1</text>
                <text x="432" y="228">PE2</text>
                <text x="60" y="244">ac</text>
                <text x="540" y="308">ac</text>
                <text x="184" y="324">PE3</text>
                <text x="424" y="324">PE4</text>
                <text x="504" y="324">sap</text>
                <text x="576" y="324">CE5</text>
                <text x="224" y="372">sap</text>
                <text x="376" y="372">sap</text>
                <text x="424" y="372">sap</text>
                <text x="472" y="372">sap</text>
                <text x="236" y="404">ac</text>
                <text x="436" y="404">ac</text>
                <text x="484" y="404">ac</text>
                <text x="224" y="436">CE3</text>
                <text x="316" y="436">ac</text>
                <text x="424" 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>
    </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.</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>
    </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/sap:service/sap:sap:
    +--rw ac* [name]
       +--rw name                 string
       +--rw ac-svc-ref?          ac-svc:attachment-circuit-reference
       +--rw ac-profile* [profile-id]
       |  +--rw profile-id    -> /nw:networks/network/ac-profile/name
       +--rw ac-parent-ref?       ac-ntw:attachment-circuit-reference
       +--rw peer-sap-id*         string
       +--rw group* [group-id]
       |  +--rw group-id      string
       |  +--rw precedence?   identityref
       +--rw status
       |  +--rw admin-status
       |  |  +--rw status?        identityref
       |  |  +--rw 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
          ...
]]></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>A controller may indicate a filter based on the service type (e.g., Network Slice or L3VPN) to retrieve the list of available 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="sec-profiles">
        <name>Provisioning Profiles</name>
        <t>The 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]
       ...
]]></artwork>
        </figure>
        <t>The exact definition of these 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/sap:service/sap:sap:
    +--rw ac* [name]
       +--rw name                 string
       +--rw ac-svc-ref?          ac-svc:attachment-circuit-reference
       +--rw ac-profile* [profile-id]
       |  +--rw profile-id    ac-profile-reference
       +--rw ac-parent-ref?       ac-ntw:attachment-circuit-reference
       +--rw peer-sap-id*         string
       +--rw group* [group-id]
       |  +--rw group-id      string
       |  +--rw precedence?   identityref
       +--rw status
       |  +--rw admin-status
       |  |  +--rw status?        identityref
       |  |  +--rw 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/sap:service/sap:sap:
    +--rw ac* [name]
       +--rw name                 string
       +--rw ac-svc-ref?          ac-svc:attachment-circuit-reference
       +--rw ac-profile* [profile-id]
       |  +--rw profile-id    ac-profile-reference
       +--rw ac-parent-ref?       ac-ntw:attachment-circuit-reference
       +--rw peer-sap-id*         string
       +--rw group* [group-id]
       |  +--rw group-id      string
       |  +--rw precedence?   identityref
       +--rw status
       |  +--rw admin-status
       |  |  +--rw status?        identityref
       |  |  +--rw 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 l2-connection
       +--rw ip-connection
       +--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/sap:service/sap:sap:
    +--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-profiles* [id]
       |     |  +--rw id      leafref
       |     |  +--rw type?   identityref
       |     +--rw static
       |     |  ...
       |     +--rw bgp
       |     |  ...
       |     +--rw ospf
       |     |  ...
       |     +--rw isis
       |     |  ...
       |     +--rw rip
       |     |  ...
       |     +--rw vrrp
       |        ...
       +--rw oam
       |  ...
       +--rw security
       |  ...
       +--rw service
          ...
]]></artwork>
        </figure>
        <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/sap:service/sap:sap:
    +--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-profiles* [id]
       |     |  +--rw id      leafref
       |     |  +--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-enable?   boolean {vpn-common:bfd}?
       |     |     |  +--rw preference?   uint32
       |     |     |  +--rw status
       |     |     |     +--rw admin-status
       |     |     |     |  +--rw status?        identityref
       |     |     |     |  +--rw 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-enable?   boolean {vpn-common:bfd}?
       |     |        +--rw preference?   uint32
       |     |        +--rw status
       |     |           +--rw admin-status
       |     |           |  +--rw status?        identityref
       |     |           |  +--rw 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-enable':</dt>
            <dd>
              <t>Indicates whether BFD is enabled or disabled for this static route entry.</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 l2-connection
       +--rw ip-connection
       +--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 isis
       |     |  ...
       |     +--rw rip
       |     |  ...
       |     +--rw vrrp
       |        ...
       +--rw oam
          ...
  augment /nw:networks/nw:network/nw:node/sap:service/sap:sap:
    +--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-profiles* [id]
       |     |  +--rw id      leafref
       |     |  +--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 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 authentication
       |     |  |        +--rw enable?            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 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 authentication
       |     |     |  +--rw enable?            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
       |     |        |  +--rw 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 will be used together with the 'vpn-type' 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>
          </dl>
          <artwork><![CDATA[
'violate-action':
:  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.

'restart-timer':
:  Indicates, in seconds, the time interval after
  which the BGP session will be reestablished.
]]></artwork>
          <dl>
            <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>'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>
          </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 l2-connection
       +--rw ip-connection
       +--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/sap:service/sap:sap:
    +--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-profiles* [id]
       |     |  +--rw id      leafref
       |     |  +--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 enable?            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
       |     |     |  +--rw 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 l2-connection
       +--rw ip-connection
       +--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/sap:service/sap:sap:
    +--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-profiles* [id]
       |     |  +--rw id      leafref
       |     |  +--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 enable?            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
       |     |     |  +--rw 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 l2-connection
       +--rw ip-connection
       +--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/sap:service/sap:sap:
    +--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-profiles* [id]
       |     |  +--rw id      leafref
       |     |  +--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 enable?            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
       |     |     |  +--rw 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 l2-connection
       +--rw ip-connection
       +--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/sap:service/sap:sap:
    +--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-profiles* [id]
       |     |  +--rw id      leafref
       |     |  +--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
       |           |  +--rw 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 l2-connection
       +--rw ip-connection
       +--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/sap:service/sap:sap:
    +--rw ac* [name]
       +--rw name                 string
       +--rw ac-svc-ref?          ac-svc:attachment-circuit-reference
       +--rw ac-profile* [profile-id]
       |  +--rw profile-id    ac-profile-reference
       +--rw ac-parent-ref?       ac-ntw:attachment-circuit-reference
       +--rw peer-sap-id*         string
       +--rw group* [group-id]
       |  +--rw group-id      string
       |  +--rw precedence?   identityref
       +--rw status
       |  +--rw admin-status
       |  |  +--rw status?        identityref
       |  |  +--rw 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 profile?                    ac-svc:bfd-profile-reference
       |     +--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
       |        |  +--rw 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:</t>
        <dl>
          <dt>'profile':</dt>
          <dd>
            <t>Refers to a BFD profile (<xref target="sec-profiles"/>).</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/sap:service/sap:sap:
    +--rw ac* [name]
       +--rw name                 string
       +--rw ac-svc-ref?          ac-svc:attachment-circuit-reference
       +--rw ac-profile* [profile-id]
       |  +--rw profile-id    ac-profile-reference
       +--rw ac-parent-ref?       ac-ntw:attachment-circuit-reference
       +--rw peer-sap-id*         string
       +--rw group* [group-id]
       |  +--rw group-id      string
       |  +--rw precedence?   identityref
       +--rw status
       |  +--rw admin-status
       |  |  +--rw status?        identityref
       |  |  +--rw 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 profile-name?
       |        |          encryption-profile-reference
       |        +--:(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/sap:service/sap:sap:
    +--rw ac* [name]
       +--rw name                 string
       +--rw ac-svc-ref?          ac-svc:attachment-circuit-reference
       +--rw ac-profile* [profile-id]
       |  +--rw profile-id    ac-profile-reference
       +--rw ac-parent-ref?       ac-ntw:attachment-circuit-reference
       +--rw peer-sap-id*         string
       +--rw group* [group-id]
       |  +--rw group-id      string
       |  +--rw precedence?   identityref
       +--rw status
       |  +--rw admin-status
       |  |  +--rw status?        identityref
       |  |  +--rw 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* [profile]
          |        +--rw profile      qos-profile-reference
          |        +--rw direction?   identityref
          +--rw access-control-list
             +--rw acl-profiles
                +--rw acl-profile* [profile]
                   +--rw profile    forwarding-profile-reference
]]></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 SSSS: 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>";
  description
    "This YANG module defines a YANG model for the management of
     attachment circuits.

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

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

     This version of this YANG module is part of RFC xxx; 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";
  }

  // L2 connection groupings

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

  typedef attachment-circuit-reference {
    type leafref {
      path "/nw:networks/nw:network/nw:node/sap:service/sap:sap"
         + "/ac-ntw:ac/ac-ntw:name";
    }
    description
      "Defines a reference to an attachment circuit that can be used
       by other modules.";
  }

  typedef ac-profile-reference {
    type leafref {
      path "/nw:networks/nw:network/ac-profile/name";
    }
    description
      "Defines a reference to an attachment circuit profile that
       can be used by other modules.";
  }

  typedef encryption-profile-reference {
    type leafref {
      path
          "/nw:networks/nw:network"
        + "/ac-ntw:specific-provisioning-profiles" 
        + "/ac-ntw:valid-provider-identifiers"
        + "/ac-ntw:encryption-profile-identifier/ac-ntw:id";
    }
    description
      "Defines a type to an encryption profile for referencing
       purposes.";
  }

  typedef qos-profile-reference {
    type leafref {
      path
          "/nw:networks/nw:network"
        + "/ac-ntw:specific-provisioning-profiles" 
        + "/ac-ntw:valid-provider-identifiers"
        + "/ac-ntw:qos-profile-identifier/ac-ntw:id";
    }
    description
      "Defines a type to a QoS profile for referencing purposes.";
  }

  typedef bfd-profile-reference {
    type leafref {
      path
          "/nw:networks/nw:network"
        + "/ac-ntw:specific-provisioning-profiles" 
        + "/ac-ntw:valid-provider-identifiers"
        + "/ac-ntw:bfd-profile-identifier/ac-ntw:id";
    }
    description
      "Defines a type to a BFD profile for referencing purposes.";
  }

  typedef forwarding-profile-reference {
    type leafref {
      path
          "/nw:networks/nw:network"
        + "/ac-ntw:specific-provisioning-profiles" 
        + "/ac-ntw:valid-provider-identifiers"
        + "/ac-ntw:forwarding-profile-identifier/ac-ntw:id";
    }
    description
      "Defines a type to a forwarding profile for referencing
       purposes.";
  }

  typedef routing-profile-reference {
    type leafref {
      path
          "/nw:networks/nw:network"
        + "/ac-ntw:specific-provisioning-profiles" 
        + "/ac-ntw:valid-provider-identifiers"
        + "/ac-ntw:routing-profile-identifier/ac-ntw:id";
    }
    description
      "Defines a type to a routing profile for referencing 
       purposes.";
  }

  // 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 {
          default "number";
          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 {
          default "number";
          description
            "A choice for how IPv6 addresses are assigned.";
          case number {
            leaf number-of-dynamic-address {
              type uint16;
              default "1";
              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;
      default "false";
      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;
      default "0";
      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;
      default "false";
      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;
      default "false";
      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 "../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 "../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 enable {
        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;
        default "5000";
        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";
        default "75";
        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";
        default "30";
        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";
        default "90";
        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";
      }
    }
  }

  // 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-profiles {
        key "id";
        description
          "Routing profiles.";
        leaf id {
          type routing-profile-reference;
          description
            "Routing profile to be used.";
        }
        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-prefixes {
            if-feature "vpn-common:ipv4";
            key "lan next-hop";
            description
              "List of LAN prefixes for the site.";
            uses ac-common:ipv4-static-rtg-entry;
            leaf bfd-enable {
              if-feature "vpn-common:bfd";
              type boolean;
              description
                "Enables BFD.";
            }
            leaf preference {
              type uint32;
              description
                "Indicates the preference associated with the static
                 route.";
            }
            uses vpn-common:service-status;
          }
          list ipv6-lan-prefixes {
            if-feature "vpn-common:ipv6";
            key "lan next-hop";
            description
              "List of LAN prefixes for the site.";
            uses ac-common:ipv4-static-rtg-entry;
            leaf bfd-enable {
              if-feature "vpn-common:bfd";
              type boolean;
              description
                "Enables BFD.";
            }
            leaf preference {
              type uint32;
              description
                "Indicates the preference associated with the static
                 route.";
            }
            uses vpn-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 ac-common:bgp-authentication;
          uses vpn-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;
              default "1";
              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 vpn-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;
          default "1";
          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.";
            }
          }
          default "active";
          description
            "IS-IS interface mode type.";
        }
        uses ac-common:isis-authentication;
        uses vpn-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 vpn-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";
          }
          default "100";
          description
            "Sets the local priority of the VRRP speaker.";
        }
        leaf ping-reply {
          type boolean;
          default "false";
          description
            "Controls whether the VRRP speaker should reply to ping
             requests.";
        }
        uses vpn-common:service-status;
      }
    }
  }

  // OAM

  grouping bfd {
    description
      "Grouping for BFD.";
    leaf session-type {
      type identityref {
        base vpn-common:bfd-session-type;
      }
      default "vpn-common:classic-bfd";
      description
        "Specifies the BFD session type.";
    }
    leaf desired-min-tx-interval {
      type uint32;
      units "microseconds";
      default "1000000";
      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";
      default "1000000";
      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";
      }
      default "3";
      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";
    }
  }

  // OAM

  grouping oam {
    description
      "Defines the Operations, Administration, and Maintenance
       (OAM) mechanisms used.";
    container bfd {
      description
        "Container for BFD.";
      leaf profile {
        type bfd-profile-reference;
        description
          "Well-known service provider profile name.";
      }
      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 vpn-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;
        default "false";
        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 {
          leaf profile-name {
            type encryption-profile-reference;
            description
              "Name of the provider's profile to be applied.";
          }
        }
        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 l2-connection {
      description
        "Defines Layer 2 protocols and parameters that
         are required to enable AC connectivity.";
      //uses l2-connection;
    }
    container ip-connection {
      description
        "Defines IP connection parameters.";
      //uses l3-connection;
    }
    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 "profile";
            description
              "Points to a QoS profile.";
            leaf profile {
              type qos-profile-reference;
              description
                "QoS profile to be used.";
            }
            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 "profile";
            description
              "Points to an ACL profile.";
            leaf profile {
              type forwarding-profile-reference;
              description
                "Forwarding profile to be used.";
            }
          }
        }
      }
    }
  }

  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"
        + "/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 "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 "profile-id";
        description
          "List of AC profiles.";
        leaf profile-id {
          type ac-profile-reference;
          description
            "A reference to an AC profile.";
        }
      }
      leaf ac-parent-ref {
        type ac-ntw:attachment-circuit-reference;
        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.";
      }
      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 vpn-common:service-status;
      uses ac-ntw:ac;
    }
  }
}
<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>
      <ul spacing="normal">
        <li>
          <t>TBC</t>
        </li>
        <li>
          <t>TBC</t>
        </li>
      </ul>
      <t>Some of the readable data nodes in this YANG module may be considered
   sensitive or vulnerable in some network environments.  It is thus
   important to control read access (e.g., via get, get-config, or
   notification) to these data nodes.  These are the subtrees and data
   nodes and their sensitivity/vulnerability in the "ietf-ac-svc" module:</t>
      <ul spacing="normal">
        <li>
          <t>TBC</t>
        </li>
        <li>
          <t>TBC</t>
        </li>
      </ul>
      <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 '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="27" month="November" year="2023"/>
            <abstract>
              <t>   This document specifies a YANG service data model for Attachment
   Circuits (ACs).  This model can be used for the provisioning of ACs
   before or during service provisioning (e.g., Network Slice Service).
   The document also specifies a 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-02"/>
        </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="27" month="November" year="2023"/>
            <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-01"/>
        </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="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="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 3781?>

<section anchor="sec-examples">
      <name>An Example</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 provisionned 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[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
   "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":[
                  {
                     "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":[
                                 {
                                    "profile":"QoS_Profile_A",
                                    "direction":"ietf-vpn-common:\
                                                                both"
                                 }
                              ]
                           }
                        }
                     }
                  }
               ]
            }
         ]
      }
   ]
}
]]></artwork>
      </figure>
    </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>
    </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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
7t3aZ8LAmgbeqIQvBj0xkeg5wzRTu6j0G27qobPhK+38++n87GLbLJX8o0rE
AaH62S4o/w+ovr3Du4V6CTHDLY/40Cadyn305MnHj9vbfew3yxxrV804D0iH
XPT2vgxZkNtuIlIkmlP2qikHj74RPiiVho9yn52+eb6tExch3UVGExhA2lVF
Zxk6HsRgUVuCxFwPnY8jAQ9pwz5mFnL1U4dWwrSeXyD2PIcWRVyIA35MQfoU
GVELvxCH6NLS2OuTm4euWOzxhtXpuce3dvBRHM/tWeKkgRM5osG7LWdtiwNz
VmkMs6HImG2hbbF81cKDlEuOZ0UN+kqf3MGDT+7BJ/fgk/sthZwKMAd+FbJh
YNPF9aGloeGLj3WzSamaQqI0+EiE2nx92Kg4MzNN0ndhlsyn1ZVtOdqPxyaW
DEXAQ3HsHTva4rhZwU9bDhSPD4IU/vEtyKA0rqv8BiSJV4nJvDyADPuB03V7
oZnYcbEwn4SifTUCQaP3xWglebfAbZ+qqR3FVTKQUIJP6v6auuEk+7vI8wzl
JPzjyJh6TVVZlNavG8wPb2WYs0XlZ7J6lY7c2dQW2LUNbF+vIZ9OTQmuUXEf
46t40c40WEIqrsysq/inVqMJvtGLBJhO6NJtyHTBQxHRLt1OR4KOm/K3LWDN
EULYtgn/OcaJSMloefGXmKuppGgPBoO3J2YfvLWaK63Z9zt0nMcYtfRYCwWv
U9MSBiAHpFjwiQJPjS5CwEspQxK2dUetdEfuSnfU4IJoWukMWsoGjzwNBp+8
0tVI1LLSmUi1qS4rVjpFYe9K5xCzbaVTP5pXOrPIHVe6Wiu+lc4sFHRa6Zwa
tXFoXunqNYPuK11L5aaVzlulI3c2tdWw0nlryKdTUytXOrOJ1SudWbrbSufU
kI9/pash0wWPYPVKV6ejf6Xz0ruDtPfWk88649Sw0pk/uq10zo9uK53zY82+
36HjK1c6B5FVK13QVKOLEPBSyrPS1brz2/Q7H1h+Z9sdVnc5D4NxivmM4kq5
pPRGgkgMfcU5zo0P8sySeSqnOW5N+P3mSTIWMZ/yAIvhybYdbeJgj46YzSci
GtNM0Z6W+mg8uSI9pnivduIhNdJxu1ni4qgo2Jdntx3Z3krb24oQdW9jQpGw
Ck7Prw938L9H5EAe4TGHdBLgIRJ0j8RvsQvJHI9mjRlPKoLVyMfLNYVr0XAV
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
ba+l753LrFiiHUWyFsXPabBZj/45nd+/Go1Af1H6/i2d/209oqrj3ljVsNRa
aIq9etClH3TplnHtrEuvrUpTCHztE/QdN3SDzb0P+w44V9VbrXjX1V7SJyZL
9o/I2ahG2Ke9Llhb/W1r7R5901bb27V2T/U11XYPBFSD701l/9zMYij4Bs2V
ni+0eqXDe+iltPradeL29DdSdtaAhAYZ9niznYeYSIR7x+ydHA8Ay4x5oA4l
sFVqCliVYMdy053HMp0LfXMFMvuMDKXx1ExnslgDWQIDZarNJMXa6VwsNSLT
qELRB8XEulRoayx20EhYkKcxyW47dqeJtq1klSQFybAAct5cpSJ9iuoPfvX2
YdUgPNiDD/bgPduDn5MZmo3Btbjhf7K1yP8VClm2L08HtG+FXBrnfMz9FXVu
QIRQSIGG2oLGRSg7uDRFIMTIBBGBAXxSB7NC34oO3nIx0ZoGUi2h2Uwd6lF9
1SYEdIYL1frUaMDo3TDZO9EMX39Tm9+OMVNrsWYi4vZOtg9WnYELMRm9xJOZ
JovRcBomIBcxR7XRFrITT1kHoFAH40tsx7wIAd1tRsMQ52lBBWSEtYo5xj+2
Tt883/bvldSZ62PzHmCYTkK9A+bZCtT87nJbPmf7kjYCqRfakpXIqD1eNcNp
vCwU+L0YgtAY5pAYUw0HDQVnNfhT28wwZ6gdfiTyVSnG0k3xHDAMSDTJeJ2R
pcvlKKzR+6OBO2WSG1FQeG1v+27YM7oM0ulKTPyIOSF2AkrbZczt2SKjgFPT
ZBb7szxEcwkVtXJdcWi0MYtuKTWYjcM4n8HE9nR+lID2Vni6Dew1SSJK77Jp
Jp52yiv27UomUh7QmJnrLunWpY3uOfVn0MlMMM8I1ealdFVYPTbkGwh5zfQr
+mwV3mztnb3PDe1N0umyUJnyztL522A4nRbJlN9R+HawdTb83jgPrRGLKg7w
TYx1lnnWRMkWfZ6BaJTZ0K7pxVIxEG0b3bNkNgIOyKArdN5s9cpgE4ViqwlG
gDDoeJopBQmm0Ygl1fGm6U0jkLGtXWj5pW7HXtGJiJQ1yKOWuMRra8JuhEB2
1x1k2AddrdAUcavEf7q4PuwUBILgQqXi1F2JhtSTFy5Ywk5cjAJAxOcVE9q6
uoFtAc6BKmdvr6wveB/1oqKVAG40Q9ycoA2hZDnfVgSdCJ+ZCCen+ysElhqO
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
EUEZM97o3vj/AbjDVNuJJAIA

-->

</rfc>
