<?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.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-opsawg-ntw-attachment-circuit-00" 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-00"/>
    <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="06"/>
    <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 80?>

<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 <xref target="I-D.boro-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>
  </front>
  <middle>
    <?line 86?>

<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 AC may host multiple services (e.g., Layer 2 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 base AC to be put in place, and then refer to that AC when requesting services to be bound to that AC. <xref target="I-D.boro-opsawg-teas-attachment-circuit"/> specifies a data model for managing attachment circuits as a service.</t>
      <t>This document specifies a network model for ACs ("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 AC 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.</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.boro-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>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. 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 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. One or multiple attachment circuits may be hosted over the same bearer (e.g., multiple 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.</t>
        </dd>
        <dt>Service orchestrator:</dt>
        <dd>
          <t>Refers to a functional entity that interacts with the customer of a network service. The service orchestrator is typically responsible for the attachment circuits, the Provider Edge (PE) selection, and requesting the activation of the requested service to a network controller.</t>
        </dd>
        <dt>Service provider network:</dt>
        <dd>
          <t>A network that is able to provide network services (e.g., Network Slice Services).</t>
        </dd>
        <dt>Service provider:</dt>
        <dd>
          <t>A service provider that offers network services (e.g., 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>
      <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"/>. 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. In order to expose such AC/SAP binding information, the SAP model <xref target="RFC9408"/> is augmented with required AC-related information. 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-ref') is stored in the 'ac-ntw' module. A controller may, for example, 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>Unlike the AC service model, an AC is uniquely identified within the scope of a node, not a network. An AC can be characterized using Layer 2 connectivity, Layer 3 connectivity, routing protocols, OAM, and security considerations. In order to factorize a set of data that is provisioned for a set of ACs, a set of 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>
        <figure anchor="o-ntw-tree">
          <name>Overall Tree Structure</name>
          <artwork><![CDATA[
  augment /nw:networks/nw:network:
    +--rw ac-profile* [name]
       ...
  augment /nw:networks/nw:network/nw:node/sap:service/sap:sap:
    +--rw ac* [name]
       +--rw name                 string
       +--rw ac-ref?              ac-svc:attachment-circuit-reference
       +--rw ac-profile* [profile-id]
       |  +--rw profile-id    -> /nw:networks/network/ac-profile/name
       +--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>
      </section>
      <section anchor="l2-connection">
        <name>L2 Connection</name>
        <t>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-ref?              ac-svc:attachment-circuit-reference
       +--rw ac-profile* [profile-id]
       |  +--rw profile-id    -> /nw:networks/network/ac-profile/name
       +--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
          ...
]]></artwork>
        </figure>
      </section>
      <section anchor="ip-connection">
        <name>IP Connection</name>
        <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-ref?              ac-svc:attachment-circuit-reference
       +--rw ac-profile* [profile-id]
       |  +--rw profile-id    -> /nw:networks/network/ac-profile/name
       +--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
          ...
]]></artwork>
        </figure>
      </section>
      <section anchor="routing">
        <name>Routing</name>
        <t>The routing tree structure is shown in <xref target="rtg-tree"/>.</t>
        <figure anchor="rtg-tree">
          <name>Rotuing 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 local-as?                 inet:as-number
       |     |  +--rw peer-as                   inet:as-number
       |     |  +--rw address-family?           identityref
       |     |  +--rw multihop?                 uint8
       |     |  +--rw as-override?              boolean
       |     |  +--rw allow-own-as?             uint8
       |     |  +--rw prepend-global-as?        boolean
       |     |  +--rw send-default-route?       boolean
       |     |  +--rw site-of-origin?           rt-types:route-origin
       |     |  +--rw ipv6-site-of-origin?
       |     |  |       rt-types:ipv6-route-origin
       |     |  +--rw redistribute-connected* [address-family]
       |     |  |  +--rw address-family    identityref
       |     |  |  +--rw enable?           boolean
       |     |  +--rw bgp-max-prefix
       |     |  |  +--rw max-prefix?          uint32
       |     |  |  +--rw warning-threshold?   decimal64
       |     |  |  +--rw violate-action?      enumeration
       |     |  |  +--rw restart-timer?       uint32
       |     |  +--rw bgp-timers
       |     |     +--rw keepalive?   uint16
       |     |     +--rw hold-time?   uint16
       |     +--rw ospf
       |     |  +--rw address-family?   identityref
       |     |  +--rw area-id           yang:dotted-quad
       |     |  +--rw metric?           uint16
       |     |  +--rw max-lsa?          uint32
       |     +--rw isis
       |     |  +--rw address-family?   identityref
       |     |  +--rw area-address      area-address
       |     |  +--rw level?            identityref
       |     |  +--rw metric?           uint16
       |     |  +--rw mode?             enumeration
       |     +--rw rip
       |     |  +--rw address-family?   identityref
       |     |  +--rw timers
       |     |  |  +--rw update-interval?     uint16
       |     |  |  +--rw invalid-interval?    uint16
       |     |  |  +--rw holddown-interval?   uint16
       |     |  |  +--rw flush-interval?      uint16
       |     |  +--rw default-metric?   uint8
       |     +--rw vrrp
       |        +--rw address-family?   identityref
       |        +--rw ping-reply?       boolean
       +--rw oam
          ...
  augment /nw:networks/nw:network/nw:node/sap:service/sap:sap:
    +--rw ac* [name]
       +--rw name                 string
       +--rw ac-ref?              ac-svc:attachment-circuit-reference
       +--rw ac-profile* [profile-id]
       |  +--rw profile-id    -> /nw:networks/network/ac-profile/name
       +--rw description?         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 peer-groups
       |     |  |  +--rw peer-group* [name]
       |     |  |     +--rw name                      string
       |     |  |     +--rw local-address?            union
       |     |  |     +--rw description?              string
       |     |  |     +--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 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 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 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 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 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
          ...
]]></artwork>
        </figure>
      </section>
      <section anchor="oam">
        <name>OAM</name>
        <t>The OAM tree 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-ref?              ac-svc:attachment-circuit-reference
       +--rw ac-profile* [profile-id]
       |  +--rw profile-id    -> /nw:networks/network/ac-profile/name
       +--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
          ...
]]></artwork>
        </figure>
      </section>
      <section anchor="security">
        <name>Security</name>
        <t>The security tree structure is shown in <xref target="sec-tree"/>.</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-ref?              ac-svc:attachment-circuit-reference
       +--rw ac-profile* [profile-id]
       |  +--rw profile-id    -> /nw:networks/network/ac-profile/name
       +--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?         leafref
                +--:(customer-profile)
                   +--rw customer-key-chain?
                           key-chain:key-chain-ref
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="yang-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="RFC9181"/>, <xref target="I-D.boro-opsawg-teas-common-ac"/>, and IEEE Std 802.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-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 2022-11-30 {
    description
      "Initial revision.";
    reference
      "RFC xxxx: A YANG Network Data Model for Attachment Circuits";
  }

  // 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

  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.";
    }
    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 leafref {
            path "/nw:networks/nw:network"
               + "/ac-ntw:specific-provisioning-profiles"
               + "/valid-provider-identifiers"
               + "/routing-profile-identifier/id";
          }
          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 leafref {
          path "/nw:networks/nw:network"
             + "/ac-ntw:specific-provisioning-profiles"
             + "/valid-provider-identifiers"
             + "/bfd-profile-identifier/id";
        }
        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 leafref {
              path "/nw:networks/nw:network"
                 + "/ac-ntw:specific-provisioning-profiles"
                 + "/valid-provider-identifiers"
                 + "/encryption-profile-identifier/id";
            }
            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;
    }
  }

  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 vpn-common:vpn-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 local AC identifier.";
      }
      leaf ac-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 leafref {
            path "/nw:networks/nw:network/ac-profile/name";
          }
          description
            "A reference to an AC profile.";
        }
      }
      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
   Maintained by IANA?  N
   Namespace:  urn:ietf:params:xml:ns:yang:ietf-ac-ntw
   Prefix:  ac-ntw
   Reference:  RFC xxxx
]]></artwork>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.boro-opsawg-teas-attachment-circuit">
          <front>
            <title>YANG Data Models for 'Attachment Circuits'-as-a-Service (ACaaS)</title>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Richard Roberts" initials="R." surname="Roberts">
              <organization>Juniper</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Samier Barguil" initials="S." surname="Barguil">
              <organization>Nokia</organization>
            </author>
            <author fullname="Bo Wu" initials="B." surname="Wu">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="10" month="July" year="2023"/>
            <abstract>
              <t>   This document specifies a YANG service data model for Attachment
   Circuits (ACs).  This model can be used for the provisioning of ACs
   before or during service provisioning (e.g., Network Slice Service).
   The document also specifies a module that updates other service and
   network modules with the required information to bind specific
   services to ACs that are created using the AC service model.

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-boro-opsawg-teas-attachment-circuit-07"/>
        </reference>
        <reference anchor="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.boro-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="3" month="May" 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-boro-opsawg-teas-common-ac-02"/>
        </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="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="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="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="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="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="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="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 2689?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <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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
dtAOma/JLsjkok4LZNhYaJo0e2+ugBUL6R9p7qwjdod1pOpUYh3p8fnWEXOX
Xc/iXcuOGeXal5363bLsPBg3lx1C97Szxeay8zS5YtnZTbYtO/WbeZddK6h3
XnaN6j7iNqHqT9xu02suu0b1dsh8TbZCJqgJpJvQC1xyoglClWMJwi9TpVqW
ZaNgB/PoLb9UlUWVLOMCgzDamTgUu4qUlEMSOTzoLD0JyyDJqcIyb0hvs/ur
ReYVhJ/W8Zc9Or4BimjhsKJEnlo8phMCjU80xtDR0nse7Kqg0IdxDJZ+hYMA
s74e6ldeMrpa5M01LkkH9/ZM/QQefMUj/ob8a4N0keLkGaoiD8ijKppoMQkx
diYLxmUaTxOtgn7XUUPsrtplW/qQeHpvgO7W//hdEyhYmvqkjVnZ+mLVZN7K
AoUNwFTpeYInxQMMEQnQSWeX8RVzrQKT1dgWgk9z/kOafcKIkjaftMG0ceYx
/8B+Oztvs98O+9tvhw/22x/HfuvtpRDNHPrZTQvnSBdXR9ZqxhcfmyJWsSXB
PFv0acFir45amSx3eU3SmyBL8mk9c+bSejz6k3R7UeOBiDPEgXYo+SvU722n
FY++SsIhvoXZTaOmeDBaknBVeN7J05Aha/h9GN7WTOh4saCYBKJ/NQOsVVM3
ekluFlkapXVbP4qq5O6NbD5p6vZNISvHuyiKDJcS/MdZR82aqrIorV+3iCpv
5aoOy9pPZM0qPamzrS/QgVrIvllDPr26ElQjY9qCeBYtuokGS0jNlRPrKvpp
1Ghr3xhFAkQnLLwuYPrAoZBol+7GI7WOe523Hc2aM4Rt2+re55gnQiUHywu/
hFwtJYX7pKy8IzHH4K3VXmnNsd9h4HyO8QxppJmC1wC2mAHwAckWfKzAU6MP
E/BiyuCEXcNRku7YlXTHLepqm6QzcCk7PPZ0yD5Z0jVQ1CHpTKC6NlhWSDqF
Ya+kc5DZJenUj3ZJZxa5o6Rr9OKTdGYh1kvSOTUa89Au6Zo1WX9J11G5TdJ5
q/Skzra+WiSdt4Z8enW1UtKZXayWdGbpfpLOqSEfv6RrANMHDrZa0jXx6Jd0
Xnz34PbeevJZZ55aJJ35o5+kc370k3TOjzXHfoeBr5R0DiCrJB1rq9GHCXgx
5ZF0jeH8Dj6KQ8tHYfke/O6Jtxw6caZQRCl1OiPKeup4I3jk2JAZ95Ss9lD0
C55Z0xvhNdk7jPTVM+QvAWA2CEx00xZcokp070GpYuPpoqFSdDgwWjtV1YQO
VTW1HiLgsAq4vG+pTu7bsGpU7lldrjc6pXprwtCKB1WXwkln5paTfDxamu6x
CjC4q0xNZzU9Y5D+SZi31cNDpAGQewNXXb2BYol3UgU8jMys2t1bhZXiZBLC
GAMkMwXsinppnaBmVpTpNLXoAHQTvoNDrYkCLa0Q13KaahT94DZMtXq0XiZx
WvHLGRO5+JLYYNKcGP7L16OPavBrF7WoakmO0aMmUrqRCWstmIc3AbcO2tvV
ZYy2G7smTqXrsMTTaEE9g6HMiox87XESpfMwOz5qr3eVFhnFWkXGSm9Vjz5Y
eOcqKkZolRLSFjA1Aqh01SjAZJl3SbIIMRS8Tfs3C+M4qcW2wkLcVYu2Rd9k
GKsZBV5Xa29q8ZC1oga6C/6xDOM2DoNhyJFJMC0D1HSQVeEKIhBLrEqbSP3E
IYqKvID5po31Y+yrxct6MN01UVK4bLaVVAWRpm3y7S5oaSFe9X25oLhF2vK6
CgUuWgakuWMORdPYrrWqElJ+jNLDrLWq0iRbVjMHum58S5Ghp6nVY3FVlg6q
2R1QrergFaZgiiy0FHeYa0OTZQ9B0H+eTau19ljvqh23T5BPUzafFVqzAQqd
c/CB8sGFBoh30sFa+unr3FptaSMKqyiMQQZhZBfXIFwnl4UmdJuaRWEY8CfL
k5s6AEW4OSCml2nn3mETNGzXQK/y2rboQk5VDBBqi51oVpDw8yJuCEuzvC2D
WjQYs8J4Egda+RN8yQ6smMQrELKwgjZ6dOqLtm/OacvBgO5GVwfqt0xM/2MD
HmA7ThHYpCZK3wVWVflOsBrWy7rLRD6rNh4cqbf+MmHrLhO25jJh6y4Tdg/L
hK27TNjqZWKWWrVM1Ju7LBOn8p1ITwO7cpk4pe8CK7vjMlnlQyJvDh2H6lCa
dSF/ONcHuzev+kVPC82ble0dPrOyn/7Nums7xDwdr+8WMxu5s3PMlhB3cZGZ
LazrKLN6X9tdZtVe02lmIW9t15mld63tQLNq9/J9yRXZz7XWEFF37GS1m83s
6VOcbcxY9Gu73MzK/R1vDpta4X4z+1jTCWdWXd8VZ9a+i0POrL+OW85FT7t/
w+yhj4vOqbLSUecu9CUeCK9FfptWX3ErPawgCKaHgtfrAVngmfsway+uamwX
JAHc/VGnLC8+3A6LnVXlHKoOwsIYyMphOG2ERQBDAgHe5WG33tMDdQKqNFS/
gvZ1aA9xHj/uP0Yo/JsD2BIg0izNDKpw4/27V5C3iYZ47FQTmk1E5e2iLoIw
m+Kxs9l8Jb6MZ7UrM0/S6WxclMC6y2ReIMPhLNlrzkjWYha0+ms9YuE0sa4C
pipqLbHNrqYn+JYNBnvwP0P1NH5bPq9mJ2ureO641tfv7AHeRbljfpnaV7NT
1ddV63S/a+t0uuqaCp3G1tranKq6viqnq65QsZgmxH5KnGq5lwbna361+sb0
8r2j7sZMCbOW4mbW7K+1KYhXqGxm6+voa2a9NZU1s+ramppZeR01zcJH+wbq
WgqaWb6PdqZgWKGasc4Z75pyA/xupcwBqF0jU/+yDnXMLHQnXczbQKci5tSQ
T18lpzEsrwrmBatb/7pvuNo1L7uD9dWutvp9dS5v/YbCxXpKzk7fXG+H4we7
uTU8eKrmXV2Na/gZ7+5k/AQP4580gKOahXM6p1pZXm8MbcQRBeq7xwnebAQE
Nc8XRnpCt5PUKIgvezgonaHdQ2DKh54S4y7iores6CcoHCkB8AaK1XWYjSYU
wSqb9g4MtQWsfgbtJ5myn2TE3o2brmKlvfc377iz+QkctC/7vCPv/ATG+RAW
5mE4D1zpgSs9cKXfkSs9BGUalT5TUOYDn/tj8LkHVvWnZlVrRTV3QmM1KXYy
mH48S1jVGIfRu+UiwB0Co0rnnovuLS3xyvfeV2KZdeWNhys987pGI2obHy8f
YV0Ua+O5jWLV7/Uo1qm2Jl1o0Doo1im3HmRsbYoVXpJPO9UpT1zKY51vi3qJ
xzS9BzrfjF7xw5zwo/sgJ0C17rVSf5JDm13HatW78SRuD3m0p6eq1DUPzng8
BGNWxTTrZRIHuE7qm6bOotVqa2giJwVVK28aSou/Ft/oFKk3Uosh2ZzBrISK
kdxfcB/V1cOxDfbPdWxjxbFztT58clcM1kcwci4wvFgirzEJZltrriyzav+V
Zdk3vVeWWav3yjIr9VpZjVq2TfBvLaqk1qvxdV+1WTlw0miZFVzqeRWATunf
Q/TfRe5/gtDvJfHvIu7vJOtXZg8QUlflDgAx7RXkF7KhDZ6yVCSJ6RTpUOrh
psh/ce7dR72UjgWyZPFuEFMR0q8tfcjxR8Qe9sGsdXwrOaXH5euBQU6ET03Z
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
jVjKqzS5FrrKnPP/jf8Pa+Yg7s51AQA=

-->

</rfc>
