<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.2 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-opsawg-teas-attachment-circuit-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.2 -->
  <front>
    <title abbrev="ACaaS">YANG Data Models for 'Attachment Circuits'-as-a-Service (ACaaS)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-teas-attachment-circuit-02"/>
    <author fullname="Mohamed Boucadair" role="editor">
      <organization>Orange</organization>
      <address>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <author fullname="Richard Roberts" role="editor">
      <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="27"/>
    <area>Operations and Management</area>
    <workgroup>OPSAWG</workgroup>
    <keyword>Slice Service</keyword>
    <keyword>L3VPN</keyword>
    <keyword>L2VPN</keyword>
    <abstract>
      <?line 92?>

<t>This document specifies a YANG service data model for Attachment Circuits (ACs). This model can be used for the provisioning of ACs before or during service provisioning (e.g., Network Slice Service). The document also specifies a service model for managing bearers over which ACs are established.</t>
      <t>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>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Operations and Management Area Working Group Working Group mailing list (opsawg@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/opsawg/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/boucadair/attachment-circuit-model"/>.</t>
    </note>
  </front>
  <middle>
    <?line 98?>

<section anchor="introduction">
      <name>Introduction</name>
      <section anchor="scope-and-intended-use">
        <name>Scope and Intended Use</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. A connectivity service is basically about ensuring data transfer received from or destined to a given terminating point to or from other terminating points within the same customer/service, an interconnection node, or an ancillary node. The objectives for the connectivity service can be negotiated and agreed upon between the customer and the network provider. To facilitate data transfer within the provider network, it is assumed that the appropriate setup is provisioned over the links that connect customer terminating points and a provider network, allowing successfully data exchanged over these links. The required setup is referred to in this document as Attachment Circuits (ACs), while the underlying link is referred to as "bearers".</t>
        <t>This document adheres to the definition of an Attachment Circuit as provided in Section 1.2 of <xref target="RFC4364"/>, especially:</t>
        <ul empty="true">
          <li>
            <t>Routers can be attached to each other, or to end systems, in a
   variety of different ways: PPP connections, ATM Virtual Circuits
   (VCs), Frame Relay VCs, ethernet interfaces, Virtual Local Area
   Networks (VLANs) on ethernet interfaces, GRE tunnels, Layer 2
   Tunneling Protocol (L2TP) tunnels, IPsec tunnels, etc.  We will use
   the term "attachment circuit" to refer generally to some such means
   of attaching to a router.  An attachment circuit may be the sort of
   connection that is usually thought of as a "data link", or it may be
   a tunnel of some sort; what matters is that it be possible for two
   devices to be network layer peers over the attachment circuit.</t>
          </li>
        </ul>
        <t>When a customer requests a new value-added service, the service can be bound to existing attachment circuits or trigger the instantiation of new attachment circuits. The provisioning of a value-added service should, thus, accommodate both deployments.</t>
        <t>Also, because the instantiation of an attachment circuit requires coordinating the provisioning of endpoints that might not belong to the same administrative entity (customer vs. provider or distinct operational teams within the same provider, etc.), ** providing programmatic means to expose 'attachment circuits'-as-a-service will greatly simplify the provisioning of value-added services** delivered over an attachment circuits.</t>
        <t>This document specifies a YANG service data model ("ietf-ac-svc") for managing attachment circuits that are exposed by a network to its customers, such as an enterprise site, a network function, a hosting infrastructure, or a peer network provider. The model can be used for the provisioning of ACs prior or during advanced service provisioning (e.g., Network Slice Service).</t>
        <t>The "ietf-ac-svc" includes a set of reusable groupings. Whether a service model reuses structures defined in the "ietf-ac-svc" or simply includes an AC reference (that was communicated during AC service instantiation) is a design choice of these service models. Relying upon the AC service model to manage ACes over which services are delivered has the merit to decorrelate the management of the (core) service vs. upgrade the AC components to reflect recent AC technologies or new features (e.g., new encryption scheme, additional routing protocol). <strong>This document favors the approach of completely relying upon the AC service model instead of duplicating data nodes into specific modules of advanced services that are delivered over an Attachment Circuit.</strong></t>
        <t>Since the provisioning of an AC requires a bearer to be in place, this document introduces a new module called "ietf-bearer-svc" that enables customers to manage their bearer requests. The customers can then retrieve a provider-assigned bearer reference that they will include in their AC service requests.</t>
        <t>An AC service request can provide a reference to a bearer or a set of peer SAPs. Both schemes are supported in the AC service model.</t>
        <t>Each AC is identified with a unique identifier within a (provider) domain. From a network provider standpoint, an AC can be bound to a single or multiple Service Attachment Points (SAPs) <xref target="RFC9408"/>. Likewise, the same SAP can be bound to one or multiple ACs. However, the mapping between an AC and a PE in the provider network that terminates that AC is hidden to the application that makes use of the AC service model. Such mapping information is internal to the network controllers. As such, the details about the (node-specific) attachment interfaces are not exposed in the AC service model.</t>
        <t>The AC service model <strong>does not make any assumptions about the internal structure or even the nature or the services that will be delivered over an attachment circuit</strong>. Customers do not have access to that network view other than the ACes that the ordered. For example, the AC service model can be used to provision a set of ACes to connect multiple sites (Site1, Site2, ..., SiteX) for customer who also requested VPN services. If these provisioning of these services require specific configuration on ASBR nodes, such configuration is handled at the network level and is not exposed to the customer at the service level. However, the network controller will have access to such a view as the service points in these ASBRs will be exposed as SAPs with "role" set to "ietf-sap-ntw:nni" <xref target="RFC9408"/>.</t>
        <t>The AC service model can be used in a variety of contexts, such as (but not limited to) those provided in <xref target="examples"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Request an attachment circuit for a known peer SAP (<xref target="ac-no-bearer-peer-sap"/>).</t>
          </li>
          <li>
            <t>Instantiate multiple attachment circuits over the same bearer (<xref target="sec-ex-one-ce-multi-acs"/>).</t>
          </li>
          <li>
            <t>Control the precedence over multiple attachment circuits (<xref target="sec-ex-prec"/>).</t>
          </li>
          <li>
            <t>Create Multiple ACs bound to Multiple CEs (<xref target="sec-multiple-ces"/>).</t>
          </li>
          <li>
            <t>Bind a slice service to a set of pre-provisioned attachment circuits (<xref target="sec-ex-slice"/>).</t>
          </li>
          <li>
            <t>Connect a Cloud Infrastructure to a service provider network (<xref target="sec-ex-cloud"/>).</t>
          </li>
        </ul>
        <t>The examples use the IPv4 address blocks reserved for documentation <xref target="RFC5737"/>, the IPv6 prefix reserved for documentation <xref target="RFC3849"/>, and the Autonomous System (AS) numbers reserved for documentation <xref target="RFC5398"/>.</t>
        <t>The YANG data models in this document conform to the Network Management Datastore Architecture (NMDA) defined in <xref target="RFC8342"/>.</t>
      </section>
      <section anchor="position-acaas-vs-other-data-models">
        <name>Position ACaaS vs. Other Data Models</name>
        <t>The AC model specified in this document <strong>is not a network model</strong> <xref target="RFC8969"/>. As such, the model does not expose details related to specific nodes in the provider's network that terminate an AC. The mapping between an AC as seen by a customer and the network implementation of an AC is maintained by the network controllers and is not exposed to the customer. This mapping can be maintained using a variety of network models, such as augmented SAP AC network model <xref target="I-D.ietf-opsawg-ntw-attachment-circuit"/>.</t>
        <t>The AC service model <strong>is not a device model</strong>. A network provider may use a variety of device models (e.g., Routing management <xref target="RFC8349"/> or BGP <xref target="I-D.ietf-idr-bgp-model"/>) to provision an AC service.</t>
        <section anchor="why-not-using-the-l2sm-as-reference-data-model-for-acaas">
          <name>Why Not Using the L2SM as Reference Data Model for ACaaS?</name>
          <t>The L2SM <xref target="RFC8466"/> covers some AC-related considerations. Nevertheless, the L2SM structure is primarily focused on Layer 2 aspects. For example, the L2SM part does not cover Layer 3 provisioning, which is required for the typical AC instantiation.</t>
        </section>
        <section anchor="why-not-using-the-l3sm-as-reference-data-model-for-acaas">
          <name>Why Not Using the L3SM as Reference Data Model for ACaaS?</name>
          <t>Like the L2SM, the L3SM <xref target="RFC8299"/> addresses certain AC-related aspects. However, the L3SM structure does not sufficiently address Layer 2 provisioning requirements. Additionally, the L3SM is primarily designed for conventional L3VPN deployments and, as such, has some limitations for instantiating ACs in other deployment contexts (e.g., cloud environments). For example, the L3SM does not provide the capability to provision multiple BGP sessions over the same AC.</t>
        </section>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>The meanings of the symbols in the YANG tree diagrams are defined in <xref target="RFC8340"/>.</t>
      <t>This document uses 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., Layer 2 VPN, Layer 3, and Network Slice Services).</t>
        </dd>
        <dt>Service provider:</dt>
        <dd>
          <t>A service provider that offers network services (e.g., Layer 2 VPN, Layer 3, and Network Slice Services).</t>
        </dd>
      </dl>
    </section>
    <section anchor="sample-uses-of-the-data-models">
      <name>Sample Uses of the Data Models</name>
      <section anchor="acs-terminated-by-one-or-multiple-customer-edges-ces">
        <name>ACs Terminated by One or Multiple Customer Edges (CEs)</name>
        <t><xref target="uc"/> depicts two target topology flavors that involve ACs. These topologies have the following characteristics:</t>
        <ul spacing="normal">
          <li>
            <t>A Customer Edges (CEs) can be either a physical device or a logical entity. Such logical entity is typically a software component (e.g., a virtual service function that is hosted within the provider's network or a third-party infrastructure). A CE is seen by the network as a peer SAP.</t>
          </li>
          <li>
            <t>An AC service request may include one or multiple ACs, which may be associated to a single CE or multiple CEs.</t>
          </li>
          <li>
            <t>CEs may be either dedicated to one single connectivity service or host multiple connectivity services (e.g., CEs with roles of service functions <xref target="RFC7665"/>).</t>
          </li>
          <li>
            <t>A network provider may bind a single AC to one or multiple peer SAPs (e.g., CE#1 and CE#2 are tagged as peer SAPs for the same AC). For example, and as discussed in <xref target="RFC4364"/>, multiple CEs can be attached to a PE over the same attachment circuit. This scenario is typically implemented when the Layer 2 infrastructure between the CE and the network is a multipoint service.</t>
          </li>
          <li>
            <t>A single CE may terminate multiple ACs, which can be associated with the same bearer or distinct bearers.</t>
          </li>
          <li>
            <t>Customers may request protection schemes in which the ACs associated with their endpoints are terminated by the same PE (e.g., CE#3), distinct PEs (e.g., CE#34), etc. The network provider uses this request to decide where to terminate the AC in the network provider network and also whether to enable specific capabilities (e.g., Virtual Router Redundancy Protocol (VRRP)).</t>
          </li>
        </ul>
        <figure anchor="uc">
          <name>Examples of ACs</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="224" width="528" viewBox="0 0 528 224" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,112 L 8,160" fill="none" stroke="black"/>
                <path d="M 72,32 L 72,48" fill="none" stroke="black"/>
                <path d="M 72,112 L 72,160" fill="none" stroke="black"/>
                <path d="M 128,48 L 128,144" fill="none" stroke="black"/>
                <path d="M 208,32 L 208,176" fill="none" stroke="black"/>
                <path d="M 304,176 L 304,208" fill="none" stroke="black"/>
                <path d="M 376,32 L 376,176" fill="none" stroke="black"/>
                <path d="M 456,32 L 456,80" fill="none" stroke="black"/>
                <path d="M 456,128 L 456,160" fill="none" stroke="black"/>
                <path d="M 496,160 L 496,208" fill="none" stroke="black"/>
                <path d="M 520,32 L 520,80" fill="none" stroke="black"/>
                <path d="M 520,128 L 520,160" fill="none" stroke="black"/>
                <path d="M 8,32 L 72,32" fill="none" stroke="black"/>
                <path d="M 208,32 L 376,32" fill="none" stroke="black"/>
                <path d="M 456,32 L 520,32" fill="none" stroke="black"/>
                <path d="M 72,48 L 128,48" fill="none" stroke="black"/>
                <path d="M 376,48 L 400,48" fill="none" stroke="black"/>
                <path d="M 424,48 L 456,48" fill="none" stroke="black"/>
                <path d="M 376,64 L 400,64" fill="none" stroke="black"/>
                <path d="M 424,64 L 456,64" fill="none" stroke="black"/>
                <path d="M 8,80 L 72,80" fill="none" stroke="black"/>
                <path d="M 456,80 L 520,80" fill="none" stroke="black"/>
                <path d="M 128,96 L 152,96" fill="none" stroke="black"/>
                <path d="M 176,96 L 208,96" fill="none" stroke="black"/>
                <path d="M 8,112 L 72,112" fill="none" stroke="black"/>
                <path d="M 456,128 L 520,128" fill="none" stroke="black"/>
                <path d="M 72,144 L 128,144" fill="none" stroke="black"/>
                <path d="M 376,144 L 400,144" fill="none" stroke="black"/>
                <path d="M 424,144 L 456,144" fill="none" stroke="black"/>
                <path d="M 8,160 L 72,160" fill="none" stroke="black"/>
                <path d="M 456,160 L 520,160" fill="none" stroke="black"/>
                <path d="M 208,176 L 376,176" fill="none" stroke="black"/>
                <path d="M 304,208 L 392,208" fill="none" stroke="black"/>
                <path d="M 416,208 L 496,208" fill="none" stroke="black"/>
                <g class="text">
                  <text x="8" y="52">│</text>
                  <text x="412" y="52">AC</text>
                  <text x="8" y="68">│</text>
                  <text x="36" y="68">CE#1</text>
                  <text x="72" y="68">│</text>
                  <text x="412" y="68">AC</text>
                  <text x="484" y="68">CE#3</text>
                  <text x="164" y="100">AC</text>
                  <text x="280" y="100">Network</text>
                  <text x="36" y="148">CE#2</text>
                  <text x="412" y="148">AC</text>
                  <text x="484" y="148">CE#4</text>
                  <text x="404" y="212">AC</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
.-------.                .--------------------.         .-------.
│       +------.         |                    +---AC----+       |
│ CE#1  │      |         |                    +---AC----+ CE#3  |
'-------'      |         |                    |         '-------'
               +---AC----+     Network        |
.-------.      |         |                    |
|       |      |         |                    |         .-------.
| CE#2  +------'         |                    +---AC----+ CE#4  |
'-------'                |                    |         '----+--'
                         '-----------+--------'              |
                                     |                       |
                                     '-----------AC----------'
]]></artwork>
          </artset>
        </figure>
      </section>
      <section anchor="separate-ac-provisioning-vs-actual-service-provisioning">
        <name>Separate AC Provisioning vs. Actual Service Provisioning</name>
        <t>The procedure to provision a service in a service provider network may depend on the practices adopted by a service provider. This includes the flow put in place for the provisioning of advanced network services and how they are bound to an attachment circuit. For example, a single attachment circuit may be used to host multiple connectivity services. In order to avoid service interference and redundant information in various locations, a service provider may expose an interface to manage ACs network-wide. Customers can then request a bearer or an attachment circuit to be put in place, and then refer to that bearer or AC when requesting services that are bound to the bearer or AC.</t>
        <t><xref target="_u-ex"/> shows the positioning of the AC service model is the overall service delivery process.</t>
        <figure anchor="_u-ex">
          <name>An Example of AC Model Usage</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="656" width="512" viewBox="0 0 512 656" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,560 L 8,592" fill="none" stroke="black"/>
                <path d="M 48,560 L 48,592" fill="none" stroke="black"/>
                <path d="M 96,432 L 96,480" fill="none" stroke="black"/>
                <path d="M 104,320 L 104,368" fill="none" stroke="black"/>
                <path d="M 120,544 L 120,608" fill="none" stroke="black"/>
                <path d="M 136,368 L 136,432" fill="none" stroke="black"/>
                <path d="M 136,480 L 136,536" fill="none" stroke="black"/>
                <path d="M 176,288 L 176,320" fill="none" stroke="black"/>
                <path d="M 176,432 L 176,480" fill="none" stroke="black"/>
                <path d="M 208,32 L 208,64" fill="none" stroke="black"/>
                <path d="M 208,112 L 208,160" fill="none" stroke="black"/>
                <path d="M 208,208 L 208,256" fill="none" stroke="black"/>
                <path d="M 208,376 L 208,496" fill="none" stroke="black"/>
                <path d="M 232,320 L 232,368" fill="none" stroke="black"/>
                <path d="M 272,64 L 272,112" fill="none" stroke="black"/>
                <path d="M 272,160 L 272,208" fill="none" stroke="black"/>
                <path d="M 272,256 L 272,288" fill="none" stroke="black"/>
                <path d="M 296,320 L 296,368" fill="none" stroke="black"/>
                <path d="M 336,32 L 336,64" fill="none" stroke="black"/>
                <path d="M 336,112 L 336,160" fill="none" stroke="black"/>
                <path d="M 336,208 L 336,256" fill="none" stroke="black"/>
                <path d="M 368,288 L 368,320" fill="none" stroke="black"/>
                <path d="M 368,368 L 368,536" fill="none" stroke="black"/>
                <path d="M 384,544 L 384,608" fill="none" stroke="black"/>
                <path d="M 424,320 L 424,368" fill="none" stroke="black"/>
                <path d="M 456,560 L 456,592" fill="none" stroke="black"/>
                <path d="M 496,560 L 496,592" fill="none" stroke="black"/>
                <path d="M 208,32 L 336,32" fill="none" stroke="black"/>
                <path d="M 208,64 L 336,64" fill="none" stroke="black"/>
                <path d="M 208,112 L 336,112" fill="none" stroke="black"/>
                <path d="M 208,160 L 336,160" fill="none" stroke="black"/>
                <path d="M 208,208 L 336,208" fill="none" stroke="black"/>
                <path d="M 208,256 L 336,256" fill="none" stroke="black"/>
                <path d="M 176,288 L 368,288" fill="none" stroke="black"/>
                <path d="M 104,320 L 232,320" fill="none" stroke="black"/>
                <path d="M 296,320 L 424,320" fill="none" stroke="black"/>
                <path d="M 104,368 L 232,368" fill="none" stroke="black"/>
                <path d="M 296,368 L 424,368" fill="none" stroke="black"/>
                <path d="M 96,432 L 176,432" fill="none" stroke="black"/>
                <path d="M 96,480 L 176,480" fill="none" stroke="black"/>
                <path d="M 120,544 L 384,544" fill="none" stroke="black"/>
                <path d="M 8,560 L 48,560" fill="none" stroke="black"/>
                <path d="M 456,560 L 496,560" fill="none" stroke="black"/>
                <path d="M 48,576 L 120,576" fill="none" stroke="black"/>
                <path d="M 384,576 L 456,576" fill="none" stroke="black"/>
                <path d="M 8,592 L 48,592" fill="none" stroke="black"/>
                <path d="M 456,592 L 496,592" fill="none" stroke="black"/>
                <path d="M 120,608 L 384,608" fill="none" stroke="black"/>
                <g class="text">
                  <text x="268" y="52">Customer</text>
                  <text x="108" y="84">Customer</text>
                  <text x="176" y="84">Service</text>
                  <text x="232" y="84">Model</text>
                  <text x="96" y="100">e.g.,</text>
                  <text x="164" y="100">slice-svc,</text>
                  <text x="240" y="100">ac-svc,</text>
                  <text x="296" y="100">and</text>
                  <text x="356" y="100">bearer-svc</text>
                  <text x="272" y="132">Service</text>
                  <text x="272" y="148">Orchestration</text>
                  <text x="112" y="180">Network</text>
                  <text x="168" y="180">Model</text>
                  <text x="32" y="196">e.g.,</text>
                  <text x="100" y="196">l3vpn-ntw,</text>
                  <text x="164" y="196">sap,</text>
                  <text x="200" y="196">and</text>
                  <text x="244" y="196">ac-ntw</text>
                  <text x="264" y="228">Network</text>
                  <text x="272" y="244">Orchestration</text>
                  <text x="56" y="276">Network</text>
                  <text x="144" y="276">Configuration</text>
                  <text x="224" y="276">Model</text>
                  <text x="164" y="340">Domain</text>
                  <text x="364" y="340">Domain</text>
                  <text x="168" y="356">Orchestration</text>
                  <text x="360" y="356">Orchestration</text>
                  <text x="36" y="388">Device</text>
                  <text x="64" y="404">Configuration</text>
                  <text x="32" y="420">Model</text>
                  <text x="132" y="452">Config</text>
                  <text x="136" y="468">Manager</text>
                  <text x="256" y="516">NETCONF/CLI................</text>
                  <text x="376" y="516">.</text>
                  <text x="208" y="532">|</text>
                  <text x="84" y="564">Bearer</text>
                  <text x="420" y="564">Bearer</text>
                  <text x="28" y="580">CE#1</text>
                  <text x="248" y="580">Network</text>
                  <text x="476" y="580">CE#2</text>
                  <text x="28" y="628">Site</text>
                  <text x="56" y="628">A</text>
                  <text x="476" y="628">Site</text>
                  <text x="504" y="628">B</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
                          .---------------.
                          |   Customer    |
                          '-------+-------'
          Customer Service Model  |
          e.g., slice-svc, ac-svc,| and bearer-svc
                          .-------+-------.
                          |    Service    |
                          | Orchestration |
                          '-------+-------'
           Network Model          |
  e.g., l3vpn-ntw, sap, and ac-ntw|
                          .-------+-------.
                          |   Network     |
                          | Orchestration |
                          '-------+-------'
    Network Configuration Model   |
                      .-----------+-----------.
                      |                       |
             .--------+------.       .--------+------.
             |    Domain     |       |     Domain    |
             | Orchestration |       | Orchestration |
             '---+-----------'       '--------+------'
  Device         |        |                   |
  Configuration  |        |                   |
  Model          |        |                   |
            .----+----.   |                   |
            | Config  |   |                   |
            | Manager |   |                   |
            '----+----'   |                   |
                 |        |                   |
                 | NETCONF/CLI..................
                 |        |                   |
               .--------------------------------.
 .----. Bearer |                                | Bearer .----.
 |CE#1+--------+            Network             +--------+CE#2|
 '----'        |                                |        '----'
               '--------------------------------'
  Site A                                                  Site B
]]></artwork>
          </artset>
        </figure>
        <t>In order to ease the mapping between the service model and underlying network models (e.g., L3NM, SAP), the name conventions used in existing network data models are reused as much as possible. For example, "local-address" is used rather than "provider-address" (or similar) to refer to an IP address used in the provider network. This approach is consistent with the automation framework defined in <xref target="RFC8969"/>.</t>
      </section>
    </section>
    <section anchor="description-of-the-data-models">
      <name>Description of the Data Models</name>
      <section anchor="the-bearer-service-ietf-bearer-svc-yang-module">
        <name>The Bearer Service ("ietf-bearer-svc") YANG Module</name>
        <t><xref target="bearer-st"/> shows the tree for managing the bearers (that is, the properties of an attachment that are below Layer 3). A bearer can be a wireless or wired link. A reference to a bearer is generated by the operator.
Such a reference can be used, e.g., in a subsequent service request to create an AC. The anchoring of the AC can also be achieved by indicating (with or without a bearer reference), a peer SAP identifier (e.g., an identifier of a Service Function).</t>
        <figure anchor="bearer-st">
          <name>Bearer Service Tree Structure</name>
          <artwork align="center"><![CDATA[
  +--rw bearers
     +--rw placement-constraints
     |  +--rw constraint* [constraint-type]
     |          {vpn-common:placement-diversity}?
     |     +--rw constraint-type    identityref
     |     +--rw target
     |        +--rw (target-flavor)?
     |           +--:(id)
     |           |  +--rw group* [group-id]
     |           |     +--rw group-id    string
     |           +--:(all-bearers)
     |           |  +--rw all-other-bearers?   empty
     |           +--:(all-groups)
     |              +--rw all-other-groups?    empty
     +--rw bearer* [id]
        +--rw id                  string
        +--rw description?        string
        +--rw groups
        |  +--rw group* [group-id]
        |     +--rw group-id    string
        +--rw op-comment?         string
        +--rw customer-point
        |  +--rw identified-by?   identityref
        |  +--rw device
        |  |  +--rw device-id?   string
        |  |  +--rw location
        |  |     +--rw location-name?   string
        |  |     +--rw address?         string
        |  |     +--rw postal-code?     string
        |  |     +--rw state?           string
        |  |     +--rw city?            string
        |  |     +--rw country-code?    string
        |  +--rw site
        |  |  +--rw site-id?    string
        |  |  +--rw location
        |  |     +--rw location-name?   string
        |  |     +--rw address?         string
        |  |     +--rw postal-code?     string
        |  |     +--rw state?           string
        |  |     +--rw city?            string
        |  |     +--rw country-code?    string
        |  +--rw custom-id?       string
        +--rw requested-type?     identityref
        +--rw test-only?          empty
        +--ro bearer-reference?   string
        |       {vpn-common:bearer-reference}?
        +--ro ac-svc-ref*            ac-svc:attachment-circuit-reference
        +--rw requested-start?    yang:date-and-time
        +--rw requested-stop?     yang:date-and-time
        +--ro actual-start?       yang:date-and-time
        +--ro actual-stop?        yang:date-and-time
        +--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
]]></artwork>
        </figure>
        <t>The same customer site (CE, NF, etc.) can terminate one or multiple bearers; each of them uniquely identified by a reference that is assigned by the network provider. These bearers can terminate on the same or distinct network nodes. CEs that terminate multiple bearers are called multi-homed CEs.</t>
        <t>A bearer can be created, modified, or discovered from the network. For example, the following deployment options can be considered:</t>
        <dl>
          <dt>'Greenfield creation':</dt>
          <dd>
            <t>In this scenario, bearers are created from scratch using specific requests made to a network controller. This method  allows providers to tailor bearer creation to meet customer-specific needs. For example, a bearer request may indicate some hints about the placement constraints ('placement-constraints'). These constraints are used by a provider to determine how/where to terminate a bearer in the network side (e.g., PoP/PE selection).</t>
          </dd>
          <dt>'Auto-discovery using network protocols':</dt>
          <dd>
            <t>Devices can use specific protocols (e.g., Link Layer Discovery Protocol (LLDP)) to automatically discover and connect to available network resources. A network controller can use such reported information to expose discovered bearers from the network using the same bearer structure.</t>
          </dd>
        </dl>
        <t>A request to create a bearer may include a set of constraints ("placement-constraints") that are used by a controller to decide the network terminating side of a bearer (e.g., PE selection, PE redundancy, or PoP selection). Future placement criteria ("constraint-type") may be defined in the future to accommodate specific deployment contexts.</t>
        <t>The descriptions of the bearer data nodes are as follows:</t>
        <dl>
          <dt>'id':</dt>
          <dd>
            <t>Used to uniquely identify a bearer. This identifier is typically selected by the client when requesting a bearer.</t>
          </dd>
          <dt>'description':</dt>
          <dd>
            <t>Includes a textual description of the bearer.</t>
          </dd>
          <dt>'op-comment':</dt>
          <dd>
            <t>Includes operational comments that may be useful for managing the bearer (building, level, etc.). No structure is associated with this data node to accommodate all deployments.</t>
          </dd>
          <dt>'group':</dt>
          <dd>
            <t>Tags a bearer with one ore more identifiers that are used to group a set of bearers.</t>
          </dd>
          <dt>'customer-point':</dt>
          <dd>
            <t>Specifies the customer terminating point for the bearer. A bearer request can indicate a device, a site, a combination thereof, or a custom information when requesting a bearer. All these schemes are supported in the model.</t>
          </dd>
          <dt>'requested-type':</dt>
          <dd>
            <t>Specifies the requested bearer type (Ethernet, wireless, etc.).</t>
          </dd>
          <dt>'test-only':</dt>
          <dd>
            <t>Indicates that a request is only for test and not for setting, even if there are no errors. This is used for feasibility checks. This data node is applicable only when the data model is used with protocols which do not natively support such option. For example, this data node is redundant with the "test-only" value of the <tt>&lt;test-option&gt;</tt> parameter in the NETCONF <tt>&lt;edit-config&gt;</tt> operation (<xref section="7.2" sectionFormat="of" target="RFC6241"/>).</t>
          </dd>
          <dt>'bearer-reference':</dt>
          <dd>
            <t>Returns an internal reference for the service provider to uniquely identify the bearer. This reference can be used when requesting services. <xref target="ex-create-bearer"/> provides an example about how this reference can be retrieved by a customer.</t>
          </dd>
          <dt/>
          <dd>
            <t>Whether the 'bearer-reference' mirrors the content of the 'id' is deployment-specific. The module does not assume nor preclude such schemes.</t>
          </dd>
          <dt>'ac-svc-ref':</dt>
          <dd>
            <t>Specifies the set of attachment circuits that are bound to the bearer.</t>
          </dd>
          <dt>'requested-start':</dt>
          <dd>
            <t>Specifies the requested date and time when the bearer is expected to be active.</t>
          </dd>
          <dt>'requested-stop':</dt>
          <dd>
            <t>Specifies the requested date and time when the bearer is expected to be disabled.</t>
          </dd>
          <dt>'actual-start':</dt>
          <dd>
            <t>Reports the actual date and time when the bearer actually was enabled.</t>
          </dd>
          <dt>'actual-stop':</dt>
          <dd>
            <t>Reports the actual date and time when the bearer actually was disabled.</t>
          </dd>
          <dt>'status':</dt>
          <dd>
            <t>Used to track the overall status of a given bearer. Both operational and administrative status are maintained together with a timestamp.</t>
          </dd>
          <dt/>
          <dd>
            <t>The "admin-status" attribute is typically configured by a network operator to indicate whether the service is enabled, disabled, or subjected to additional testing or pre-deployment checks. These additional options, such as 'admin-testing' and 'admin-pre-deployment', provide the operators the flexibility to conduct additional validations on the bearer before deploying services over that connection.</t>
          </dd>
          <dt>'oper-status':</dt>
          <dd>
            <t>The "oper-status" of a bearer reflects its operational state as observed. As a bearer can contain multiple services, the operational status should only reflect the status of the bearer connection. To obtain network-level service status, specific network models such as those in <xref section="7.3" sectionFormat="of" target="RFC9182"/>  or <xref section="7.3" sectionFormat="of" target="RFC9291"/> should be consulted.</t>
          </dd>
          <dt/>
          <dd>
            <t>It is important to note that the "admin-status" attribute should remain independent of the "oper-status". In other words, the setting of the intended administrative state (e.g., whether "admin-up" or "admin-testing") <bcp14>MUST NOT</bcp14> be influenced by the current operational state. If the bearer is administratively set to 'admin-down', it is expected that the bearer will also be operationally 'op-down' as a result of this administrative decision.</t>
          </dd>
          <dt/>
          <dd>
            <t>To assess the service delivery status for a given bearer comprehensively, it is recommended to consider both administrative and operational service status values in conjunction. This holistic approach  allows a network controller or operator to identify anomalies effectively.</t>
          </dd>
          <dt/>
          <dd>
            <t>For instance, when a bearer is administratively enabled but the "operational-status" of that bearer is reported as "op-down", it should be expected that the "oper-status" of services transported over that bearer is also down. If these status values differ, a trigger to detect an anomaly.</t>
          </dd>
          <dt/>
          <dd>
            <t>See <xref target="RFC9181"/> for more details.</t>
          </dd>
        </dl>
      </section>
      <section anchor="the-attachment-circuit-service-ietf-ac-svc-yang-module">
        <name>The Attachment Circuit Service ("ietf-ac-svc") YANG Module</name>
        <t>The full tree diagram of the module can be generated using the
"pyang" tool <xref target="PYANG"/>.  That tree is not included here because it is
too long (<xref section="3.3" sectionFormat="of" target="RFC8340"/>).  Instead, subtrees are provided
for the reader's convenience.</t>
        <section anchor="overall-structure">
          <name>Overall Structure</name>
          <t>The overall tree structure of the AC service module is shown in <xref target="o-svc-tree"/>.</t>
          <figure anchor="o-svc-tree">
            <name>Overall AC Service Tree Structure</name>
            <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        ...
        +--rw l2-connection
        |  ...
        +--rw ip-connection
        |  ...
        +--rw routing-protocols
        |  ...
        +--rw oam
        |  ...
        +--rw security
        |  ...
        +--rw service
           ...
]]></artwork>
          </figure>
          <t>The full ACaaS tree is available at <xref target="AC-SVC-Tree"/>. The full reusable groupings defined in the ACaaS module are shown in <xref target="AC-SVC-GRP"/>.</t>
          <t>The rationale for deciding whether a reusable grouping should be maintained in this document or be moved into the AC common module <xref target="I-D.ietf-opsawg-teas-common-ac"/> is as follows:</t>
          <ul spacing="normal">
            <li>
              <t>Groupings that are reusable among the AC service module, AC network module, other service models, and network models are included in the AC common module.</t>
            </li>
            <li>
              <t>Groupings that are reusable only by other service models are maintained in the "ietf-ac-svc" module.</t>
            </li>
          </ul>
          <t>Each AC is identified with a unique name ('../ac/name') within a domain. The mapping between this AC and a local PE that terminates the AC is hidden to the application that makes use of the AC service model. This information is internal to the Network controller. As such, the details about the (node-specific) attachment interfaces are not exposed in this service model.</t>
          <t>The AC service model uses groupings and types defined in the AC common model <xref target="I-D.ietf-opsawg-teas-common-ac"/>. Therefore, the description of these nodes are not reiterated in the following subsections.</t>
        </section>
        <section anchor="sec-profiles">
          <name>Service Profiles</name>
          <section anchor="description">
            <name>Description</name>
            <t>The 'specific-provisioning-profiles' container (<xref target="gp-svc-tree"/>) can be used by a service provider to maintain a set of reusable profiles. The profiles definition are similar to those defined in <xref target="RFC9181"/>, including: Quality of Service (QoS),  Bidirectional Forwarding Detection (BFD), forwarding, and routing profiles. The exact definition of the profiles is local to each service provider. The model only includes an identifier for these profiles in order to facilitate identifying and binding local policies when building an AC.</t>
            <figure anchor="gp-svc-tree">
              <name>Service Profiles</name>
              <artwork align="center"><![CDATA[
module: ietf-ac-svc
  +--rw specific-provisioning-profiles
  |  +--rw valid-provider-identifiers
  |     +--rw encryption-profile-identifier* [id]
  |     |  +--rw id    string
  |     +--rw qos-profile-identifier* [id]
  |     |  +--rw id    string
  |     +--rw bfd-profile-identifier* [id]
  |     |  +--rw id    string
  |     +--rw forwarding-profile-identifier* [id]
  |     |  +--rw id    string
  |     +--rw routing-profile-identifier* [id]
  |        +--rw id    string
  +--rw service-provisioning-profiles
  |  +--rw service-profile-identifier* [id]
  |     +--rw id    string
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        ...
        +--rw l2-connection
        |  ...
        +--rw ip-connection
        |  ...
        +--rw routing-protocols
        |  ...
        +--rw oam
        |  ...
        +--rw security
        |  ...
        +--rw service
           ...
]]></artwork>
            </figure>
            <t>As shown in <xref target="gp-svc-tree"/>, two profile types can be defined: 'specific-provisioning-profiles' and 'service-provisioning-profiles'. Whether only specific profiles, service profiles, or a combination thereof are used is local to each service provider.</t>
            <t>The following specific provisioning profiles can be defined:</t>
            <dl>
              <dt>'encryption-profile-identifier':</dt>
              <dd>
                <t>Refers to a set of policies related to the encryption setup that can be applied when provisioning an AC.</t>
              </dd>
              <dt>'qos-profile-identifier':</dt>
              <dd>
                <t>Refers to a set of policies, such as classification, marking, and actions (e.g., <xref target="RFC3644"/>).</t>
              </dd>
              <dt>'bfd-profile-identifier':</dt>
              <dd>
                <t>Refers to a set of Bidirectional Forwarding Detection (BFD) policies <xref target="RFC5880"/> that can be invoked when building an AC.</t>
              </dd>
              <dt>'forwarding-profile-identifier':</dt>
              <dd>
                <t>Refers to the policies that apply to the forwarding of packets conveyed within an AC. Such policies may consist, for example, of applying Access Control Lists (ACLs).</t>
              </dd>
              <dt>'routing-profile-identifier':</dt>
              <dd>
                <t>Refers to a set of routing policies that will be invoked (e.g., BGP policies) when building an AC.</t>
              </dd>
            </dl>
          </section>
          <section anchor="referencing-servicespecific-profiles">
            <name>Referencing Service/Specific Profiles</name>
            <t>All the abovementioned profiles are uniquely identified by the NETCONF/RESTCONF server by an identifier. To ease referencing these profiles by other data models, specific typedefs are defined for each of these profiles. Likewise, an attachment circuit reference typedef is defined when referencing a (global) attachment circuit by its name is required. These typedefs <bcp14>SHOULD</bcp14> be used when other modules need a reference to one of these profiles or attachment circuits.</t>
          </section>
        </section>
        <section anchor="sec-acp">
          <name>Attachment Circuits Profiles</name>
          <t>The 'ac-group-profile' defines reusable parameters for a set of ACes. Each profile is identified by 'name'. Some of the data nodes can be adjusted at the 'ac'.
These adjusted values take precedence over the global values.  The structure of 'ac-group-profile' is similar to the one used to model each 'ac' (<xref target="ac-svc-tree"/>).</t>
        </section>
        <section anchor="sec-pc">
          <name>AC Placement Contraints</name>
          <t>The 'placement-constraints' specifies the placement constraints of an AC. For example, this container can be used to request avoiding to connecting two ACes to the same PE. The full set of supported constraints is defined in <xref target="RFC9181"/> (see 'placement-diversity', in particular).</t>
          <t>The structure of 'placement-constraints' is shown in <xref target="precedence-tree"/>.</t>
          <figure anchor="precedence-tree">
            <name>Placement Constraints Subtree Structure</name>
            <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name] 
     |  ...                                
     +--rw placement-constraints
     |  +--rw constraint* [constraint-type]
     |     +--rw constraint-type    identityref
     |     +--rw target
     |        +--rw (target-flavor)?
     |           +--:(id)
     |           |  +--rw group* [group-id]
     |           |     +--rw group-id    string
     |           +--:(all-accesses)
     |           |  +--rw all-other-accesses?   empty
     |           +--:(all-groups)
     |              +--rw all-other-groups?     empty
     +--rw ac* [name]
        ...
]]></artwork>
          </figure>
        </section>
        <section anchor="attachment-circuits">
          <name>Attachment Circuits</name>
          <t>The structure of 'attachment-circuits' is shown in <xref target="ac-svc-tree"/>.</t>
          <figure anchor="ac-svc-tree">
            <name>Attachment Circuits Tree Structure</name>
            <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        +--rw customer-name?       string
        +--rw description?         string
        +--rw test-only?          empty
        +--rw requested-start?     yang:date-and-time
        +--rw requested-stop?      yang:date-and-time
        +--ro actual-start?        yang:date-and-time
        +--ro actual-stop?         yang:date-and-time
        +--rw peer-sap-id*         string
        +--rw ac-group-profile*    ac-group-reference
        +--rw ac-bundle-ref?       ac-svc:attachment-circuit-reference
        +--rw group* [group-id]
        |  +--rw group-id      string
        |  +--rw precedence?   identityref
        +--ro service-ref* [service-type service-id]
        |  +--ro service-type    identityref
        |  +--ro service-id      string
        +--rw name                 string
        +--rw service-profile*     service-profile-reference        
        +--rw l2-connection
        |  ...
        +--rw ip-connection
        |  ...
        +--rw routing-protocols
        |  ...
        +--rw oam
        |  ...
        +--rw security
        |  ...
        +--rw service
           ...
]]></artwork>
          </figure>
          <t>The description of the data nodes is as follows:</t>
          <dl>
            <dt>'customer-name':</dt>
            <dd>
              <t>Indicates the name of the customer who ordered the AC.</t>
            </dd>
            <dt>'description':</dt>
            <dd>
              <t>Includes a textual description of the AC.</t>
            </dd>
            <dt>'test-only':</dt>
            <dd>
              <t>Indicates that a request is only for test and not for setting, even if there are no errors. This is used for feasibility checks. This data node is applicable only when the data model is used with protocols which do not natively support such option.</t>
            </dd>
            <dt>'requested-start':</dt>
            <dd>
              <t>Specifies the requested date and time when the attachment circuit is expected to be active.</t>
            </dd>
            <dt>'requested-stop':</dt>
            <dd>
              <t>Specifies the requested date and time when the attachment circuit is expected to be disabled.</t>
            </dd>
            <dt>'actual-start':</dt>
            <dd>
              <t>Reports the actual date and time when the attachment circuit actually was enabled.</t>
            </dd>
            <dt>'actual-stop':</dt>
            <dd>
              <t>Reports the actual date and time when the attachment circuit actually was disabled.</t>
            </dd>
            <dt>'peer-sap-id':</dt>
            <dd>
              <t>Includes references to the remote endpoints of an attachment circuit <xref target="RFC9408"/>.</t>
            </dd>
            <dt>'ac-group-profile':</dt>
            <dd>
              <t>Indicates references to one or more profiles that are defined in <xref target="sec-acp"/>.</t>
            </dd>
            <dt>'ac-bundle-ref':</dt>
            <dd>
              <t>Specifies an AC that is inherited by this attachment circuit.</t>
            </dd>
            <dt/>
            <dd>
              <t>AC bundles are used, e.g., in contexts where dynamic<br/>
terminating points are managed while stable AC reference    <br/>
      are exposed to services that make use of these dynamic  ACs.</t>
            </dd>
            <dt>'group':</dt>
            <dd>
              <t>Lists the groups to which an AC belongs <xref target="RFC9181"/>. For example, the 'group-id' is used to associate redundancy or protection constraints of ACes. An example is provided in <xref target="sec-ex-prec"/>.</t>
            </dd>
            <dt>'service-ref':</dt>
            <dd>
              <t>Reports the set of services that are bound to the attachment circuit. The services are indexed by their type.</t>
            </dd>
            <dt>'name':</dt>
            <dd>
              <t>Associates a name that uniquely identifies an AC within a service provider network.</t>
            </dd>
            <dt>'service-profile':</dt>
            <dd>
              <t>References a set of service-specific profiles.</t>
            </dd>
            <dt>'l2-connection':</dt>
            <dd>
              <t>See <xref target="sec-l2"/>.</t>
            </dd>
            <dt>'ip-connection':</dt>
            <dd>
              <t>See <xref target="sec-l3"/>.</t>
            </dd>
            <dt>'routing':</dt>
            <dd>
              <t>See <xref target="sec-rtg"/>.</t>
            </dd>
            <dt>'oam':</dt>
            <dd>
              <t>See <xref target="sec-oam"/>.</t>
            </dd>
            <dt>'security':</dt>
            <dd>
              <t>See <xref target="sec-sec"/>.</t>
            </dd>
            <dt>'service':</dt>
            <dd>
              <t>See <xref target="sec-bw"/>.</t>
            </dd>
          </dl>
          <section anchor="sec-l2">
            <name>Layer 2 Connection Structure</name>
            <t>The 'l2-connection' container (<xref target="l2-svc-tree"/>) is used to configure the relevant Layer 2 properties of an AC including: encapsulation details and tunnel terminations. For the encapsulation details, the model supports the definition of the type as well as the Identifiers (e.g., VLAN-IDs) of each of the encapsulation-type defined. For the second case, attributes for pseudowire, Virtual Private LAN Service (VPLS), and  Virtual eXtensible Local Area Network (VXLAN) tunnel terminations are included.</t>
            <t>'bearer-reference' is used to link an AC with a bearer over which the AC is instantiated.</t>
            <t>This structure relies upon the common groupings defined in <xref target="I-D.ietf-opsawg-teas-common-ac"/>.</t>
            <figure anchor="l2-svc-tree">
              <name>Layer 2 Connection Tree Structure</name>
              <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        +--rw customer-name?       string
        +--rw description?         string
        +--rw requested-start?     yang:date-and-time
        +--rw requested-stop?      yang:date-and-time
        +--ro actual-start?        yang:date-and-time
        +--ro actual-stop?         yang:date-and-time
        +--rw peer-sap-id*         string
        +--rw ac-group-profile*    ac-group-reference
        +--rw group* [group-id]
        |  +--rw group-id      string
        |  +--rw precedence?   identityref
        +--rw name                 string
        +--rw l2-connection
        |  +--rw encapsulation
        |  |  +--rw type?              identityref
        |  |  +--rw dot1q
        |  |  |  +--rw tag-type?   identityref
        |  |  |  +--rw cvlan-id?   uint16
        |  |  +--rw priority-tagged
        |  |  |  +--rw tag-type?   identityref
        |  |  +--rw qinq
        |  |     +--rw tag-type?   identityref
        |  |     +--rw svlan-id    uint16
        |  |     +--rw cvlan-id    uint16
        |  +--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 bearer-reference?          string
        |          {vpn-common:bearer-reference}?
        +--rw ip-connection
        |  ...
        +--rw routing-protocols
        |  ...
        +--rw oam
        |  ...
        +--rw security
        |  ...
        +--rw service
           ...
]]></artwork>
            </figure>
          </section>
          <section anchor="sec-l3">
            <name>IP Connection Structure</name>
            <t>The 'ip-connection' container is used to configure the relevant IP properties of an AC. The model supports the usage of dynamic and static addressing. This structure relies upon the common groupings defined in <xref target="I-D.ietf-opsawg-teas-common-ac"/>. Both IPv4 and IPv6 parameters are supported.</t>
            <t><xref target="ipv4-svc-tree"/> shows the structure of the IPv4 connection.</t>
            <figure anchor="ipv4-svc-tree">
              <name>Layer 3 Connection Tree Structure (IPv4)</name>
              <artwork align="center"><![CDATA[
        | ...
        +--rw ip-connection
        |  +--rw ipv4 {vpn-common:ipv4}?
        |  |  +--rw local-address?
        |  |  |       inet:ipv4-address
        |  |  +--rw virtual-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
        |  |     |  +--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}?
        |     ...
]]></artwork>
            </figure>
            <t><xref target="ipv6-svc-tree"/> shows the structure of the IPv6 connection.</t>
            <figure anchor="ipv6-svc-tree">
              <name>Layer 3 Connection Tree Structure (IPv6)</name>
              <artwork align="center"><![CDATA[
        | ...
        +--rw ip-connection
        |  +--rw ipv4 {vpn-common:ipv4}?
        |  |  ...
        |  +--rw ipv6 {vpn-common:ipv6}?
        |     +--rw local-address?
        |     |       inet:ipv6-address
        |     +--rw virtual-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
        |        |  +--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
           ...
]]></artwork>
            </figure>
          </section>
          <section anchor="sec-rtg">
            <name>Routing</name>
            <t>As shown in the tree depicted in <xref target="rtg-svc-tree"/>, the 'routing-protocols' container defines the required parameters to enable the desired routing features for an AC. One or more routing protocols can be associated with an AC.  Such routing protocols will be then enabled between a PE and the customer terminating points. Each routing instance is uniquely identified by the combination of the 'id' and 'type' to accommodate scenarios where multiple instances of the same routing protocol have to be configured on the same link.</t>
            <t>In addition to static routing (<xref target="sec-static-rtg"/>), the module supports BGP (<xref target="sec-bgp-rtg"/>), OSPF (<xref target="sec-ospf-rtg"/>), IS-IS (<xref target="sec-isis-rtg"/>), and RIP (<xref target="sec-rip-rtg"/>). It also includes a reference to the 'routing-profile-identifier' defined in <xref target="sec-profiles"/>, so that additional constraints can be applied to a specific instance of each routing protocol.</t>
            <figure anchor="rtg-svc-tree">
              <name>Routing Tree Structure</name>
              <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        +--rw customer-name?       string
        +--rw description?         string
        +--rw requested-start?     yang:date-and-time
        +--rw requested-stop?      yang:date-and-time
        +--ro actual-start?        yang:date-and-time
        +--ro actual-stop?         yang:date-and-time
        +--rw peer-sap-id*         string
        +--rw ac-group-profile*    ac-group-reference
        +--rw group* [group-id]
        |  +--rw group-id      string
        |  +--rw precedence?   identityref
        +--rw name                 string
        +--rw l2-connection
        | ...
        +--rw ip-connection
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  ...
        |     +--rw bgp
        |     |  ...
        |     |  ...
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |        ...
        +--rw oam
        |  ...
        +--rw security
        |  ...
        +--rw service
           ...
]]></artwork>
            </figure>
            <section anchor="sec-static-rtg">
              <name>Static Routing</name>
              <t>The static tree structure is shown in <xref target="static-rtg-svc-tree"/>.</t>
              <figure anchor="static-rtg-svc-tree">
                <name>Static Routing Tree Structure</name>
                <artwork align="center"><![CDATA[
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--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 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:ipv6-prefix
        |     |        +--rw lan-tag?    string
        |     |        +--rw next-hop    union
        |     |        +--rw metric?     uint32
        |     |        +--rw status
        |     |           +--rw admin-status
        |     |           |  +--rw status?        identityref
        |     |           |  +--rw last-change?   yang:date-and-time
        |     |           +--ro oper-status
        |     |              +--ro status?        identityref
        |     |              +--ro last-change?   yang:date-and-time
        |     +--rw bgp
        |     |  ...
        |     +--rw ospf
        |     |  ...
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |        ...
]]></artwork>
              </figure>
              <t>As depicted in <xref target="static-rtg-svc-tree"/>, the following data nodes can be defined for a given IP prefix:</t>
              <dl>
                <dt>'lan-tag':</dt>
                <dd>
                  <t>Indicates a local tag (e.g., "myfavorite-lan") that is used to enforce local policies.</t>
                </dd>
                <dt>'next-hop':</dt>
                <dd>
                  <t>Indicates the next hop to be used for the static route.</t>
                </dd>
                <dt/>
                <dd>
                  <t>It can be identified by an IP address, a predefined next-hop type (e.g., 'discard' or 'local-link'), etc.</t>
                </dd>
                <dt>'bfd-enable':</dt>
                <dd>
                  <t>Indicates whether BFD is enabled or disabled for this static route entry.</t>
                </dd>
                <dt>'metric':</dt>
                <dd>
                  <t>Indicates the metric associated with the static route entry. This metric is used when the route is exported into an IGP.</t>
                </dd>
                <dt>'status':</dt>
                <dd>
                  <t>Used to convey the status of a static route entry. This data node can also be used to control the (de)activation of individual static route entries.</t>
                </dd>
              </dl>
            </section>
            <section anchor="sec-bgp-rtg">
              <name>BGP</name>
              <t>The BGP tree structure is shown in <xref target="bgp-rtg-svc-tree"/>.</t>
              <figure anchor="bgp-rtg-svc-tree">
                <name>BGP Tree Structure</name>
                <artwork align="center"><![CDATA[
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  ...
        |     +--rw bgp
        |     |  +--rw peer-groups
        |     |  |  +--rw peer-group* [name]
        |     |  |     +--rw name              string
        |     |  |     +--ro local-as?         inet:as-number
        |     |  |     +--rw peer-as?          inet:as-number
        |     |  |     +--rw address-family?   identityref
        |     |  |     +--ro local-address?    inet:ip-address
        |     |  |     +--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* [id]
        |     |     +--rw id                string
        |     |     +--rw remote-address?   inet:ip-address
        |     |     +--ro local-address?    inet:ip-address
        |     |     +--rw peer-group?
        |     |     |       -> ../../peer-groups/peer-group/name
        |     |     +--ro local-as?         inet:as-number
        |     |     +--rw peer-as?          inet:as-number
        |     |     +--rw address-family?   identityref
        |     |     +--rw authentication
        |     |     |  +--rw enable?            boolean
        |     |     |  +--rw keying-material
        |     |     |     +--rw (option)?
        |     |     |        +--:(ao)
        |     |     |        |  +--rw enable-ao?          boolean
        |     |     |        |  +--rw ao-keychain?
        |     |     |        |          key-chain:key-chain-ref
        |     |     |        +--:(md5)
        |     |     |        |  +--rw md5-keychain?
        |     |     |        |          key-chain:key-chain-ref
        |     |     |        +--:(explicit)
        |     |     |           +--rw key-id?             uint32
        |     |     |           +--rw key?                string
        |     |     |           +--rw crypto-algorithm?   identityref
        |     |     +--rw status
        |     |        +--rw admin-status
        |     |        |  +--rw status?        identityref
        |     |        |  +--rw last-change?   yang:date-and-time
        |     |        +--ro oper-status
        |     |           +--ro status?        identityref
        |     |           +--ro last-change?   yang:date-and-time
        |     +--rw ospf
        |     |  ...
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |        ...
]]></artwork>
              </figure>
              <t>Similar to <xref target="RFC9182"/>, this version of the ACaaS assumes that parameters specific to the TCP-AO are preconfigured as part of the key chain that is referenced in the ACaaS. No assumption is made about how such a key chain is preconfigured. However, the structure of the key chain should cover data nodes beyond those in <xref target="RFC8177"/>, mainly SendID and RecvID (Section 3.1 of <xref target="RFC5925"/>).</t>
            </section>
            <section anchor="sec-ospf-rtg">
              <name>OSPF</name>
              <t>The OSPF tree structure is shown in <xref target="ospf-rtg-svc-tree"/>.</t>
              <figure anchor="ospf-rtg-svc-tree">
                <name>OSPF Tree Structure</name>
                <artwork align="center"><![CDATA[
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  ...
        |     +--rw bgp
        |     |  ...
        |     +--rw ospf
        |     |  +--rw address-family?   identityref
        |     |  +--rw area-id           yang:dotted-quad
        |     |  +--rw metric?           uint16
        |     |  +--rw authentication
        |     |  |  +--rw enable?            boolean
        |     |  |  +--rw keying-material
        |     |  |     +--rw (option)?
        |     |  |        +--:(auth-key-chain)
        |     |  |        |  +--rw key-chain?
        |     |  |        |          key-chain:key-chain-ref
        |     |  |        +--:(auth-key-explicit)
        |     |  |           +--rw key-id?             uint32
        |     |  |           +--rw key?                string
        |     |  |           +--rw crypto-algorithm?   identityref
        |     |  +--rw status
        |     |     +--rw admin-status
        |     |     |  +--rw status?        identityref
        |     |     |  +--rw last-change?   yang:date-and-time
        |     |     +--ro oper-status
        |     |        +--ro status?        identityref
        |     |        +--ro last-change?   yang:date-and-time
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |        ...
]]></artwork>
              </figure>
            </section>
          </section>
          <section anchor="sec-isis-rtg">
            <name>IS-IS</name>
            <t>The IS-IS tree structure is shown in <xref target="isis-rtg-svc-tree"/>.</t>
            <figure anchor="isis-rtg-svc-tree">
              <name>IS-IS Tree Structure</name>
              <artwork align="center"><![CDATA[
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  ...
        |     +--rw bgp
        |     |  ...
        |     |           +--ro last-change?   yang:date-and-time
        |     +--rw ospf
        |     |  ...
        |     +--rw isis
        |     |  +--rw address-family?   identityref
        |     |  +--rw area-address      area-address
        |     |  +--rw authentication
        |     |  |  +--rw enable?            boolean
        |     |  |  +--rw keying-material
        |     |  |     +--rw (option)?
        |     |  |        +--:(auth-key-chain)
        |     |  |        |  +--rw key-chain?
        |     |  |        |          key-chain:key-chain-ref
        |     |  |        +--:(auth-key-explicit)
        |     |  |           +--rw key-id?             uint32
        |     |  |           +--rw key?                string
        |     |  |           +--rw crypto-algorithm?   identityref
        |     |  +--rw status
        |     |     +--rw admin-status
        |     |     |  +--rw status?        identityref
        |     |     |  +--rw last-change?   yang:date-and-time
        |     |     +--ro oper-status
        |     |        +--ro status?        identityref
        |     |        +--ro last-change?   yang:date-and-time
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |      ...
]]></artwork>
            </figure>
          </section>
          <section anchor="sec-rip-rtg">
            <name>RIP</name>
            <t>The RIP tree structure is shown in <xref target="rip-rtg-svc-tree"/>.</t>
            <figure anchor="rip-rtg-svc-tree">
              <name>RIP Tree Structure</name>
              <artwork align="center"><![CDATA[
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  ...
        |     +--rw bgp
        |     |  ...
        |     +--rw ospf
        |     |  ...
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  +--rw address-family?   identityref
        |     |  +--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
        |      ...
]]></artwork>
            </figure>
            <t>'address-family' indicates whether IPv4, IPv6, or both address families are to be activated. For example, this parameter is used to determine whether RIPv2 <xref target="RFC2453"/>, RIP Next Generation (RIPng), or both are to be enabled <xref target="RFC2080"/>.</t>
          </section>
          <section anchor="vrrp">
            <name>VRRP</name>
            <t>The model also supports the Virtual Router Redundancy Protocol (VRRP) <xref target="RFC5798"/> on an AC (<xref target="vrrp-rtg-svc-tree"/>).</t>
            <figure anchor="vrrp-rtg-svc-tree">
              <name>VRRP Tree Structure</name>
              <artwork align="center"><![CDATA[
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  ...
        |     +--rw bgp
        |     |  ...
        |     +--rw ospf
        |     |  ...
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |        +--rw address-family?   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
]]></artwork>
            </figure>
          </section>
          <section anchor="sec-oam">
            <name>OAM</name>
            <t>As shown in the tree depicted in <xref target="oam-svc-tree"/>, the 'oam' container defines OAM-related parameters of an AC.</t>
            <figure anchor="oam-svc-tree">
              <name>OAM Tree Structure</name>
              <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        ...
        +--rw l2-connection
        |  ...
        +--rw ip-connection
        |  ...
        +--rw routing-protocols
        |  ...
        +--rw oam
        |  +--rw bfd {vpn-common:bfd}?
        |     +--rw holdtime?   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 security
        |  ...
        +--rw service
           ...
]]></artwork>
            </figure>
          </section>
          <section anchor="sec-sec">
            <name>Security</name>
            <t>As shown in the tree depicted in <xref target="sec-svc-tree"/>, the 'security' container defines a set of AC security parameters.</t>
            <figure anchor="sec-svc-tree">
              <name>Security Tree Structure</name>
              <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        ...
        +--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 provider-profile?
        |        |          encryption-profile-reference
        |        +--:(customer-profile)
        |           +--rw customer-key-chain?
        |                   key-chain:key-chain-ref
        +--rw service
           ...
]]></artwork>
            </figure>
          </section>
          <section anchor="sec-bw">
            <name>Service</name>
            <t>As shown in the tree depicted in <xref target="bw-tree"/>, the 'service' container defines the following data nodes:</t>
            <dl>
              <dt>'mtu':</dt>
              <dd>
                <t>Specifies the Layer 2 MTU, in bytes, for the AC.</t>
              </dd>
              <dt>'svc-pe-to-ce-bandwidth':</dt>
              <dd>
                <t>Indicates the inbound bandwidth of the AC (i.e., download bandwidth from the service provider to
the customer site).</t>
              </dd>
              <dt>'svc-ce-to-pe-bandwidth':</dt>
              <dd>
                <t>Indicates the outbound bandwidth of the AC (i.e., upload bandwidth from the customer site to the service
provider).</t>
              </dd>
            </dl>
            <t>Both 'svc-pe-to-ce-bandwidth' and 'svc-ce-to-pe-bandwidth' can be represented using the Committed Information Rate (CIR), the Excess
Information Rate (EIR), or the Peak Information Rate (PIR). Both reuse the 'bandwidth-per-type' grouping defined in <xref target="I-D.ietf-opsawg-teas-common-ac"/>.</t>
            <figure anchor="bw-tree">
              <name>Bandwidth Tree Structure</name>
              <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        ...
        +--rw l2-connection
        |  ...
        +--rw ip-connection
        |  ...
        +--rw routing-protocols
        |  ...
        +--rw oam
        |  ...
        +--rw security
        |  ...
        +--rw service
           +--rw mtu?            uint32
           +--rw svc-pe-to-ce-bandwidth {vpn-common:inbound-bw}?
           |  +--rw bandwidth* [bw-type]
           |     +--rw bw-type      identityref
           |     +--rw (type)?
           |        +--:(per-cos)
           |        |  +--rw cos* [cos-id]
           |        |     +--rw cos-id    uint8
           |        |     +--rw cir?      uint64
           |        |     +--rw cbs?      uint64
           |        |     +--rw eir?      uint64
           |        |     +--rw ebs?      uint64
           |        |     +--rw pir?      uint64
           |        |     +--rw pbs?      uint64
           |        +--:(other)
           |           +--rw cir?   uint64
           |           +--rw cbs?   uint64
           |           +--rw eir?   uint64
           |           +--rw ebs?   uint64
           |           +--rw pir?   uint64
           |           +--rw pbs?   uint64
           +--rw svc-ce-to-pe-bandwidth {vpn-common:outbound-bw}?
              +--rw bandwidth* [bw-type]
                 +--rw bw-type      identityref
                 +--rw (type)?
                    +--:(per-cos)
                    |  +--rw cos* [cos-id]
                    |     +--rw cos-id    uint8
                    |     +--rw cir?      uint64
                    |     +--rw cbs?      uint64
                    |     +--rw eir?      uint64
                    |     +--rw ebs?      uint64
                    |     +--rw pir?      uint64
                    |     +--rw pbs?      uint64
                    +--:(other)
                       +--rw cir?   uint64
                       +--rw cbs?   uint64
                       +--rw eir?   uint64
                       +--rw ebs?   uint64
                       +--rw pir?   uint64
                       +--rw pbs?   uint64
]]></artwork>
            </figure>
          </section>
        </section>
      </section>
    </section>
    <section anchor="yang-modules">
      <name>YANG Modules</name>
      <section anchor="the-bearer-service-ietf-bearer-svc-yang-module-1">
        <name>The Bearer Service ("ietf-bearer-svc") YANG Module</name>
        <t>This module uses types defined in <xref target="RFC6991"/> and <xref target="RFC9181"/>.</t>
        <sourcecode type="yang"><![CDATA[
<CODE BEGINS> file ietf-bearer-svc@2023-11-13.yang
module ietf-bearer-svc {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-bearer-svc";
  prefix bearer-svc;

  import ietf-vpn-common {
    prefix vpn-common;
    reference
      "RFC 9181: A Common YANG Data Model for Layer 2 and Layer 3
                 VPNs";
  }
  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 XXXX: YANG Service Data Models for Attachment Circuits";
  }

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

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

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

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

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

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

  // Identities 

  identity identification-type {
    description
      "Base identity for identification of bearers.";
  }

  identity device-id {
    base identification-type;
    description
      "Identification of bearers based on device..";
  }

  identity site-id {
    base identification-type;
    description
      "Identification of bearers based on site.";
  }

  identity site-and-device-id {
    base identification-type;
    description
      "Identification of bearers based on site and device.";
  }

  identity custom {
    base identification-type;
    description
      "Identification of bearers based on other custom criteria.";
  }

  identity bearer-type {
    description
      "Base identity for bearers type.";
  }

  identity ethernet {
    base bearer-type;
    description
      "Ethernet.";
  }

  identity wireless {
    base bearer-type;
    description
      "Wireless.";
  }

  identity network-termination-hint {
    base vpn-common:placement-diversity;
    description
      "A hint about the termination at the network side
       is provided (e.g., geoproximity).";
  }

  grouping location-information {
    description
      "Basic location information";
    container location {
      description
        "Location of the node.";
      leaf location-name {
        type string;
        description
          "Provides a location name. This data node can be mapped,
           e.g., to the 3GPP NRM IOC ManagedElement.";
      } 
      leaf address {
        type string;
        description
          "Address (number and street) of the device/site.";
      }
      leaf postal-code {
        type string;
        description
          "Postal code of the device/site.";
      }
      leaf state {
        type string;
        description
          "State of the device/site.  This leaf can also be
           used to describe a region for a country that
           does not have states.";
      }
      leaf city {
        type string;
        description
          "City of the device/site.";
      }
      leaf country-code {
        type string {
          pattern '[A-Z]{2}';
        }
        description
          "Country of the device/site.
           Expressed as ISO ALPHA-2 code.";
      }
    }
  }

  grouping placement-constraints {
    description
      "Constraints related to placement of a bearer.";
    list constraint {
      if-feature vpn-common:placement-diversity;
      key "constraint-type";
      description
        "List of constraints.";
      leaf constraint-type {
        type identityref {
          base vpn-common:placement-diversity;
        }
        must "not(derived-from-or-self(current(), "
            + "'vpn-common:bearer-diverse') or "
            + "derived-from-or-self(current(), "
            + "'vpn-common:same-bearer'))" {
             error-message "Only bearer-specific diversity"
                         + "constraints must be provided.";
        }
        description
          "Diversity constraint type for bearers.";
      }
      container target {
        description
          "The constraint will apply against this list of
           groups.";
        choice target-flavor {
          description
            "Choice for the group definition.";
          case id {
            list group {
              key "group-id";
              description
                "List of groups.";
              leaf group-id {
                type string;
                 description
                   "The constraint will apply against this
                    particular group ID.";
               }
             }
           }
           case all-bearers {
             leaf all-other-bearers {
               type empty;
               description
                 "The constraint will apply against all other
                  bearers of a site.";
             }
           }
           case all-groups {
             leaf all-other-groups {
               type empty;
               description
                 "The constraint will apply against all other
                  groups managed by the customer.";
            }
          }
        }
      }
    }
  }

  container bearers {
    description
      "Main container for the bearers.";

    container placement-constraints {
      description
        "Diversity constraint type.";
      uses placement-constraints;
    }

    list bearer {
      key "id";
      description
        "Maintains a list of bearers.";
      leaf id {
        type string;
        description
          "An identifier of the bearer.";
      }
      leaf description {
        type string;
        description
          "A description of this bearer.";
      }
      uses vpn-common:vpn-components-group;
      leaf op-comment {
        type string;
        description
          "Includes comments that can be shared with operational
           teams and which may be useful for the activation of a
           bearer. This may include, for example, information
           about the building, level, etc.";
      }
      container customer-point {
        description
          "Base container to link the Bearer existence";
        leaf identified-by {
          type identityref {
            base identification-type;
          }
          description
            "Attribute used to identify the bearer";
        }
        container device {
          when
            "derived-from-or-self(../identified-by, "
          + "'device-id') or derived-from-or-self(../identified-by, "
          + "'site-and-device-id')" {
            description
              "Only applicable if identified-by is device.";
          }
          description
            "Bearer is linked to device.";
          leaf device-id {
            type string;
            description
              "Identifier for the device where that bearer belongs.";
          }
          uses location-information;
        }
        container site {
          when
            "derived-from-or-self(../identified-by, "
          + "'site-id') or derived-from-or-self(../identified-by, "
          + "'site-and-device-id')" {
            description
              "Only applicable if identified-by is site.";
          }
          description
            "Bearer is linked to a site.";
          leaf site-id {
            type string;
            description
              "Identifier for the site or sites where that bearer
               belongs.";
          }
          uses location-information;
        }
        leaf custom-id {
          when "derived-from-or-self(../identified-by, "
             + "'custom')" {
            description
              "Only enabled id identified-by is custom.";
          }
          type string;
          description
            "The semantic of this identifier is shared between the
              customer/provider using out-of-band means.";
        }
      }
      leaf requested-type {
        type identityref {
          base bearer-type;
        }
        description
          "Type of the requested bearer (e.g., Ethernet or 
           wireless)";
      }
      leaf test-only {
        type empty;
        description
         "When present, this indicates that this is a feasibility
          check request. No resources are commited for such bearer 
          requests.";
      }
      leaf bearer-reference {
        if-feature "vpn-common:bearer-reference";
        type string;
        config false;
        description
          "This is an internal reference for the service provider
           to identify the bearers.";
      }
      leaf-list ac-svc-ref {
        type ac-svc:attachment-circuit-reference;
        config false;
        description
          "Specifies the set of ACes that are bound to the bearer.";
      }
      uses ac-common:op-instructions;
      uses vpn-common:service-status;
    }
  }
}
<CODE ENDS>
]]></sourcecode>
      </section>
      <section anchor="the-ac-service-ietf-ac-svc-yang-module">
        <name>The AC Service ("ietf-ac-svc") YANG Module</name>
        <t>This module uses types defined in <xref target="RFC6991"/>, <xref target="RFC9181"/>, <xref target="RFC8177"/>, and <xref target="I-D.ietf-opsawg-teas-common-ac"/>.</t>
        <sourcecode type="yang"><![CDATA[
<CODE BEGINS> file ietf-ac-svc@2023-11-13.yang
module ietf-ac-svc {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-ac-svc";
  prefix ac-svc;

  import ietf-ac-common {
    prefix ac-common;
    reference
      "RFC CCCC: A Common YANG Data Model for Attachment Circuits";
  }
  import ietf-vpn-common {
    prefix vpn-common;
    reference
      "RFC 9181: A Common YANG Data Model for Layer 2 and Layer 3
                 VPNs";
  }
  import ietf-netconf-acm {
    prefix nacm;
    reference
      "RFC 8341: Network Configuration Access Control Model";
  }
  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";
  }

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

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

     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 XXXX; see the
     RFC itself for full legal notices.";

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

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

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

  typedef ac-group-reference {
    type leafref {
      path "/ac-svc:attachment-circuits/ac-group-profile/name";
    }
    description
      "Defines a reference to an attachment circuit profile.";
  }

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

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

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

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

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

  typedef service-profile-reference {
    type leafref {
      path
        "/ac-svc:service-provisioning-profiles"
      + "/ac-svc:service-profile-identifier"
      + "/ac-svc:id";
    }
    description
      "Defines a type to a service profile for referencing
       purposes.";
  }

  /******************** Reusable groupings ********************/
  // Basic Layer 2 connection

  grouping l2-connection-basic {
    description
      "Defines Layer 2 protocols and parameters that can be
       factorized when provisioning Layer 2 connectivity
       among multiple ACs.";
    container encapsulation {
      description
        "Container for Layer 2 encapsulation.";
      leaf type {
        type identityref {
          base vpn-common:encapsulation-type;
        }
        description
          "Encapsulation type.";
      }
      container dot1q {
        when "derived-from-or-self(../type, 'vpn-common:dot1q')" {
          description
            "Only applies when the type of the tagged interface
             is 'dot1q'.";
        }
        description
          "Tagged interface.";
        uses ac-common:dot1q;
      }
      container qinq {
        when "derived-from-or-self(../type, 'vpn-common:qinq')" {
          description
            "Only applies when the type of the tagged interface
             is 'qinq'.";
        }
        description
          "Includes QinQ parameters.";
        uses ac-common:qinq;
      }
    }
  }

  // Full Layer 2 connection

  grouping l2-connection {
    description
      "Defines Layer 2 protocols and parameters that are used to
       enable AC connectivity.";
    container encapsulation {
      description
        "Container for Layer 2 encapsulation.";
      leaf type {
        type identityref {
          base vpn-common:encapsulation-type;
        }
        description
          "Indicates the encapsulation type.";
      }
      container dot1q {
        when "derived-from-or-self(../type, 'vpn-common:dot1q')" {
          description
            "Only applies when the type of the tagged interface
             is 'dot1q'.";
        }
        description
          "Tagged interface.";
        uses ac-common:dot1q;
      }
      container priority-tagged {
        when "derived-from-or-self(../type, "
           + "'vpn-common:priority-tagged')" {
          description
            "Only applies when the type of the tagged interface is
             'priority-tagged'.";
        }
        description
          "Priority-tagged interface.";
        uses ac-common:priority-tagged;
      }
      container qinq {
        when "derived-from-or-self(../type, 'vpn-common:qinq')" {
          description
            "Only applies when the type of the tagged interface
             is 'qinq'.";
        }
        description
          "Includes QinQ parameters.";
        uses ac-common:qinq;
      }
    }
    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.
           It is only applicable when a tunnel is required.";
        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.";
        }
      }
    }
    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.";
    }
  }

  // Basic IP connection

  grouping ip-connection-basic {
    description
      "Defines basic IP connection parameters.";
    container ipv4 {
      if-feature "vpn-common:ipv4";
      description
        "IPv4-specific parameters.";
      uses ac-common:ipv4-connection-basic;
    }
    container ipv6 {
      if-feature "vpn-common:ipv6";
      description
        "IPv6-specific parameters.";
      uses ac-common:ipv6-connection-basic;
    }
  }

  // Full IP connection

  grouping ip-connection {
    description
      "Defines IP connection parameters.";
    container ipv4 {
      if-feature "vpn-common:ipv4";
      description
        "IPv4-specific parameters.";
      uses ac-common:ipv4-connection;
    }
    container ipv6 {
      if-feature "vpn-common:ipv6";
      description
        "IPv6-specific parameters.";
      uses ac-common:ipv6-connection;
    }
  }

  // Routing protocol list

  grouping routing-protocol-list {
    description
      "List of routing protocols used on the AC.";
    leaf type {
      type identityref {
        base vpn-common:routing-protocol-type;
      }
      description
        "Type of routing protocol.";
    }
    list routing-profiles {
      key "id";
      description
        "Routing profiles.";
      leaf id {
        type routing-profile-reference;
        description
          "Reference to the routing profile to be used.";
      }
      leaf type {
        type identityref {
          base vpn-common:ie-type;
        }
        description
          "Import, export, or both.";
      }
    }
  }

  //  BGP Service 

  grouping bgp-svc {
    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.";
        uses ac-common:bgp-peer-group-with-name;
        leaf local-address {
          type inet:ip-address;
          description
            "The local IP address that will be used to establish
             the BGP session.";
        }
        uses ac-common:bgp-authentication;
      }
    }
    list neighbor {
      key "id";
      description
        "List of BGP neighbors.";
      leaf id {
        type string;
        description
          "A neighbor identifier.";
      }
      leaf remote-address {
        type inet:ip-address;
        description
          "The remote IP address of this entry's BGP peer.

           If this leaf is not present, this means that the primary
           customer IP address is used as remote IP address.";
      }
      leaf local-address {
        type inet:ip-address;
        description
          "The local IP address that will be used to establish
           the BGP session.";
      }
      leaf peer-group {
        type leafref {
          path "../../peer-groups/peer-group/name";
        }
        description
          "The peer-group with which this neighbor is associated.";
      }
      uses ac-common:bgp-peer-group-without-name;
      uses ac-common:bgp-authentication;
      uses vpn-common:service-status;
    }
  }

  //  OSPF Service 

  grouping ospf-svc {
    description
      "Service configuration specific to OSPF.";
    uses ac-common:ospf-basic;
    uses ac-common:ospf-authentication;
    uses vpn-common:service-status;
  }

  //  IS-IS Service 

  grouping isis-svc {
    description
      "Service configuration specific to IS-IS.";
    uses ac-common:isis-basic;
    uses ac-common:isis-authentication;
    uses vpn-common:service-status;
  }

  //  RIP Service 

  grouping rip-svc {
    description
      "Service 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.";
    }
    uses ac-common:rip-authentication;
    uses vpn-common:service-status;
  }

  //  VRRP Service 

  grouping vrrp-svc {
    description
      "Service 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.";
    }
    uses vpn-common:service-status;
  }

  // Basic routing parameters

  grouping routing-basic {
    description
      "Defines basic parameters for 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.";
      }
      uses routing-protocol-list;
      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.";
            uses ac-common:bgp-peer-group-with-name;
          }
        }
      }
      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 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;
      }
      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.";
        leaf address-family {
          type identityref {
            base vpn-common:address-family;
          }
          description
            "Indicates whether IPv4, IPv6, or both
             address families are to be activated.";
        }
      }
      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.";
        leaf address-family {
          type identityref {
            base vpn-common:address-family;
          }
          description
            "Indicates whether IPv4, IPv6, or both address families
             are to be enabled.";
        }
      }
    }
  }

  // Full routing parameters

  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.";
      }
      uses routing-protocol-list;
      container static {
        when "derived-from-or-self(../type, "
           + "'vpn-common:static-routing')" {
          description
            "Only applies when the protocol is static routing
             protocol.";
        }
        description
          "Configuration specific to static routing.";
        container cascaded-lan-prefixes {
          description
            "LAN prefixes from the customer.";
          uses ac-common:ipv4-static-rtg;
          uses ac-common:ipv6-static-rtg;
        }
      }
      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-svc {
          refine "peer-groups/peer-group/local-address" {
            config false;
          }
          refine "neighbor/local-address" {
            config false;
          }
        }
      }
      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 ospf-svc;
      }
      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 isis-svc;
      }
      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-svc;
      }
      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.";
        uses vrrp-svc;
      }
    }
  }

  // Encryption choice

  grouping encryption-choice {
    description
      "Container for the encryption profile.";
    choice profile {
      description
        "Choice for the encryption profile.";
      case provider-profile {
        leaf provider-profile {
          type encryption-profile-reference;
          description
            "Reference to a provider encryption profile.";
        }
      }
      case customer-profile {
        leaf customer-key-chain {
          type key-chain:key-chain-ref;
          description
            "Customer-supplied key chain.";
        }
      }
    }
  }

  // Basic security parameters

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

  // Bandwith parameters

  grouping bandwidth {
    description
      "Container for bandwidth.";
    container svc-pe-to-ce-bandwidth {
      if-feature "vpn-common:inbound-bw";
      description
        "From the customer site's perspective, the inbound
         bandwidth of the AC or download bandwidth from the
         service provider to the site.";
      uses ac-common:bandwidth-per-type;
    }
    container svc-ce-to-pe-bandwidth {
      if-feature "vpn-common:outbound-bw";
      description
        "From the customer site's perspective, the outbound
         bandwidth of the AC or upload bandwidth from
         the CE to the PE.";
      uses ac-common:bandwidth-per-type;
    }
  }

  // Basic AC parameters

  grouping ac-basic {
    description
      "Grouping for basic parameters for an attachment circuit.";
    leaf id {
      type string;
      description
        "An identifier of the AC.";
    }
    container l2-connection {
      description
        "Defines Layer 2 protocols and parameters that are required 
         to enable AC connectivity.";
      uses l2-connection-basic;
    }
    container ip-connection {
      description
        "Defines IP connection parameters.";
      uses ip-connection-basic;
    }
    container routing-protocols {
      description
        "Defines routing protocols.";
      uses routing-basic;
    }
    container oam {
      description
        "Defines the Operations, Administration, and Maintenance
         (OAM) mechanisms used.";
      container bfd {
        if-feature "vpn-common:bfd";
        description
          "Container for BFD.";
        uses ac-common:bfd;
      }
    }
    container security {
      description
        "AC-specific security parameters.";
      uses ac-security-basic;
    }
    container service {
      description
        "AC-specific bandwith parameters.";
      leaf mtu {
        type uint32;
        units "bytes";
        description
          "Layer 2 MTU.";
      }
      uses bandwidth;
    }
  }

  // Full AC parameters

  grouping ac {
    description
      "Grouping for an attachment circuit.";
    leaf name {
      type string;
      description
        "A name of the AC. Data models that need to reference  
         an attachment circuit should use 
         attachment-circuit-reference.";
    }
    leaf-list service-profile {
      type service-profile-reference;
      description
        "A reference to a service profile.";
    }
    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 ip-connection;
    }
    container routing-protocols {
      description
        "Defines routing protocols.";
      uses routing;
    }
    container oam {
      description
        "Defines the OAM mechanisms used.";
      container bfd {
        if-feature "vpn-common:bfd";
        description
          "Container for BFD.";
        uses ac-common:bfd;
        uses vpn-common:service-status;
      }
    }
    container security {
      description
        "AC-specific security parameters.";
      uses ac-security-basic;
    }
    container service {
      description
        "AC-specific bandwith parameters.";
      uses bandwidth;
    }
  }

  /******************** Main AC containers ********************/

  container specific-provisioning-profiles {
    description
      "Contains a set of valid profiles to reference for an AC.";
    uses ac-common:ac-profile-cfg;
  }
  container service-provisioning-profiles {
    description
      "Contains a set of valid profiles to reference for an AC.";
    list service-profile-identifier {
      key "id";
      description
        "List of generic service profile identifiers.";
      leaf id {
        type string;
        description
          "Identification of the service profile to be used.
           The profile only has significance within the service
           provider's administrative domain.";
      }
    }
    nacm:default-deny-write;
  }
  container attachment-circuits {
    description
      "Main container for the attachment circuits.";
    list ac-group-profile {
      key "name";
      description
        "Maintains a list of profiles that are shared among
         a set of ACs.";
      uses ac;
    }
    container placement-constraints {
      description
        "Diversity constraint type.";
      uses vpn-common:placement-constraints;
    }
    list ac {
      key "name";
      description
        "Global provisioning of attachment circuits.";
      leaf customer-name {
        type string;
        description
          "Indicates the name of the customer that requested this
           AC.";
      }
      leaf description {
        type string;
        description
          "Associates a description with an AC.";
      }
      leaf test-only {
        type empty;
        description
         "When present, this indicates that this is a feasibility
          check request. No resources are commited for such AC 
          requests.";
      }
      uses ac-common:op-instructions;
      leaf-list peer-sap-id {
        type string;
        description
          "One or more peer SAPs can be indicated.";
      }
      leaf-list ac-group-profile {
        type ac-group-reference;
        description
          "A reference to an AC profile.";
      }
      leaf ac-bundle-ref {
        type ac-svc:attachment-circuit-reference;
        description
          "Specifies the AC bundle that is inherited by an AC.
           AC bundles are used, e.g., in contexts where dynamic
           terminating points are managed while stable AC reference
           are exposed to services that make use of these dynamic
           ACs.";
      }
      list group {
        key "group-id";
        description
          "List of group-ids.";
        leaf group-id {
          type string;
          description
            "Indicates the group-id to which the network access
             belongs.";
        }
        leaf precedence {
          type identityref {
            base ac-common:precedence-type;
          }
          description
            "Defines redundancy of an AC.";
        }
      }
      list service-ref {
        key "service-type service-id";
        config false;
        description
          "Reports the set of services that are bound to the AC.";
        leaf service-type {
          type identityref {
            base vpn-common:service-type;
          }
          description
            "Indicates the service type (e.g., L3VPN, Network Slice
             Service).";
          reference
            "RFC 9408: A YANG Network Data Model for Service 
                       Attachment Points (SAPs), Section 5";
        }
        leaf service-id {
          type string;
          description
            "Indicates an identifier of a service instance
             of a given type that uses the AC.";
        }
      }
      uses ac;
    }
  }
}
<CODE ENDS>
]]></sourcecode>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The YANG modules specified in this document define 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 these YANG modules 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-bearer-svc" module:</t>
      <ul spacing="normal">
        <li>
          <t>TBC</t>
        </li>
        <li>
          <t>TBC</t>
        </li>
      </ul>
      <t>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>Some of the readable data nodes in these YANG modules 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-bearer-svc" module:</t>
      <ul spacing="normal">
        <li>
          <t>TBC</t>
        </li>
        <li>
          <t>TBC</t>
        </li>
      </ul>
      <t>These are the subtrees and data
   nodes and their sensitivity/vulnerability in the "ietf-ac-svc" module:</t>
      <dl>
        <dt>'customer-name', 'l2-connection', and 'ip-connection':</dt>
        <dd>
          <t>An attacker can retrieve privacy-related information, which can be used to track a
 customer.  Disclosing such information may be considered a
 violation of the customer-provider trust relationship.</t>
        </dd>
        <dt>'keying-material':</dt>
        <dd>
          <t>An attacker can retrieve the cryptographic keys
 protecting the underlying connectivity services (routing, in
 particular).  These keys could be used to inject spoofed routing
 advertisements.</t>
        </dd>
      </dl>
      <t>Several data nodes ('bgp', 'ospf', 'isis', and 'rip') rely
   upon <xref target="RFC8177"/> for authentication purposes.  As such, the AC service 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 service 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 URIs in the "ns" subregistry within
   the "IETF XML Registry" <xref target="RFC3688"/>:</t>
      <artwork><![CDATA[
   URI:  urn:ietf:params:xml:ns:yang:ietf-bearer-svc
   Registrant Contact:  The IESG.
   XML:  N/A; the requested URI is an XML namespace.

   URI:  urn:ietf:params:xml:ns:yang:ietf-ac-svc
   Registrant Contact:  The IESG.
   XML:  N/A; the requested URI is an XML namespace.
]]></artwork>
      <t>IANA is requested to register the following YANG modules in the "YANG Module
   Names" subregistry <xref target="RFC6020"/> within the "YANG Parameters" registry.</t>
      <artwork><![CDATA[
   Name:  ietf-bearer-svc
   Maintained by IANA?  N
   Namespace:  urn:ietf:params:xml:ns:yang:ietf-bearer-svc
   Prefix:  bearer-svc
   Reference:  RFC xxxx

   Name:  ietf-ac-svc
   Maintained by IANA?  N
   Namespace:  urn:ietf:params:xml:ns:yang:ietf-ac-svc
   Prefix:  ac-svc
   Reference:  RFC xxxx
]]></artwork>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC4364">
          <front>
            <title>BGP/MPLS IP Virtual Private Networks (VPNs)</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <date month="February" year="2006"/>
            <abstract>
              <t>This document describes a method by which a Service Provider may use an IP backbone to provide IP Virtual Private Networks (VPNs) for its customers. This method uses a "peer model", in which the customers' edge routers (CE routers) send their routes to the Service Provider's edge routers (PE routers); there is no "overlay" visible to the customer's routing algorithm, and CE routers at different sites do not peer with each other. Data packets are tunneled through the backbone, so that the core routers do not need to know the VPN routes. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4364"/>
          <seriesInfo name="DOI" value="10.17487/RFC4364"/>
        </reference>
        <reference anchor="RFC8342">
          <front>
            <title>Network Management Datastore Architecture (NMDA)</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="P. Shafer" initials="P." surname="Shafer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Wilton" initials="R." surname="Wilton"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>Datastores are a fundamental concept binding the data models written in the YANG data modeling language to network management protocols such as the Network Configuration Protocol (NETCONF) and RESTCONF. This document defines an architectural framework for datastores based on the experience gained with the initial simpler model, addressing requirements that were not well supported in the initial model. This document updates RFC 7950.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8342"/>
          <seriesInfo name="DOI" value="10.17487/RFC8342"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6241"/>
          <seriesInfo name="DOI" value="10.17487/RFC6241"/>
        </reference>
        <reference anchor="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="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="I-D.ietf-opsawg-teas-common-ac">
          <front>
            <title>A Common YANG Data Model for Attachment Circuits</title>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Richard Roberts" initials="R." surname="Roberts">
              <organization>Juniper</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Samier Barguil" initials="S." surname="Barguil">
              <organization>Nokia</organization>
            </author>
            <author fullname="Bo Wu" initials="B." surname="Wu">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="6" month="November" year="2023"/>
            <abstract>
              <t>   The document specifies a common Attachment Circuits (ACs) YANG
   module, which is designed with the intent to be reusable by other
   models.  For example, this common model can be reused by service
   models to expose ACs as a service, service models that require
   binding a service to a set of ACs, network and device models to
   provision ACs, etc.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-teas-common-ac-00"/>
        </reference>
        <reference anchor="RFC5880">
          <front>
            <title>Bidirectional Forwarding Detection (BFD)</title>
            <author fullname="D. Katz" initials="D." surname="Katz"/>
            <author fullname="D. Ward" initials="D." surname="Ward"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>This document describes a protocol intended to detect faults in the bidirectional path between two forwarding engines, including interfaces, data link(s), and to the extent possible the forwarding engines themselves, with potentially very low latency. It operates independently of media, data protocols, and routing protocols. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5880"/>
          <seriesInfo name="DOI" value="10.17487/RFC5880"/>
        </reference>
        <reference anchor="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="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="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-SVC-Tree" target="https://raw.githubusercontent.com/boucadair/attachment-circuit-model/main/yang/full-trees/ac-svc-without-groupings.txt">
          <front>
            <title>Full Service Attachment Circuit Tree Structure</title>
            <author>
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="AC-SVC-GRP" target="https://raw.githubusercontent.com/boucadair/attachment-circuit-model/main/yang/full-trees/ac-svc-groupings.txt">
          <front>
            <title>Reusable Groupings in Service Attachment Circuits</title>
            <author>
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="PYANG" target="https://github.com/mbj4668/pyang">
          <front>
            <title>pyang</title>
            <author>
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="RFC7665">
          <front>
            <title>Service Function Chaining (SFC) Architecture</title>
            <author fullname="J. Halpern" initials="J." role="editor" surname="Halpern"/>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro"/>
            <date month="October" year="2015"/>
            <abstract>
              <t>This document describes an architecture for the specification, creation, and ongoing maintenance of Service Function Chains (SFCs) in a network. It includes architectural concepts, principles, and components used in the construction of composite services through deployment of SFCs, with a focus on those to be standardized in the IETF. This document does not propose solutions, protocols, or extensions to existing protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7665"/>
          <seriesInfo name="DOI" value="10.17487/RFC7665"/>
        </reference>
        <reference anchor="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="RFC5737">
          <front>
            <title>IPv4 Address Blocks Reserved for Documentation</title>
            <author fullname="J. Arkko" initials="J." surname="Arkko"/>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="L. Vegoda" initials="L." surname="Vegoda"/>
            <date month="January" year="2010"/>
            <abstract>
              <t>Three IPv4 unicast address blocks are reserved for use in examples in specifications and other documents. This document describes the use of these blocks. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5737"/>
          <seriesInfo name="DOI" value="10.17487/RFC5737"/>
        </reference>
        <reference anchor="RFC3849">
          <front>
            <title>IPv6 Address Prefix Reserved for Documentation</title>
            <author fullname="G. Huston" initials="G." surname="Huston"/>
            <author fullname="A. Lord" initials="A." surname="Lord"/>
            <author fullname="P. Smith" initials="P." surname="Smith"/>
            <date month="July" year="2004"/>
            <abstract>
              <t>To reduce the likelihood of conflict and confusion when relating documented examples to deployed systems, an IPv6 unicast address prefix is reserved for use in examples in RFCs, books, documentation, and the like. Since site-local and link-local unicast addresses have special meaning in IPv6, these addresses cannot be used in many example situations. The document describes the use of the IPv6 address prefix 2001:DB8::/32 as a reserved prefix for use in documentation. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3849"/>
          <seriesInfo name="DOI" value="10.17487/RFC3849"/>
        </reference>
        <reference anchor="RFC5398">
          <front>
            <title>Autonomous System (AS) Number Reservation for Documentation Use</title>
            <author fullname="G. Huston" initials="G." surname="Huston"/>
            <date month="December" year="2008"/>
            <abstract>
              <t>To reduce the likelihood of conflict and confusion when relating documented examples to deployed systems, two blocks of Autonomous System numbers (ASNs) are reserved for use in examples in RFCs, books, documentation, and the like. This document describes the reservation of two blocks of ASNs as reserved numbers for use in documentation. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5398"/>
          <seriesInfo name="DOI" value="10.17487/RFC5398"/>
        </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="I-D.ietf-opsawg-ntw-attachment-circuit">
          <front>
            <title>A Network YANG Data Model for Attachment Circuits</title>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Richard Roberts" initials="R." surname="Roberts">
              <organization>Juniper</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Samier Barguil" initials="S." surname="Barguil">
              <organization>Nokia</organization>
            </author>
            <author fullname="Bo Wu" initials="B." surname="Wu">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="6" month="November" year="2023"/>
            <abstract>
              <t>   This document specifies a network model for attachment circuits.  The
   model can be used for the provisioning of attachment circuits prior
   or during service provisioning (e.g., Network Slice Service).  A
   companion service model is specified in
   [I-D.boro-opsawg-teas-attachment-circuit].

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-ntw-attachment-circuit-00"/>
        </reference>
        <reference anchor="RFC8349">
          <front>
            <title>A YANG Data Model for Routing Management (NMDA Version)</title>
            <author fullname="L. Lhotka" initials="L." surname="Lhotka"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <author fullname="Y. Qu" initials="Y." surname="Qu"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document specifies three YANG modules and one submodule. Together, they form the core routing data model that serves as a framework for configuring and managing a routing subsystem. It is expected that these modules will be augmented by additional YANG modules defining data models for control-plane protocols, route filters, and other functions. The core routing data model provides common building blocks for such extensions -- routes, Routing Information Bases (RIBs), and control-plane protocols.</t>
              <t>The YANG modules in this document conform to the Network Management Datastore Architecture (NMDA). This document obsoletes RFC 8022.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8349"/>
          <seriesInfo name="DOI" value="10.17487/RFC8349"/>
        </reference>
        <reference anchor="I-D.ietf-idr-bgp-model">
          <front>
            <title>YANG Model for Border Gateway Protocol (BGP-4)</title>
            <author fullname="Mahesh Jethanandani" initials="M." surname="Jethanandani">
              <organization>Kloud Services</organization>
            </author>
            <author fullname="Keyur Patel" initials="K." surname="Patel">
              <organization>Arrcus</organization>
            </author>
            <author fullname="Susan Hares" initials="S." surname="Hares">
              <organization>Huawei</organization>
            </author>
            <author fullname="Jeffrey Haas" initials="J." surname="Haas">
              <organization>Juniper Networks</organization>
            </author>
            <date day="5" month="July" year="2023"/>
            <abstract>
              <t>   This document defines a YANG data model for configuring and managing
   BGP, including protocol, policy, and operational aspects, such as
   RIB, based on data center, carrier, and content provider operational
   requirements.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-bgp-model-17"/>
        </reference>
        <reference anchor="RFC8466">
          <front>
            <title>A YANG Data Model for Layer 2 Virtual Private Network (L2VPN) Service Delivery</title>
            <author fullname="B. Wen" initials="B." surname="Wen"/>
            <author fullname="G. Fioccola" initials="G." role="editor" surname="Fioccola"/>
            <author fullname="C. Xie" initials="C." surname="Xie"/>
            <author fullname="L. Jalil" initials="L." surname="Jalil"/>
            <date month="October" year="2018"/>
            <abstract>
              <t>This document defines a YANG data model that can be used to configure a Layer 2 provider-provisioned VPN service. It is up to a management system to take this as an input and generate specific configuration models to configure the different network elements to deliver the service. How this configuration of network elements is done is out of scope for this document.</t>
              <t>The YANG data model defined in this document includes support for point-to-point Virtual Private Wire Services (VPWSs) and multipoint Virtual Private LAN Services (VPLSs) that use Pseudowires signaled using the Label Distribution Protocol (LDP) and the Border Gateway Protocol (BGP) as described in RFCs 4761 and 6624.</t>
              <t>The YANG data model defined in this document conforms to the Network Management Datastore Architecture defined in RFC 8342.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8466"/>
          <seriesInfo name="DOI" value="10.17487/RFC8466"/>
        </reference>
        <reference anchor="RFC8299">
          <front>
            <title>YANG Data Model for L3VPN Service Delivery</title>
            <author fullname="Q. Wu" initials="Q." role="editor" surname="Wu"/>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
            <author fullname="L. Tomotaki" initials="L." surname="Tomotaki"/>
            <author fullname="K. Ogaki" initials="K." surname="Ogaki"/>
            <date month="January" year="2018"/>
            <abstract>
              <t>This document defines a YANG data model that can be used for communication between customers and network operators and to deliver a Layer 3 provider-provisioned VPN service. This document is limited to BGP PE-based VPNs as described in RFCs 4026, 4110, and 4364. This model is intended to be instantiated at the management system to deliver the overall service. It is not a configuration model to be used directly on network elements. This model provides an abstracted view of the Layer 3 IP VPN service configuration components. It will be up to the management system to take this model as input and use specific configuration models to configure the different network elements to deliver the service. How the configuration of network elements is done is out of scope for this document.</t>
              <t>This document obsoletes RFC 8049; it replaces the unimplementable module in that RFC with a new module with the same name that is not backward compatible. The changes are a series of small fixes to the YANG module and some clarifications to the text.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8299"/>
          <seriesInfo name="DOI" value="10.17487/RFC8299"/>
        </reference>
        <reference anchor="RFC8340">
          <front>
            <title>YANG Tree Diagrams</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="L. Berger" initials="L." role="editor" surname="Berger"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document captures the current syntax used in YANG module tree diagrams. The purpose of this document is to provide a single location for this definition. This syntax may be updated from time to time based on the evolution of the YANG language.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="215"/>
          <seriesInfo name="RFC" value="8340"/>
          <seriesInfo name="DOI" value="10.17487/RFC8340"/>
        </reference>
        <reference anchor="RFC3644">
          <front>
            <title>Policy Quality of Service (QoS) Information Model</title>
            <author fullname="Y. Snir" initials="Y." surname="Snir"/>
            <author fullname="Y. Ramberg" initials="Y." surname="Ramberg"/>
            <author fullname="J. Strassner" initials="J." surname="Strassner"/>
            <author fullname="R. Cohen" initials="R." surname="Cohen"/>
            <author fullname="B. Moore" initials="B." surname="Moore"/>
            <date month="November" year="2003"/>
            <abstract>
              <t>This document presents an object-oriented information model for representing Quality of Service (QoS) network management policies. This document is based on the IETF Policy Core Information Model and its extensions. It defines an information model for QoS enforcement for differentiated and integrated services using policy. It is important to note that this document defines an information model, which by definition is independent of any particular data storage mechanism and access protocol.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3644"/>
          <seriesInfo name="DOI" value="10.17487/RFC3644"/>
        </reference>
        <reference anchor="RFC5925">
          <front>
            <title>The TCP Authentication Option</title>
            <author fullname="J. Touch" initials="J." surname="Touch"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <author fullname="R. Bonica" initials="R." surname="Bonica"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>This document specifies the TCP Authentication Option (TCP-AO), which obsoletes the TCP MD5 Signature option of RFC 2385 (TCP MD5). TCP-AO specifies the use of stronger Message Authentication Codes (MACs), protects against replays even for long-lived TCP connections, and provides more details on the association of security with TCP connections than TCP MD5. TCP-AO is compatible with either a static Master Key Tuple (MKT) configuration or an external, out-of-band MKT management mechanism; in either case, TCP-AO also protects connections when using the same MKT across repeated instances of a connection, using traffic keys derived from the MKT, and coordinates MKT changes between endpoints. The result is intended to support current infrastructure uses of TCP MD5, such as to protect long-lived connections (as used, e.g., in BGP and LDP), and to support a larger set of MACs with minimal other system and operational changes. TCP-AO uses a different option identifier than TCP MD5, even though TCP-AO and TCP MD5 are never permitted to be used simultaneously. TCP-AO supports IPv6, and is fully compatible with the proposed requirements for the replacement of TCP MD5. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5925"/>
          <seriesInfo name="DOI" value="10.17487/RFC5925"/>
        </reference>
        <reference anchor="RFC2453">
          <front>
            <title>RIP Version 2</title>
            <author fullname="G. Malkin" initials="G." surname="Malkin"/>
            <date month="November" year="1998"/>
            <abstract>
              <t>This document specifies an extension of the Routing Information Protocol (RIP) to expand the amount of useful information carried in RIP messages and to add a measure of security. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="56"/>
          <seriesInfo name="RFC" value="2453"/>
          <seriesInfo name="DOI" value="10.17487/RFC2453"/>
        </reference>
        <reference anchor="RFC2080">
          <front>
            <title>RIPng for IPv6</title>
            <author fullname="G. Malkin" initials="G." surname="Malkin"/>
            <author fullname="R. Minnear" initials="R." surname="Minnear"/>
            <date month="January" year="1997"/>
            <abstract>
              <t>This document specifies a routing protocol for an IPv6 internet. It is based on protocols and algorithms currently in wide use in the IPv4 Internet [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2080"/>
          <seriesInfo name="DOI" value="10.17487/RFC2080"/>
        </reference>
        <reference anchor="RFC5798">
          <front>
            <title>Virtual Router Redundancy Protocol (VRRP) Version 3 for IPv4 and IPv6</title>
            <author fullname="S. Nadas" initials="S." role="editor" surname="Nadas"/>
            <date month="March" year="2010"/>
            <abstract>
              <t>This memo defines the Virtual Router Redundancy Protocol (VRRP) for IPv4 and IPv6. It is version three (3) of the protocol, and it is based on VRRP (version 2) for IPv4 that is defined in RFC 3768 and in "Virtual Router Redundancy Protocol for IPv6". VRRP specifies an election protocol that dynamically assigns responsibility for a virtual router to one of the VRRP routers on a LAN. The VRRP router controlling the IPv4 or IPv6 address(es) associated with a virtual router is called the Master, and it forwards packets sent to these IPv4 or IPv6 addresses. VRRP Master routers are configured with virtual IPv4 or IPv6 addresses, and VRRP Backup routers infer the address family of the virtual addresses being carried based on the transport protocol. Within a VRRP router, the virtual routers in each of the IPv4 and IPv6 address families are a domain unto themselves and do not overlap. The election process provides dynamic failover in the forwarding responsibility should the Master become unavailable. For IPv4, the advantage gained from using VRRP is a higher-availability default path without requiring configuration of dynamic routing or router discovery protocols on every end-host. For IPv6, the advantage gained from using VRRP for IPv6 is a quicker switchover to Backup routers than can be obtained with standard IPv6 Neighbor Discovery mechanisms. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5798"/>
          <seriesInfo name="DOI" value="10.17487/RFC5798"/>
        </reference>
        <reference anchor="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>
        <reference anchor="I-D.ietf-teas-ietf-network-slice-nbi-yang">
          <front>
            <title>A YANG Data Model for the IETF Network Slice Service</title>
            <author fullname="Bo Wu" initials="B." surname="Wu">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Dhruv Dhody" initials="D." surname="Dhody">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Reza Rokui" initials="R." surname="Rokui">
              <organization>Ciena</organization>
            </author>
            <author fullname="Tarek Saad" initials="T." surname="Saad">
              <organization>Cisco Systems, Inc</organization>
            </author>
            <author fullname="John Mullooly" initials="J." surname="Mullooly">
              <organization>Cisco Systems, Inc</organization>
            </author>
            <date day="23" month="October" year="2023"/>
            <abstract>
              <t>   This document defines a YANG data model for the IETF Network Slice
   Service.  The model can be used in the IETF Network Slice Service
   interface between a customer and a provider that offers IETF Network
   Slice Services.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teas-ietf-network-slice-nbi-yang-08"/>
        </reference>
        <reference anchor="RFC6151">
          <front>
            <title>Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithms</title>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <author fullname="L. Chen" initials="L." surname="Chen"/>
            <date month="March" year="2011"/>
            <abstract>
              <t>This document updates the security considerations for the MD5 message digest algorithm. It also updates the security considerations for HMAC-MD5. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6151"/>
          <seriesInfo name="DOI" value="10.17487/RFC6151"/>
        </reference>
        <reference anchor="RFC6952">
          <front>
            <title>Analysis of BGP, LDP, PCEP, and MSDP Issues According to the Keying and Authentication for Routing Protocols (KARP) Design Guide</title>
            <author fullname="M. Jethanandani" initials="M." surname="Jethanandani"/>
            <author fullname="K. Patel" initials="K." surname="Patel"/>
            <author fullname="L. Zheng" initials="L." surname="Zheng"/>
            <date month="May" year="2013"/>
            <abstract>
              <t>This document analyzes TCP-based routing protocols, the Border Gateway Protocol (BGP), the Label Distribution Protocol (LDP), the Path Computation Element Communication Protocol (PCEP), and the Multicast Source Distribution Protocol (MSDP), according to guidelines set forth in Section 4.2 of "Keying and Authentication for Routing Protocols Design Guidelines", RFC 6518.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6952"/>
          <seriesInfo name="DOI" value="10.17487/RFC6952"/>
        </reference>
      </references>
    </references>
    <?line 2879?>

<section anchor="examples">
      <name>Examples</name>
      <t>This section includes a non-exhaustive list of examples to illustrate the use of the service models defined in this document.</t>
      <section anchor="ex-create-bearer">
        <name>Create A New Bearer</name>
        <t>An example of a request message body to create a bearer is shown in <xref target="create-bearer"/>.</t>
        <figure anchor="create-bearer">
          <name>Example of a Message Body to Create A New Bearer</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-bearer-svc:bearers": {
    "bearer": [
      {
        "id": "an-identifier",
        "description": "A bearer example",
        "customer-point": {
          "device": {
            "device-id": "CE_X_SITE_Y"
          }
        },
        "requested-type": "ietf-bearer-svc:ethernet"
      }
    ]
  }
}
]]></sourcecode>
        </figure>
        <t>A bearer-reference is then generated by the controller for this bearer. <xref target="get-bearer"/> shows the example of a response message body that is sent by the controller to reply to a GET request:</t>
        <figure anchor="get-bearer">
          <name>Example of a Response Message Body with the Bearer Reference</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-bearer-svc:bearers": {
    "bearer": [
      {
        "id": "an-identifier",
        "description": "A bearer example",
        "customer-point": {
          "device": {
            "device-id": "CE_X_SITE_Y"
          }
        },
        "requested-type": "ietf-bearer-svc:ethernet",
        "bearer-reference": "line-156"
      }
    ]
  }
}
  
]]></sourcecode>
        </figure>
      </section>
      <section anchor="ac-bearer-exist">
        <name>Create An AC over An Existing Bearer</name>
        <t>An example of  a request message body to create a simple AC over an existing bearer is shown in <xref target="ac-b"/>. The bearer reference is assumed to be known to both the customer and the network provider. Such a reference can be retrieved, e.g., following the example described in <xref target="ex-create-bearer"/> or using other means (including, exchanged out-of-band or via proprietary APIs).</t>
        <figure anchor="ac-b">
          <name>Example of a Message Body to Request an AC over an Existing Bearer</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "ac4585",
        "description": "An AC on an existing bearer",
        "requested-ac-start": "2023-12-12T05:00:00.00Z",
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q"
          },
          "bearer-reference": "line-156"
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
        <t><xref target="ac-br"/> shows the message body of a response received from the controller and which indicates the "cvlan-id" that was assigned for the requested AC.</t>
        <figure anchor="ac-br">
          <name>Example of a Message Body of a Response to Assign a CVLAN ID</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "ac4585",
        "description": "An AC on an existing bearer",
        "requested-ac-start": "2023-12-12T05:00:00.00Z",
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "tag-type": "ietf-vpn-common:c-vlan",
              "cvlan-id": 550
            }
          },
          "bearer-reference": "line-156"
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="ac-no-bearer-peer-sap">
        <name>Create An AC for a Known Peer SAP</name>
        <t>An example of a request to create a simple AC, when the peer SAP is known, is shown in <xref target="ac-known-ps"/>. In this example, the peer SAP identifier points to an identifier of a service function. The (topological) location of that service function is assumed to be known to the network controller. For example, this can be determined as part of an on-demand procedure to instantiate a service function in a cloud. That instantiated service function can be granted a connectivity service via the provider network.</t>
        <figure anchor="ac-known-ps">
          <name>Example of a Message Body to Request an AC with a Peer SAP</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "ac4585",
        "description": "An AC on an existing bearer",
        "requested-ac-start": "2023-12-12T05:00:00.00Z",
        "peer-sap-id": [
          "nf-termination-ip"
        ],
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "tag-type": "ietf-vpn-common:c-vlan",
              "cvlan-id": 550
            }
          }
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="sec-ex-one-ce-multi-acs">
        <name>One CE, Two ACs</name>
        <t>Let’s consider the example of an eNodeB (CE) that is directly connected to the access routers of the mobile backhaul (see <xref target="enodeb"/>). In this example, two ACs are needed to service the eNodeB (e.g., distinct VLANs for Control and User Planes).</t>
        <figure anchor="enodeb">
          <name>Example of a CE-PE ACs</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="240" width="432" viewBox="0 0 432 240" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,160" fill="none" stroke="black"/>
                <path d="M 120,32 L 120,160" fill="none" stroke="black"/>
                <path d="M 272,32 L 272,224" fill="none" stroke="black"/>
                <path d="M 424,32 L 424,224" fill="none" stroke="black"/>
                <path d="M 8,32 L 120,32" fill="none" stroke="black"/>
                <path d="M 272,32 L 424,32" fill="none" stroke="black"/>
                <path d="M 128,78 L 264,78" fill="none" stroke="black"/>
                <path d="M 128,82 L 264,82" fill="none" stroke="black"/>
                <path d="M 128,110 L 264,110" fill="none" stroke="black"/>
                <path d="M 128,114 L 264,114" fill="none" stroke="black"/>
                <path d="M 8,160 L 120,160" fill="none" stroke="black"/>
                <path d="M 272,224 L 424,224" fill="none" stroke="black"/>
                <g class="text">
                  <text x="292" y="52">PE</text>
                  <text x="328" y="68">192.0.2.1</text>
                  <text x="60" y="84">eNodeB</text>
                  <text x="336" y="84">2001:db8::1</text>
                  <text x="220" y="100">VLAN</text>
                  <text x="248" y="100">1</text>
                  <text x="220" y="132">VLAN</text>
                  <text x="248" y="132">2</text>
                  <text x="156" y="148">Direct</text>
                  <text x="160" y="164">Routing</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
.-------------.                  .------------------.
|             |                  | PE               |
|             |                  |  192.0.2.1       |
|   eNodeB    |==================|  2001:db8::1     |
|             |          VLAN 1  |                  |
|             |==================|                  |
|             |          VLAN 2  |                  |
|             | Direct           |                  |
'-------------' Routing          |                  |
                                 |                  |
                                 |                  |
                                 |                  |
                                 '------------------'
]]></artwork>
          </artset>
        </figure>
        <t>An example of a request to create the ACs to service the eNodeB is shown in <xref target="two-acs-same-ce"/>. This example assumes that static addressing is used for both ACs.</t>
        <figure anchor="two-acs-same-ce">
          <name>Example of a Message Body to Request Two ACes on The Same Link (Not Recommended)</name>
          <sourcecode type="json"><![CDATA[
{
   "ietf-ac-svc:attachment-circuits":{
      "ac":[
         {
            "name":"ac1",
            "description":"a first ac with a same peer node",
            "l2-connection":{
               "encapsulation":{
                  "type":"ietf-vpn-common:dot1q"
               },
               "bearer-reference":"line-156"
            },
            "ip-connection":{
               "ipv4":{
                  "address-allocation-type":"ietf-ac-common:static-address"
               },
               "ipv6":{
                  "address-allocation-type":"ietf-ac-common:static-address"
               },
               "routing-protocols":{
                  "routing-protocol":[
                     {
                        "id":"1",
                        "type":"ietf-vpn-common:direct-routing"
                     }
                  ]
               }
            }
         },
         {
            "name":"ac2",
            "description":"a second ac with a same peer node",
            "l2-connection":{
               "encapsulation":{
                  "type":"ietf-vpn-common:dot1q"
               },
               "bearer-reference":"line-156"
            },
            "ip-connection":{
               "ipv4":{
                  "address-allocation-type":"ietf-ac-common:static-address"
               },
               "ipv6":{
                  "address-allocation-type":"ietf-ac-common:static-address"
               },
               "routing-protocols":{
                  "routing-protocol":[
                     {
                        "id":"1",
                        "type":"ietf-vpn-common:direct-routing"
                     }
                  ]
               }
            }
         }
      ]
   }
}
]]></sourcecode>
        </figure>
        <t><xref target="two-acs-same-ce-res"/> shows the message body of a response received from the controller.</t>
        <figure anchor="two-acs-same-ce-res">
          <name>Example of a Message Body of a Response to Create Two ACes on The Same Link (Not Recommended)</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "ac1",
        "description": "a first ac with a same peer node",
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "cvlan-id": 1
            }
          },
          "bearer-reference": "line-156"
        },
        "ip-connection": {
          "ipv4": {
            "local-address": "192.0.2.1",
            "prefix-length": 30,
            "address": [
              {
                "address-id": "1",
                "customer-address": "192.0.2.2"
              }
            ]
          },
          "ipv6": {
            "local-address": "2001:db8::1",
            "prefix-length": 64,
            "address": [
              {
                "address-id": "1",
                "customer-address": "2001:db8::2"
              }
            ]
          }
        },
        "routing-protocols": {
          "routing-protocol": [
            {
              "id": "1",
              "type": "ietf-vpn-common:direct-routing"
            }
          ]
        }
      },
      {
        "name": "ac2",
        "description": "a second ac with a same peer node",
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "cvlan-id": 2
            }
          },
          "bearer-reference": "line-156"
        },
        "ip-connection": {
          "ipv4": {
            "local-address": "192.0.2.1",
            "prefix-length": 30,
            "address": [
              {
                "address-id": "1",
                "customer-address": "192.0.2.2"
              }
            ]
          },
          "ipv6": {
            "local-address": "2001:db8::1",
            "prefix-length": 64,
            "address": [
              {
                "address-id": "1",
                "customer-address": "2001:db8::2"
              }
            ]
          }
        },
        "routing-protocols": {
          "routing-protocol": [
            {
              "id": "1",
              "type": "ietf-vpn-common:direct-routing"
            }
          ]
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
        <t>The example shown <xref target="two-acs-same-ce-res"/> is not optimal as it includes many redundant data. <xref target="two-acs-same-ce-node-profile"/> shows a more compact request that factorizes all the redundant data.</t>
        <figure anchor="two-acs-same-ce-node-profile">
          <name>Example of a Message Body to Request Two ACes on The Same Link (Node Profile)</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac-group-profile": [
      {
        "id": "simple-node-profile",
        "l2-connection": {
          "bearer-reference": "line-156"
        },
        "ip-connection": {
          "ipv4": {
            "local-address": "192.0.2.1",
            "prefix-length": 30,
            "address": [
              {
                "address-id": "1",
                "customer-address": "192.0.2.2"
              }
            ]
          },
          "ipv6": {
            "local-address": "2001:db8::1",
            "prefix-length": 64,
            "address": [
              {
                "address-id": "1",
                "customer-address": "2001:db8::2"
              }
            ]
          }
        },
        "routing-protocols": {
          "routing-protocol": [
            {
              "id": "1",
              "type": "ietf-vpn-common:direct-routing"
            }
          ]
        }
      }
    ],
    "ac": [
      {
        "name": "ac1",
        "description": "a first ac with a same peer node",
        "ac-group-profile": ["simple-node-profile"],
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "cvlan-id": 1
            }
          }
        }
      },
      {
        "name": "ac2",
        "description": "a second ac with a same peer node",
        "ac-group-profile": ["simple-node-profile"],
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "cvlan-id": 2
            }
          }
        }
     }
    ]
  }
}
]]></sourcecode>
        </figure>
        <t>A customer may request adding a new AC by simply referring to an existing per-node AC profile as shown in <xref target="add-ac-same-ce-node-profile"/>. This AC inherits all the data that was enclosed in the indicated per-node AC profile (IP addressing, routing, etc.).</t>
        <figure anchor="add-ac-same-ce-node-profile">
          <name>Example of a Message Body to Add a new AC over an existing link (Node Profile)</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "ac3",
        "description": "a third AC with a same peer node",
        "ac-group-profile": [
          "simple-node-profile"
        ],
        "l2-connection": {
          "encapsulation": {
            "dot1q": {
              "cvlan-id": 3
            }
          },
          "bearer-reference": "line-156"
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="sec-ex-prec">
        <name>Control Precedence over Multiple ACs</name>
        <t>When multiple ACs are requested by the same customer for the same site, the request can tag one of these ACs as "primary" and the other ones as "secondary". An example of such a request is shown in <xref target="ac-precedence"/>. In this example, both ACs are bound to the same "group-id", and the "precedence" data node is set as a function of the intended role of each AC (primary or secondary).</t>
        <figure anchor="multipleac">
          <name>An Example Topology for AC Precedence Enforcement</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="208" width="312" viewBox="0 0 312 208" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,80 L 8,144" fill="none" stroke="black"/>
                <path d="M 40,80 L 40,144" fill="none" stroke="black"/>
                <path d="M 104,64 L 104,96" fill="none" stroke="black"/>
                <path d="M 104,128 L 104,160" fill="none" stroke="black"/>
                <path d="M 272,32 L 272,96" fill="none" stroke="black"/>
                <path d="M 272,128 L 272,192" fill="none" stroke="black"/>
                <path d="M 304,32 L 304,96" fill="none" stroke="black"/>
                <path d="M 304,128 L 304,192" fill="none" stroke="black"/>
                <path d="M 272,32 L 304,32" fill="none" stroke="black"/>
                <path d="M 104,64 L 272,64" fill="none" stroke="black"/>
                <path d="M 8,80 L 40,80" fill="none" stroke="black"/>
                <path d="M 40,96 L 104,96" fill="none" stroke="black"/>
                <path d="M 272,96 L 304,96" fill="none" stroke="black"/>
                <path d="M 40,128 L 104,128" fill="none" stroke="black"/>
                <path d="M 272,128 L 304,128" fill="none" stroke="black"/>
                <path d="M 8,144 L 40,144" fill="none" stroke="black"/>
                <path d="M 104,160 L 272,160" fill="none" stroke="black"/>
                <path d="M 272,192 L 304,192" fill="none" stroke="black"/>
                <g class="text">
                  <text x="156" y="52">ac1:</text>
                  <text x="208" y="52">primary</text>
                  <text x="288" y="68">PE1</text>
                  <text x="192" y="84">bearerX@site1</text>
                  <text x="20" y="116">CE</text>
                  <text x="156" y="148">ac2:</text>
                  <text x="216" y="148">secondary</text>
                  <text x="288" y="164">PE2</text>
                  <text x="192" y="180">bearerY@site1</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
                                 .---.
                 ac1: primary    |   |
            .--------------------+PE1|
.---.       |    bearerX@site1   |   |
|   +-------'                    '---'
|CE |
|   +-------.                    .---.
'---'       |    ac2: secondary  |   |
            '--------------------+PE2|
                 bearerY@site1   |   |
                                 '---'
]]></artwork>
          </artset>
        </figure>
        <figure anchor="ac-precedence">
          <name>Example of a Message Body to Associate a Precedence Level with ACs</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "ac1",
        "description": "Example to illustrate AC precedence usage",
        "group": [
          {
            "group-id": "1",
            "precedence": "ietf-ac-common:primary"
          }
        ],
        "l2-connection": {
          "bearer-reference": "bearerX@site1"
        }
      },
      {
        "name": "ac2",
        "description": "Example to illustrate AC precedence usage",
        "group": [
          {
            "group-id": "1",
            "precedence": "ietf-ac-common:secondary"
          }
        ],
        "l2-connection": {
          "bearer-reference": "bearerY@site1"
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="sec-multiple-ces">
        <name>Create Multiple ACs Bound to Multiple CEs</name>
        <t><xref target="network-example"/> shows an example of CEs that are interconnected by a service provider network.</t>
        <figure anchor="network-example">
          <name>Network Topology Example</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="192" width="504" viewBox="0 0 504 192" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,48 L 8,80" fill="none" stroke="black"/>
                <path d="M 8,112 L 8,144" fill="none" stroke="black"/>
                <path d="M 48,48 L 48,80" fill="none" stroke="black"/>
                <path d="M 48,112 L 48,144" fill="none" stroke="black"/>
                <path d="M 112,32 L 112,160" fill="none" stroke="black"/>
                <path d="M 392,32 L 392,160" fill="none" stroke="black"/>
                <path d="M 456,48 L 456,80" fill="none" stroke="black"/>
                <path d="M 456,112 L 456,144" fill="none" stroke="black"/>
                <path d="M 496,48 L 496,80" fill="none" stroke="black"/>
                <path d="M 496,112 L 496,144" fill="none" stroke="black"/>
                <path d="M 112,32 L 392,32" fill="none" stroke="black"/>
                <path d="M 8,48 L 48,48" fill="none" stroke="black"/>
                <path d="M 456,48 L 496,48" fill="none" stroke="black"/>
                <path d="M 48,64 L 112,64" fill="none" stroke="black"/>
                <path d="M 392,64 L 456,64" fill="none" stroke="black"/>
                <path d="M 8,80 L 48,80" fill="none" stroke="black"/>
                <path d="M 456,80 L 496,80" fill="none" stroke="black"/>
                <path d="M 8,112 L 48,112" fill="none" stroke="black"/>
                <path d="M 456,112 L 496,112" fill="none" stroke="black"/>
                <path d="M 48,128 L 112,128" fill="none" stroke="black"/>
                <path d="M 392,128 L 456,128" fill="none" stroke="black"/>
                <path d="M 8,144 L 48,144" fill="none" stroke="black"/>
                <path d="M 456,144 L 496,144" fill="none" stroke="black"/>
                <path d="M 112,160 L 392,160" fill="none" stroke="black"/>
                <g class="text">
                  <text x="32" y="68">CE1</text>
                  <text x="480" y="68">CE3</text>
                  <text x="256" y="100">Network</text>
                  <text x="24" y="132">CE2</text>
                  <text x="480" y="132">CE4</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
                   .----------------------------------.
      .----.       |                                  |       .----.
      | CE1+-------+                                  +-------+ CE3|
      '----'       |                                  |       '----'
                   |              Network             |
      .----.       |                                  |       .----.
      |CE2 +-------+                                  +-------+ CE4|
      '----'       |                                  |       '----'
                   '----------------------------------'
]]></artwork>
          </artset>
        </figure>
        <t><xref target="multiple-sites"/> depicts an example of the message body of a response to a request to instantiate the various ACs that are shown in <xref target="network-example"/>.</t>
        <figure anchor="multiple-sites">
          <name>Example of a Message Body of a Request to Create Multiple ACs bound to Multiple CEs</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac-group-profile": [
      {
        "id": "simple-profile",
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "cvlan-id": 1
            }
          }
        }
      }
    ],
    "ac": [
      {
        "name": "ac1",
        "description": "First site",
        "ac-group-profile": [
          "simple-profile"
        ],
        "l2-connection": {
          "bearer-reference": "ce1-network"
        }
      },
      {
        "name": "ac2",
        "description": "Second Site",
        "ac-group-profile": [
          "simple-profile"
        ],
        "l2-connection": {
          "bearer-reference": "ce2-network"
        }
      },
      {
        "name": "ac3",
        "description": "Third site",
        "ac-group-profile": [
          "simple-profile"
        ],
        "l2-connection": {
          "bearer-reference": "ce3-network"
        }
      },
      {
        "name": "ac4",
        "description": "Another site",
        "ac-group-profile": [
          "simple-profile"
        ],
        "l2-connection": {
          "bearer-reference": "ce4-network"
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="sec-ex-slice">
        <name>Binding Attachment Circuits to an IETF Network Slice</name>
        <t>This example shows how the AC service model complements <xref target="I-D.ietf-teas-ietf-network-slice-nbi-yang"/> to connect a site to a slice service.</t>
        <t>First, <xref target="slice-vlan-1"/> describes the end-to-end network topology as well the orchestration scopes:</t>
        <ul spacing="normal">
          <li>
            <t>The topology is made up of two sites (site1 and site2), interconnected via a Transport Network (e.g. IP/MPLS Network). A Network Function is deployed within each site in a dedicated IP Subnet.</t>
          </li>
          <li>
            <t>A 5G SMO is responsible for the deployment Network Functions and the indirect management of a local Gateway (i.e., CE device).</t>
          </li>
          <li>
            <t>An IETF Network Slice Controller is responsible for the deployment of IETF Network Slices across the TN.</t>
          </li>
        </ul>
        <t>Network Functions are deployed within each site.</t>
        <figure anchor="slice-vlan-1">
          <name>An Example of a Network Topology Used to Deploy Slices</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="368" width="520" viewBox="0 0 520 368" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 48,144 L 48,176" fill="none" stroke="black"/>
                <path d="M 64,184 L 64,240" fill="none" stroke="black"/>
                <path d="M 80,48 L 80,80" fill="none" stroke="black"/>
                <path d="M 96,144 L 96,208" fill="none" stroke="black"/>
                <path d="M 128,144 L 128,208" fill="none" stroke="black"/>
                <path d="M 168,184 L 168,304" fill="none" stroke="black"/>
                <path d="M 200,176 L 200,208" fill="none" stroke="black"/>
                <path d="M 216,112 L 216,136" fill="none" stroke="black"/>
                <path d="M 232,192 L 232,208" fill="none" stroke="black"/>
                <path d="M 280,64 L 280,80" fill="none" stroke="black"/>
                <path d="M 336,112 L 336,136" fill="none" stroke="black"/>
                <path d="M 384,184 L 384,304" fill="none" stroke="black"/>
                <path d="M 464,48 L 464,80" fill="none" stroke="black"/>
                <path d="M 480,184 L 480,240" fill="none" stroke="black"/>
                <path d="M 496,144 L 496,176" fill="none" stroke="black"/>
                <path d="M 32,80 L 128,80" fill="none" stroke="black"/>
                <path d="M 200,80 L 352,80" fill="none" stroke="black"/>
                <path d="M 424,80 L 504,80" fill="none" stroke="black"/>
                <path d="M 32,112 L 64,112" fill="none" stroke="black"/>
                <path d="M 216,112 L 336,112" fill="none" stroke="black"/>
                <path d="M 480,112 L 512,112" fill="none" stroke="black"/>
                <path d="M 32,144 L 64,144" fill="none" stroke="black"/>
                <path d="M 96,144 L 128,144" fill="none" stroke="black"/>
                <path d="M 200,144 L 232,144" fill="none" stroke="black"/>
                <path d="M 320,144 L 352,144" fill="none" stroke="black"/>
                <path d="M 424,144 L 456,144" fill="none" stroke="black"/>
                <path d="M 480,144 L 512,144" fill="none" stroke="black"/>
                <path d="M 32,176 L 96,176" fill="none" stroke="black"/>
                <path d="M 128,176 L 200,176" fill="none" stroke="black"/>
                <path d="M 352,176 L 424,176" fill="none" stroke="black"/>
                <path d="M 456,176 L 512,176" fill="none" stroke="black"/>
                <path d="M 96,208 L 128,208" fill="none" stroke="black"/>
                <path d="M 200,208 L 232,208" fill="none" stroke="black"/>
                <path d="M 320,208 L 352,208" fill="none" stroke="black"/>
                <path d="M 424,208 L 456,208" fill="none" stroke="black"/>
                <path d="M 216,240 L 336,240" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="512,80 500,74.4 500,85.6" fill="black" transform="rotate(0,504,80)"/>
                <polygon class="arrowhead" points="488,184 476,178.4 476,189.6" fill="black" transform="rotate(270,480,184)"/>
                <polygon class="arrowhead" points="432,80 420,74.4 420,85.6" fill="black" transform="rotate(180,424,80)"/>
                <polygon class="arrowhead" points="392,184 380,178.4 380,189.6" fill="black" transform="rotate(270,384,184)"/>
                <polygon class="arrowhead" points="360,80 348,74.4 348,85.6" fill="black" transform="rotate(0,352,80)"/>
                <polygon class="arrowhead" points="208,80 196,74.4 196,85.6" fill="black" transform="rotate(180,200,80)"/>
                <polygon class="arrowhead" points="176,184 164,178.4 164,189.6" fill="black" transform="rotate(270,168,184)"/>
                <polygon class="arrowhead" points="136,80 124,74.4 124,85.6" fill="black" transform="rotate(0,128,80)"/>
                <polygon class="arrowhead" points="72,184 60,178.4 60,189.6" fill="black" transform="rotate(270,64,184)"/>
                <polygon class="arrowhead" points="40,80 28,74.4 28,85.6" fill="black" transform="rotate(180,32,80)"/>
                <g class="text">
                  <text x="60" y="36">5G</text>
                  <text x="88" y="36">SMO</text>
                  <text x="252" y="36">IETF</text>
                  <text x="288" y="36">NSC</text>
                  <text x="444" y="36">5G</text>
                  <text x="472" y="36">SMO</text>
                  <text x="216" y="52">(TN</text>
                  <text x="288" y="52">Orchestrator)</text>
                  <text x="80" y="100">Site1</text>
                  <text x="240" y="100">Transport</text>
                  <text x="312" y="100">Network</text>
                  <text x="472" y="100">Site2</text>
                  <text x="48" y="132">│NF1│</text>
                  <text x="496" y="132">│NF2│</text>
                  <text x="200" y="164">│</text>
                  <text x="232" y="164">│</text>
                  <text x="320" y="164">│</text>
                  <text x="352" y="164">│</text>
                  <text x="424" y="164">│</text>
                  <text x="456" y="164">│</text>
                  <text x="112" y="180">GW1</text>
                  <text x="220" y="180">PE1│</text>
                  <text x="332" y="180">│PE2</text>
                  <text x="440" y="180">GW2</text>
                  <text x="320" y="196">│</text>
                  <text x="352" y="196">│</text>
                  <text x="424" y="196">│</text>
                  <text x="456" y="196">│</text>
                  <text x="216" y="228">│</text>
                  <text x="336" y="228">│</text>
                  <text x="60" y="260">LAN1</text>
                  <text x="484" y="260">LAN2</text>
                  <text x="64" y="276">198.51.100.0/24</text>
                  <text x="460" y="276">203.0.113.0/24</text>
                  <text x="132" y="324">Physical</text>
                  <text x="188" y="324">Link</text>
                  <text x="224" y="324">ID:</text>
                  <text x="356" y="324">Physical</text>
                  <text x="412" y="324">Link</text>
                  <text x="448" y="324">ID:</text>
                  <text x="168" y="340">bearerX@site1</text>
                  <text x="392" y="340">bearerX@site2</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
      5G SMO                 IETF NSC                 5G SMO
         |               (TN Orchestrator)               |
         |                        |                      |
   <-----+----->        <---------+-------->        <----+---->
       Site1             Transport Network              Site2
   .---.                  .--------------.                 .---.
   │NF1│                  |              |                 │NF2│
   '-+-'   .---.        .---.          .---.        .---.  '-+-'
     |     |   |        │   │          │   │        │   │    |
   --+-----+GW1+--------+PE1│          │PE2+--------+GW2+----+--
       ^   |   |    ^   |   |          │   │   ^    │   │  ^
       |   '---'    |   '-+-'          '-+-'   |    '---'  |
       |            |     │              │     |           |
       |            |     '--------------'     |           |
     LAN1           |                          |          LAN2
198.51.100.0/24     |                          |  203.0.113.0/24
                    |                          |
                    |                          |
            Physical Link ID:           Physical Link ID:
              bearerX@site1               bearerX@site2

]]></artwork>
          </artset>
        </figure>
        <t><xref target="slice-vlan-2"/> describes the logical connectivity enforced thanks to both IETF Network Slice and Attachment Circuit models.</t>
        <figure anchor="slice-vlan-2">
          <name>Logical Overview</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="528" width="576" viewBox="0 0 576 528" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 32,80 L 32,112" fill="none" stroke="black"/>
                <path d="M 80,80 L 80,144" fill="none" stroke="black"/>
                <path d="M 112,80 L 112,144" fill="none" stroke="black"/>
                <path d="M 200,80 L 200,144" fill="none" stroke="black"/>
                <path d="M 224,48 L 224,80" fill="none" stroke="black"/>
                <path d="M 224,144 L 224,176" fill="none" stroke="black"/>
                <path d="M 232,80 L 232,144" fill="none" stroke="black"/>
                <path d="M 288,80 L 288,144" fill="none" stroke="black"/>
                <path d="M 296,48 L 296,80" fill="none" stroke="black"/>
                <path d="M 296,144 L 296,176" fill="none" stroke="black"/>
                <path d="M 320,80 L 320,144" fill="none" stroke="black"/>
                <path d="M 408,80 L 408,144" fill="none" stroke="black"/>
                <path d="M 440,80 L 440,144" fill="none" stroke="black"/>
                <path d="M 480,80 L 480,112" fill="none" stroke="black"/>
                <path d="M 320,32 L 352,32" fill="none" stroke="black"/>
                <path d="M 384,32 L 400,32" fill="none" stroke="black"/>
                <path d="M 16,48 L 48,48" fill="none" stroke="black"/>
                <path d="M 224,48 L 296,48" fill="none" stroke="black"/>
                <path d="M 464,48 L 496,48" fill="none" stroke="black"/>
                <path d="M 16,80 L 48,80" fill="none" stroke="black"/>
                <path d="M 80,80 L 112,80" fill="none" stroke="black"/>
                <path d="M 200,80 L 232,80" fill="none" stroke="black"/>
                <path d="M 288,80 L 320,80" fill="none" stroke="black"/>
                <path d="M 408,80 L 440,80" fill="none" stroke="black"/>
                <path d="M 464,80 L 496,80" fill="none" stroke="black"/>
                <path d="M 16,112 L 80,112" fill="none" stroke="black"/>
                <path d="M 112,112 L 200,112" fill="none" stroke="black"/>
                <path d="M 320,112 L 408,112" fill="none" stroke="black"/>
                <path d="M 440,112 L 512,112" fill="none" stroke="black"/>
                <path d="M 80,144 L 112,144" fill="none" stroke="black"/>
                <path d="M 200,144 L 232,144" fill="none" stroke="black"/>
                <path d="M 288,144 L 320,144" fill="none" stroke="black"/>
                <path d="M 408,144 L 440,144" fill="none" stroke="black"/>
                <path d="M 224,176 L 304,176" fill="none" stroke="black"/>
                <path d="M 112,208 L 200,208" fill="none" stroke="black"/>
                <path d="M 216,208 L 320,208" fill="none" stroke="black"/>
                <path d="M 336,208 L 400,208" fill="none" stroke="black"/>
                <path d="M 216,80 C 224.83064,80 232,87.16936 232,96" fill="none" stroke="black"/>
                <path d="M 304,80 C 295.16936,80 288,87.16936 288,96" fill="none" stroke="black"/>
                <path d="M 216,144 C 224.83064,144 232,136.83064 232,128" fill="none" stroke="black"/>
                <path d="M 304,144 C 295.16936,144 288,136.83064 288,128" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="408,208 396,202.4 396,213.6" fill="black" transform="rotate(0,400,208)"/>
                <polygon class="arrowhead" points="408,32 396,26.4 396,37.6" fill="black" transform="rotate(0,400,32)"/>
                <polygon class="arrowhead" points="344,208 332,202.4 332,213.6" fill="black" transform="rotate(180,336,208)"/>
                <polygon class="arrowhead" points="328,208 316,202.4 316,213.6" fill="black" transform="rotate(0,320,208)"/>
                <polygon class="arrowhead" points="328,32 316,26.4 316,37.6" fill="black" transform="rotate(180,320,32)"/>
                <polygon class="arrowhead" points="224,208 212,202.4 212,213.6" fill="black" transform="rotate(180,216,208)"/>
                <polygon class="arrowhead" points="208,208 196,202.4 196,213.6" fill="black" transform="rotate(0,200,208)"/>
                <polygon class="arrowhead" points="120,208 108,202.4 108,213.6" fill="black" transform="rotate(180,112,208)"/>
                <circle cx="16" cy="272" r="6" class="closeddot" fill="black"/>
                <circle cx="16" cy="400" r="6" class="closeddot" fill="black"/>
                <g class="text">
                  <text x="244" y="36">AS</text>
                  <text x="280" y="36">65536</text>
                  <text x="368" y="36">BGP</text>
                  <text x="420" y="36">AS</text>
                  <text x="456" y="36">65550</text>
                  <text x="32" y="68">│NF1│</text>
                  <text x="156" y="68">192.0.2.0/30</text>
                  <text x="372" y="68">192.0.2.4/30</text>
                  <text x="480" y="68">│NF2│</text>
                  <text x="124" y="100">.1</text>
                  <text x="188" y="100">.2</text>
                  <text x="332" y="100">.6</text>
                  <text x="396" y="100">.5</text>
                  <text x="96" y="116">GW1</text>
                  <text x="216" y="116">PE1</text>
                  <text x="304" y="116">PE2</text>
                  <text x="424" y="116">GW2</text>
                  <text x="152" y="132">vlan-id</text>
                  <text x="360" y="132">vlan-id</text>
                  <text x="152" y="148">100</text>
                  <text x="360" y="148">200</text>
                  <text x="64" y="164">198.51.100.0/24</text>
                  <text x="460" y="164">203.0.113.0/24</text>
                  <text x="220" y="196">sdp1</text>
                  <text x="300" y="196">sdp2</text>
                  <text x="148" y="228">Attachment</text>
                  <text x="240" y="228">Network</text>
                  <text x="296" y="228">Slice</text>
                  <text x="380" y="228">Attachment</text>
                  <text x="136" y="244">Circuit</text>
                  <text x="192" y="244">"ac1"</text>
                  <text x="272" y="244">EMBB_UP</text>
                  <text x="368" y="244">Circuit</text>
                  <text x="424" y="244">"ac2"</text>
                  <text x="48" y="276">"ac1"</text>
                  <text x="120" y="276">properties:</text>
                  <text x="16" y="292">-</text>
                  <text x="96" y="292">bearer-reference:</text>
                  <text x="224" y="292">bearerX@site1</text>
                  <text x="16" y="308">-</text>
                  <text x="60" y="308">vlan-id:</text>
                  <text x="112" y="308">100</text>
                  <text x="16" y="324">-</text>
                  <text x="36" y="324">CE</text>
                  <text x="80" y="324">address</text>
                  <text x="140" y="324">(GW1):</text>
                  <text x="220" y="324">192.0.2.1/30</text>
                  <text x="16" y="340">-</text>
                  <text x="36" y="340">PE</text>
                  <text x="84" y="340">address:</text>
                  <text x="172" y="340">192.0.2.2/30</text>
                  <text x="16" y="356">-</text>
                  <text x="60" y="356">Routing:</text>
                  <text x="124" y="356">static</text>
                  <text x="216" y="356">198.51.100.0/24</text>
                  <text x="296" y="356">via</text>
                  <text x="136" y="372">192.0.2.1</text>
                  <text x="192" y="372">tag</text>
                  <text x="276" y="372">primary_UP_slice</text>
                  <text x="48" y="404">"ac2"</text>
                  <text x="120" y="404">properties:</text>
                  <text x="16" y="420">-</text>
                  <text x="96" y="420">bearer-reference:</text>
                  <text x="224" y="420">bearerY@site2</text>
                  <text x="16" y="436">-</text>
                  <text x="60" y="436">vlan-id:</text>
                  <text x="112" y="436">200</text>
                  <text x="16" y="452">-</text>
                  <text x="36" y="452">CE</text>
                  <text x="80" y="452">address</text>
                  <text x="140" y="452">(GW2):</text>
                  <text x="220" y="452">192.0.2.5/30</text>
                  <text x="16" y="468">-</text>
                  <text x="36" y="468">PE</text>
                  <text x="84" y="468">address:</text>
                  <text x="172" y="468">192.0.2.6/30</text>
                  <text x="16" y="484">-</text>
                  <text x="60" y="484">Routing:</text>
                  <text x="112" y="484">BGP</text>
                  <text x="168" y="484">local-as:</text>
                  <text x="232" y="484">65536</text>
                  <text x="180" y="500">customer-as:</text>
                  <text x="256" y="500">65550</text>
                  <text x="200" y="516">customer-address:</text>
                  <text x="312" y="516">192.0.2.5</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
                             AS 65536  <----BGP--> AS 65550
 .---.                     .--------.                    .---.
 │NF1│       192.0.2.0/30  |        |   192.0.2.4/30     │NF2│
 '-+-'   .---.          .--+.      .+--.          .---.  '-+-'
   |     |   |.1      .2|   |      |   |.6      .5|   |    |
 --+-----+GW1+----------+PE1|      |PE2+----------+GW2+----+----
         |   | vlan-id  |   |      |   | vlan-id  |   |
         '---'   100    '--+'      '+--'   200    '---'
198.51.100.0/24            |        |             203.0.113.0/24
                           '--------+'
                         sdp1      sdp2
             <----------> <------------> <------->
             Attachment   Network Slice   Attachment
             Circuit "ac1"    EMBB_UP     Circuit "ac2"                

 * "ac1" properties:
 - bearer-reference: bearerX@site1
 - vlan-id: 100
 - CE address (GW1): 192.0.2.1/30
 - PE address: 192.0.2.2/30
 - Routing: static 198.51.100.0/24 via
            192.0.2.1 tag primary_UP_slice

 * "ac2" properties:
 - bearer-reference: bearerY@site2
 - vlan-id: 200
 - CE address (GW2): 192.0.2.5/30
 - PE address: 192.0.2.6/30
 - Routing: BGP local-as: 65536
                customer-as: 65550
                customer-address: 192.0.2.5
]]></artwork>
          </artset>
        </figure>
        <t><xref target="slice-acs"/> shows the message body of the request to create the required ACs using the Attachment Circuit module.</t>
        <figure anchor="slice-acs">
          <name>Message Body of a Request to Create Required ACs</name>
          <sourcecode type="json"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
   "ietf-ac-svc:attachment-circuits":{
      "ac":[
         {
            "name":"ac1",
            "description":"Connection to site1 on vlan 100",
            "requested-start":"2023-12-12T05:00:00.00Z",
            "l2-connection":{
               "encapsulation":{
                  "type":"ietf-vpn-common:dot1q",
                  "dot1q":{
                     "tag-type":"ietf-vpn-common:c-vlan"
                  },
                  "bearer-reference":"bearerX@site1"
               },
               "ip-connection":{
                  "ipv4":{
                     "address-allocation-type":"ietf-ac-common:\
                                                      static-address"
                  },
                  "routing-protocols":{
                     "routing-protocol":[
                        {
                           "id":"1",
                           "type":"ietf-vpn-common:static-routing",
                           "static":{
                              "cascaded-lan-prefixes":{
                                 "ipv4-lan-prefixes":[
                                    {
                                       "lan":"198.51.100.0/24",
                                       "next-hop":"192.0.2.1",
                                       "lan-tag":"primary_UP_slice"
                                    }
                                 ]
                              }
                           }
                        }
                     ]
                  }
               }
            }
         },
         {
            "name":"ac2",
            "description":"Connection to site2 on vlan 200",
            "requested-start":"2023-12-12T05:00:00.00Z",
            "l2-connection":{
               "encapsulation":{
                  "type":"ietf-vpn-common:dot1q",
                  "dot1q":{
                     "tag-type":"ietf-vpn-common:c-vlan"
                  }
               },
               "bearer-reference":"bearerY@site2"
            },
            "ip-connection":{
               "ipv4":{
                  "address-allocation-type":"ietf-ac-common:static-\
                                                             address"
               },
               "routing-protocols":{
                  "routing-protocol":[
                     {
                        "id":"1",
                        "type":"ietf-vpn-common:bgp-routing",
                        "bgp":{
                           "neighbor":[
                              {
                                 "id":"1",
                                 "peer-as":65550
                              }
                           ]
                        }
                     }
                  ]
               }
            }
         }
      ]
   }
}
]]></sourcecode>
        </figure>
        <t><xref target="slice-acs-res"/> shows the message body of a reponse received from the controller.</t>
        <figure anchor="slice-acs-res">
          <name>Example of a Message Body of a Response Indicating the Creation of the ACs</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "ac1",
        "description": "Connection to site1 on vlan 100",
        "requested-start": "2023-12-12T05:00:00.00Z",
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "tag-type": "ietf-vpn-common:c-vlan",
              "cvlan-id": 100
            }
          },
          "bearer-reference": "bearerX@site1"
        },
        "ip-connection": {
          "ipv4": {
            "local-address": "192.0.2.2",
            "prefix-length": 30,
            "address": [
              {
                "address-id": "1",
                "customer-address": "192.0.2.1"
              }
            ]
          }
        },
        "routing-protocols": {
          "routing-protocol": [
            {
              "id": "1",
              "type": "ietf-vpn-common:static-routing",
              "static": {
                "cascaded-lan-prefixes": {
                  "ipv4-lan-prefixes": [
                    {
                      "lan": "198.51.100.0/24",
                      "next-hop": "192.0.2.1",
                      "lan-tag": "primary_UP_slice"
                    }
                  ]
                }
              }
            }
          ]
        }
      },
      {
        "name": "ac2",
        "description": "Connection to site2 on vlan 200",
        "requested-start": "2023-12-12T05:00:00.00Z",
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "tag-type": "ietf-vpn-common:c-vlan",
              "cvlan-id": 200
            }
          },
          "bearer-reference": "bearerY@site2"
        },
        "ip-connection": {
          "ipv4": {
            "local-address": "192.0.2.6",
            "prefix-length": 30,
            "address": [
              {
                "address-id": "1",
                "customer-address": "192.0.2.5"
              }
            ]
          }
        },
        "routing-protocols": {
          "routing-protocol": [
            {
              "id": "1",
              "type": "ietf-vpn-common:bgp-routing",
              "bgp": {
                "neighbor": [
                  {
                    "id": "1",
                    "peer-as": 65550,
                    "local-as": 65536 
                  }
                ]
              }
            }
          ]
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
        <t><xref target="slice-prov"/> shows the message body of the request to create the a slice service bound to the ACs created using <xref target="slice-acs"/>. Only references to these ACs are included in the Slice Service request. This example assumes that the module that "glues" the service/AC is also supported by the NSC.</t>
        <figure anchor="slice-prov">
          <name>Message Body of a Request to Create a Slice Service Referring to the ACs</name>
          <sourcecode type="json"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "ietf-network-slice-service:network-slice-services": {
    "slo-sle-templates": {
      "slo-sle-template": [
        {
          "id": "low-latency-template",
          "template-description": "Lowest possible latencey \
                                                 forwarding behavior"
        }
      ]
    },
    "slice-service": [
      {
        "service-id": "Slice URLLC_UP",
        "service-description": "Dedicate TN Slice for URLLC-UP",
        "slo-sle-template": "low-latency-template",
        "status": {},
        "sdps": {
          "sdp": [
            {
              "sdp-id": "sdp1",
              "ac-svc-name": ["ac1"]
            },
            {
              "sdp-id": "sdp2",
              "ac-svc-name": ["ac2"]
            }
          ]
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="sec-ex-cloud">
        <name>Connecting a Virtualized Environment Running in a Cloud Provider</name>
        <t>This example (<xref target="cloud-provider-1"/>) shows how the AC service model can be used to connect a Cloud Infrastructure to a service provider network. This example makes the following assumptions:</t>
        <ol spacing="normal" type="1"><li>
            <t>A customer (e.g., Mobile Network Team or partner) has a virtualized infrastructure running in a Cloud Provider. A simplistic deployment is represented here with a set of Virtual Machines running in a Virtual Private Environment. The deployment and management of this infrastructure is achieved via private APIs that are supported by the Cloud Provider: this realization is out of the scope of this document.</t>
          </li>
          <li>
            <t>The connectivity to the Data Center is achieved thanks to a service based on direct attachment (physical connection), which is delivered upon ordering via an API exposed by the Cloud Provider. When ordering that connection, a unique "Connection Identifier" is generated and returned via the API.</t>
          </li>
          <li>
            <t>The customer provisions the networking logic within the Cloud Provider based on that unique connection Identifier (i.e., logical interfaces, IP addressing, and routing).</t>
          </li>
        </ol>
        <figure anchor="cloud-provider-1">
          <name>An Example of Realization for Connecting a Cloud Site</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="560" width="496" viewBox="0 0 496 560" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 32,32 L 32,272" fill="none" stroke="black"/>
                <path d="M 32,384 L 32,528" fill="none" stroke="black"/>
                <path d="M 488,32 L 488,272" fill="none" stroke="black"/>
                <path d="M 488,384 L 488,528" fill="none" stroke="black"/>
                <path d="M 32,32 L 488,32" fill="none" stroke="black"/>
                <path d="M 56,80 L 88,80" fill="none" stroke="black"/>
                <path d="M 104,80 L 136,80" fill="none" stroke="black"/>
                <path d="M 152,80 L 184,80" fill="none" stroke="black"/>
                <path d="M 56,112 L 88,112" fill="none" stroke="black"/>
                <path d="M 104,112 L 136,112" fill="none" stroke="black"/>
                <path d="M 152,112 L 184,112" fill="none" stroke="black"/>
                <path d="M 64,144 L 384,144" fill="none" stroke="black"/>
                <path d="M 168,176 L 240,176" fill="none" stroke="black"/>
                <path d="M 168,240 L 240,240" fill="none" stroke="black"/>
                <path d="M 32,272 L 192,272" fill="none" stroke="black"/>
                <path d="M 224,272 L 488,272" fill="none" stroke="black"/>
                <path d="M 32,384 L 192,384" fill="none" stroke="black"/>
                <path d="M 224,384 L 488,384" fill="none" stroke="black"/>
                <path d="M 176,400 L 224,400" fill="none" stroke="black"/>
                <path d="M 176,464 L 224,464" fill="none" stroke="black"/>
                <path d="M 32,528 L 488,528" fill="none" stroke="black"/>
                <g class="text">
                  <text x="360" y="52">Cloud</text>
                  <text x="420" y="52">Provider</text>
                  <text x="468" y="52">DC</text>
                  <text x="72" y="100">│VM1│</text>
                  <text x="120" y="100">│VM2│</text>
                  <text x="168" y="100">│VM3│</text>
                  <text x="232" y="100">Virtual</text>
                  <text x="296" y="100">Private</text>
                  <text x="352" y="100">Cloud</text>
                  <text x="80" y="132">│.2</text>
                  <text x="128" y="132">│.5</text>
                  <text x="180" y="132">│.12</text>
                  <text x="304" y="132">198.51.100.0/24</text>
                  <text x="208" y="164">│.1</text>
                  <text x="168" y="196">│</text>
                  <text x="200" y="196">CLOUD</text>
                  <text x="240" y="196">│</text>
                  <text x="284" y="196">BGP_ASN:</text>
                  <text x="344" y="196">65536</text>
                  <text x="204" y="212">│PROVIDER│</text>
                  <text x="264" y="212">BGP</text>
                  <text x="300" y="212">md5:</text>
                  <text x="168" y="228">│</text>
                  <text x="204" y="228">GW</text>
                  <text x="240" y="228">│</text>
                  <text x="372" y="228">"nyxNER_c5sdn608fFQl3331d"</text>
                  <text x="200" y="260">│</text>
                  <text x="216" y="260">^</text>
                  <text x="236" y="260">.2</text>
                  <text x="208" y="276">│-│</text>
                  <text x="200" y="292">│</text>
                  <text x="216" y="292">│</text>
                  <text x="28" y="308">Direct</text>
                  <text x="120" y="308">Interconnection</text>
                  <text x="200" y="308">│</text>
                  <text x="216" y="308">│</text>
                  <text x="60" y="324">connection_id:</text>
                  <text x="212" y="324">│BGP</text>
                  <text x="324" y="324">vlan-id:50</text>
                  <text x="60" y="340">1234-56789</text>
                  <text x="200" y="340">│</text>
                  <text x="216" y="340">│</text>
                  <text x="332" y="340">192.0.2.0/24</text>
                  <text x="200" y="356">│</text>
                  <text x="216" y="356">│</text>
                  <text x="200" y="372">│</text>
                  <text x="216" y="372">│</text>
                  <text x="236" y="372">.1</text>
                  <text x="208" y="388">│-v</text>
                  <text x="156" y="404">If-A</text>
                  <text x="312" y="404">Service</text>
                  <text x="380" y="404">Provider</text>
                  <text x="448" y="404">Network</text>
                  <text x="176" y="420">│</text>
                  <text x="224" y="420">│</text>
                  <text x="176" y="436">│</text>
                  <text x="200" y="436">PE1</text>
                  <text x="224" y="436">│</text>
                  <text x="268" y="436">BGP_ASN:</text>
                  <text x="328" y="436">65550</text>
                  <text x="176" y="452">│</text>
                  <text x="224" y="452">│</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
    .--------------------------------------------------------.
    |                                      Cloud Provider DC |
    |                                                        |
    |  .---. .---. .---.                                     |
    |  │VM1│ │VM2│ │VM3│  Virtual Private Cloud              |
    |  '-+-' '-+-' '-+-'                                     |
    |    │.2   │.5   │.12      198.51.100.0/24               |
    |   -+-----+-----+---+-----------------------            |
    |                    │.1                                 |
    |                .---+----.                              |
    |                │ CLOUD  │ BGP_ASN: 65536               |
    |                │PROVIDER│ BGP md5:                     |
    |                │   GW   │   "nyxNER_c5sdn608fFQl3331d" |
    |                '---+----'                              |
    |                    │ ^ .2                              |
    '--------------------│-│---------------------------------'
                         │ │
 Direct Interconnection  │ │
 connection_id:          │BGP       vlan-id:50
   1234-56789            │ │        192.0.2.0/24
                         │ │
                         │ │ .1
    .--------------------│-v---------------------------------.
    |             If-A.--+--.       Service Provider Network |
    |                 │     │                                |
    |                 │ PE1 │ BGP_ASN: 65550                 |
    |                 │     │                                |
    |                 '-----'                                |
    |                                                        |
    |                                                        |
    |                                                        |
    '--------------------------------------------------------'
]]></artwork>
          </artset>
        </figure>
        <t><xref target="cloud-provider-2"/> illustrates the pre-provisioning logic for the physical connection to the Cloud Provider. After this connection is delivered to the service provider, the network inventory is updated with "bearer-reference" set to the value of the "Connection Identifier".</t>
        <figure anchor="cloud-provider-2">
          <name>Illustration of Pre-provisioning</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="288" width="584" viewBox="0 0 584 288" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 128,64 L 512,64" fill="none" stroke="black"/>
                <path d="M 128,112 L 512,112" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="520,64 508,58.4 508,69.6" fill="black" transform="rotate(0,512,64)"/>
                <polygon class="arrowhead" points="136,112 124,106.4 124,117.6" fill="black" transform="rotate(180,128,112)"/>
                <g class="text">
                  <text x="52" y="36">Customer</text>
                  <text x="544" y="36">Cloud</text>
                  <text x="56" y="52">Orchestration</text>
                  <text x="148" y="52">DIRECT</text>
                  <text x="240" y="52">INTERCONNECTION</text>
                  <text x="340" y="52">ORDERING</text>
                  <text x="400" y="52">(API)</text>
                  <text x="548" y="52">Provider</text>
                  <text x="164" y="100">Connection</text>
                  <text x="240" y="100">Created</text>
                  <text x="292" y="100">with</text>
                  <text x="360" y="100">"Connection</text>
                  <text x="468" y="100">ID:1234-56789"</text>
                  <text x="328" y="132">x</text>
                  <text x="328" y="148">x</text>
                  <text x="328" y="164">x</text>
                  <text x="328" y="180">x</text>
                  <text x="92" y="212">Physical</text>
                  <text x="172" y="212">Connection</text>
                  <text x="260" y="212">1234-56789</text>
                  <text x="316" y="212">is</text>
                  <text x="368" y="212">delivered</text>
                  <text x="424" y="212">and</text>
                  <text x="240" y="228">connected</text>
                  <text x="292" y="228">to</text>
                  <text x="320" y="228">PE1</text>
                  <text x="88" y="260">Network</text>
                  <text x="168" y="260">Inventory</text>
                  <text x="240" y="260">Updated</text>
                  <text x="296" y="260">with:</text>
                  <text x="144" y="276">bearer-reference:</text>
                  <text x="260" y="276">1234-56789</text>
                  <text x="320" y="276">for</text>
                  <text x="392" y="276">PE1/Interface</text>
                  <text x="468" y="276">If-A</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
  Customer                                                       Cloud
Orchestration  DIRECT INTERCONNECTION ORDERING (API)            Provider
               ------------------------------------------------>

               Connection Created with "Connection ID:1234-56789"
               <------------------------------------------------
                                        x
                                        x
                                        x
                                        x

       Physical Connection 1234-56789 is delivered and
                         connected to PE1

       Network  Inventory Updated with:
         bearer-reference: 1234-56789 for PE1/Interface If-A
]]></artwork>
          </artset>
        </figure>
        <t>Next, API workflows can be initiated:</t>
        <ul spacing="normal">
          <li>
            <t>Cloud Provider for the configuration as per (3) above.</t>
          </li>
          <li>
            <t>Service provider network via the Attachment Circuit model. This request can be used in conjunction with additional requests based on L3SM (VPN provisioning) or Network Slice Service model (5G hybrid Cloud deployment).</t>
          </li>
        </ul>
        <t><xref target="cloud-provider-ac"/> shows the message body of the request to create the required ACs to connect the Cloud Provider Virtualized (VM) using the Attachment Circuit module.</t>
        <figure anchor="cloud-provider-ac">
          <name>Message Body of a Request to Create the ACs for Connecting to the Cloud Provider</name>
          <sourcecode type="json"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "ac--BXT-DC-customer-VPC-foo",
        "description": "Connection to Cloud Provider BXT on \
                                              connection 1234-56789",
        "requested-start": "2023-12-12T05:00:00.00Z",
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q"
          },
          "bearer-reference": "1243-56789"
        },
        "ip-connection": {
          "ipv4": {
            "address-allocation-type": "ietf-ac-common:static-\
                                                             address"
          },
          "routing-protocols": {
            "routing-protocol": [
              {
                "id": "1",
                "type": "ietf-vpn-common:bgp-routing",
                "bgp": {
                  "neighbor": [
                    {
                      "id": "1",
                      "peer-as": 65536
                    }
                  ]
                }
              }
            ]
          }
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
        <t><xref target="cloud-provider-ac-res"/> shows the message body of the response received from the provider. Note that this Cloud Provider mandates the use of MD5 authentication for establishing BGP connections.</t>
        <ul empty="true">
          <li>
            <t>The module supports MD5 to basically accommodate the installed BGP base (including by some Cloud Providers). Note that MD5 suffers from the security weaknesses discussed in <xref section="2" sectionFormat="of" target="RFC6151"/> and <xref section="2.1" sectionFormat="of" target="RFC6952"/>.</t>
          </li>
        </ul>
        <figure anchor="cloud-provider-ac-res">
          <name>Message Body of a Response to the Request to Create ACs for Connecting to the Cloud Provider</name>
          <sourcecode type="json"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "ac--BXT-DC-customer-VPC-foo",
        "description": "Connection to Cloud Provider BXT on \
                                              connection 1234-56789",
        "requested-start": "2023-12-12T05:00:00.00Z",
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "tag-type": "ietf-vpn-common:c-vlan",
              "cvlan-id": 50
            }
          },
          "bearer-reference": "1243-56789"
        },
        "ip-connection": {
          "ipv4": {
            "local-address": "192.0.2.1",
            "prefix-length": 24,
            "address": [
              {
                "address-id": "1",
                "customer-address": "192.0.2.2"
              }
            ]
          }
        },
        "routing-protocols": {
          "routing-protocol": [
            {
              "id": "1",
              "type": "ietf-vpn-common:bgp-routing",
              "bgp": {
                "neighbor": [
                  {
                    "id": "1",
                    "peer-as": 65536,
                    "local-as": 65550,
                    "authentication": {
                      "keying-material": {
                        "md5-keychain": "nyxNER_c5sdn608fFQl3331d"
                      }
                    }
                  }
                ]
              }
            }
          ]
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to TBC for the 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 initials="I." surname="Bykov" fullname="Ivan Bykov">
        <organization>Ribbon Communications</organization>
        <address>
          <email>Ivan.Bykov@rbbn.com</email>
        </address>
      </contact>
      <contact initials="Q." surname="Wu" fullname="Qin Wu">
        <organization>Huawei</organization>
        <address>
          <email>bill.wu@huawei.com</email>
        </address>
      </contact>
      <contact initials="K." surname="Ogaki" fullname="Kenichi Ogaki">
        <organization>KDDI</organization>
        <address>
          <email>ke-oogaki@kddi.com</email>
        </address>
      </contact>
      <contact initials="L. A." surname="Munoz" fullname="Luis Angel Munoz">
        <organization>Vodafone</organization>
        <address>
          <email>luis-angel.munoz@vodafone.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+2923bb2LUo+K4x9j+sZj1Qcom0JdmOS5VUlSzJjnrbsiKp
XMnJyc4BSVBCDBIMAEpm2erRY3/Deem3/pb+lP0lPS/rjgUQlOSUa5cxkjIF
rPuaa97WvPR6vbUyKdN4V3T+snf8UhxEZSReZ6M4LcQ4y0V3ryyj4eUknpZi
P8mH86Qsur2o6EW9szi/SoaxWN/bj6Kzjc5aNBjk8RW0RC86a8OojC+yfLEr
inK0tjbKhtNoAj2N8mhc9pK4HPeyWRFdX/TKGFvUPfWG3FPv0fZaMR9MkqJI
smm5mEHlo8PzF2vT+WQQ57trI+hhd22YTYt4WsyLXVHm83gNhrCzFuVxBEN5
M4vzqITahYimI/E6mkYXMfbRWbvO8ncXeTafYbGTs72fXnbW3sULeD3aXRM9
cZbi7OQs8cWrnbcnx/RjG3+sRfPyMsux7JqAZzxPU57g6+wS/h2J59l8GI2i
JKfvWX4RTZOfaTS74k0eTS9i+pBnuP7xKCkzLhlPoiTdFRNupj9QzfyQUaX+
MJusVXs9TYaXUT4SpxmsTVkE+vw/59ME1qOx0zzn6j/8gwv3p3EZ6OxNMYxy
8TKb/hyl8c9iFIuDJAv1eR6n8TibJsPI7iXD6v0LWX0Ew8iKH0pdtGaGZ9Ek
iXPxPMov5kkqXiZ5lI6yQKfH2bvE6a+gmv0B1/z7Bdf8YYrlajp7nomf5oG2
/ziPruME5jW8nGZpdpHEhd1TChDWv54Psh8uqSC3DiBa5slgXhK8yL64n7fJ
EN6KV9ks/ll1F5jBFRXrp1jMGbfT2NFVNBXPF++yK9PUaTIYZFOxn00mc1xc
Og1201ipT5V+yAeDaajdPyVTazXUItiNDJI0hXk7s3bb+PcYer9MxJuL6F1i
mvr3g4Mju6F3cS/LsMgP70ajYEOv5kkh9uAgpOL1fJpZq/Y2G0UAQbGzIVC6
h8cm7U+w9A9XshA3Pc3yCSzJFeCRtWQ6tv4SYm+/d/Z2v3eex/EuNSlR5QsA
EoUYRBVBCqwgzgAXDct5zoMhTCW2H23vcEMAiHG5Ky7LclbsPnyYR9f9i6S8
nA/mRZwjtEB7OMCH+vA/DODHCSLqhzDP6cMFTPEhQm+vhN6Lh9GwV1wNe9fQ
aDYve4TokulF0S/fl9bcXp6eOFM7jedFNEhj8VJVELD19XMtftHZVWZ1gkTM
mdAMq7YZJA+QRjUZ/OPx06fPHnLdtV6vJ6JBUebREDo5vwToA1o2p2UoZvEw
GQMOEJEgAlrIpRohIaUZEB0NrBwSzmKjL6hBLjmE0zuIBazSiGqVl7GY5dlV
gvQP5imyMWxcAWXgawwwL0bzHN+rXp3C63H/or8pjuMSSZ1Lz6jf2MwjSovM
mYxq0UxhgrQT2x3EQFzzQmRXgIyvL+FQ06DgpYiLEqAnKS6BbK2t7UGjmzSJ
4HoVcYkTyhXImd0UP13GUC0XGf3XGUtBFWLgKeT5gt2Ix8kUlgwgFTvb21cl
YdRFMpmlC/g0TOdApWCB4XMej+M8nkKTCQ5kFBfJxVQMLzPsBYYErWAPTrd9
8WOZpMnPuAKyF3eNyoyXKKbVsBbHLCZCTpwCeslhtJdRQQ1FI8C/JdaDnkfx
EBYhtfd0onkWMc6ziZjPLvJohCVgCACuM8BlUwAn6B9mmeUz4BLKGOY4xCpQ
prRIFS7JOI5o3foM2pNkNErjtbWvxBEQqWwEqwoABH9/Jc6GQG6IcTrCMwt0
WvxYQNH9bDqNodhVUi7UOBkACACx3GAhpgx4NLLhvCizCULNVYILPkJCBMXK
OJ8kU0C5MJ1ZlsA8NkUxx0UrNNZ5MZ8OmYX78OH70xf7v3v69MnNzaZuE7iY
C+h+ff+w2NgUsxje7AGlnWaTbA6tLIoyngA5z0fw4RSQIY5ife/s+SkWp3OK
K4VvL2BM19ECxgDLhFPOYQ7i8D0wVkBAxAkNsC/2YNmrC4C7O4gKmFgKABcB
aisFsqV0QKkbwCDTAiCP9gagYMQbiscYDg6BMCxVJC7g27S6NPgRt4/q0MGo
rp5AhC/PATA9sV6kh3KUm3gEEpyamgPwBlMAYJozfIumQyDlUb6gt4wmssE/
aLZxodFScAUk/poC218mtL8IO9EF4OwRwG2GX8vrOObx6f3DQvhCAowCohw6
z8Q4gvEkJYK0u4jWTFUF1cKmACqMR7so5siIl5dRyWdtBkVnOY4N0c98hqU0
0oSSdGyxJBxBhFysKKdqxhtYdppnYBwAC9k1neb5EM5IgTRswROJJViZTgvZ
LS96Hv9zniCi0AMltJUzlNDMbUoEB6aWyGwiJgIMixObwzHO0wWOCTvz24Vm
OhLBd/o+tYtGAHUxHWjC6oh3E4IgQF2IWqu8UFQYnECcBEPcVn8b63z48H/A
gX688/QxHuiYqAMeH2C/vtNnVUIVcwg8yhh+8RkgsMU3sAEFHXU4vdARMc9X
UQ5i5oIQazImnF8KPOC74uTkRJgTAHX2zl8DL56X8yh1mJv1t7SAL3I8Tadx
Gi0EvIHBYu+IHugwAZTG8FI18CoDLCD2QAbFJo4VIlx/+2rvuNgQsADB6i9P
D0U5h0Gl8MeraAFgsY0NnNM73LKTPCuzYZaK9Vfb5ycbpvTRSREPzZ9xOewL
8VMMpwR4VaCX2AzuGcKu6BhuS0huq4OLSIAgLuIpCM0Ip/CqAIhnjDyJI5Yb
cK+pPpFCRFg57RR0uDcV1aaBgi1wAwknZTkSfWzGwj90zADQ5sWc+wWe9eKS
uIMICXSHDgyCa4f2W7eJ7URy1liaRwt9fAsQH2GpkkAokUcZKsJAZllRJMhx
EDK7JglyFDMRg/kMDCZKaQ+QpBQGNVRnCAcFOBaYu8EReHoBqePop/E1QGI6
j3vRaETnWWJiWhAXdQLVmDKEv08KQjDV3oiIgzh5cSEHlEyB7ZoixpVHEXsM
1GO84jOUUWhwooAtSEc4xjmAUzQERgPYHMSbAzh3sFyzNFtg64Vm9AbxMELO
LDikKAgZEsfBGc+APiucGmJ74XxLVEsbOUkQPqYZ7meaMRxqmheNAD0nyLAj
zYKqJRKpdb03V7ASGlUj9aWlBgyfKW0RHN4yjiZVcqqq8QkDvPDggXxHxCDP
gDeboAg55PPCWwkAF4tuYEekKk0tOh1WoJZRCYeAONdkvAguR2DLChiK4S4J
WoOLXlTQehshZr1DCjsWvDobrkQQglHaJpIJaPrEEUb6YCEFg0KaLTRcH4yZ
uDGg0siDJyWyLLreWPKC+O4y4xMCYnseaXGA+RhmAwMMxWW8oqwF48hyS9Qi
dn1onZQVZC5c+Fg4K6kkk5YCkS+YkSxUNAhDbmcVgaioSETrtHHXEZ5JpTGC
5uTsLanHOeIbK0lSQEaJASGWcKkwFTvSlCNuVKUpAKaEOGWUpICpSRFl0Qcj
RvG4ACGAEL2hO0aswLJVrMbkSlewRinygfWSFeJdJV0pUMB3sLD5YkaosAAW
ZoIgPRolEtMg9ZTYg2g7yOYPHrgndBxdZXlhWFhif8Y0vjQuYTVhUMuWFPcr
jkbEDKGIOWRkS2ccWX3U9JRaCTDEWvMU5zWuwLx1uqsYp8oE9h88WFs7SxC6
QqdMQaAkBZFUMEhSDHA8SyMml/aSJFJYjRWJ5fEKFL9gNAz33BLDPg05nuLJ
shCPBWkwtiRXnSv6zSjDFEe0USKtz2MgwTGQF8P2AzJH8EdcpxpRp0pJIAvG
8UodwYcUerV2S/cMdHUa+EBDkF0i72X6yMzaZbnBJ4QKz/ZOYC7PkXYzCPIB
KuazGbBLjvLEARsYxWFEGh484dAlnHggFSOijNAHIAgYlfmg5bJIrKt12YBd
QzVeH7hokF2jCl4WiEmYvm9KcPD5IZgNgEtKSq/JPC0TAPyQXpJldLGO892Q
CoNvHj96dnPTF6+Sd/E1UJVNQ8+hWKUrOPFOL0AF+uKP2TVsdr4pcclsxpow
lmZ5yCwDnhyKGqlUAoEUHtUh4oW9TICUTxUXA82nUlMv2Z3oXYzsscKp1W0S
Z8Sjy4FpTTY0kBQsYxBTkzmCNl1LZHBectRqFESDpcIuLqMkLaQag7Al4oie
wg4bNs03IgzBFHJliujXQ9V5CEc9eDDKoBVsAacMS7pgIX4m7/D0cPSUNOnD
PYuvpG5hGqlXFpMtV5xO4CCEuqp8zIMHfbGvD/8oo6FdRnjsSZ7nFYVG1ZJe
JYCKpHbmMlKzV13jX6SIikdwGHDA7yNE4ZthlG3zKNCRRpzmbHPTmdZRaKBF
xgmPAfyztSnwn+1N0e/3+fefmYHTHPH1ZcYqYIljoL+3J8d63friSJFyH3k7
BL5QWNxQERjYOLmY51IQgINy9vyU6Y3k+dwSeBbgICEKl+ulZTHY3JQOWVI4
MCaB2qiTSkeyonreAa4eAIYKb2eZJ+U9lfyF5voYzzB8wwqQPlGDlhoaajEB
ETGy7OCda4d2DtpmAlVEs960vN6dTpOOi61qTogNEoRlLR0H3ay8t1Wo64M5
S0lpMklI35ptoHRdxI5W5sMHCYfFzc3u2toDYNCY1ISltjFRl3fT7HqqiYtY
//ABuMxppmgufsDp3dwA3/tAHGluMTZAGpRtlZhN+FmSM2i8iIe9+H0PkHNv
GPeoCWBrC9n8Pm+kxLvAoI2IJFJjjd2ZlrGaag1FsFi8tiiAIQ/67f6hrq66
gKGpET1PiBwUJAGoPWRCJslyHvds1WPz6KgdM1k67JHYT7M5KudtAUh1Ykkn
NhEyTQ6xMjVJoKZAQCgZ/ujk6jHyqTmehkGaDd/h+caGpcikeDE+uQy9T363
8zvU5ckGnuI0x8n75RV3nj3+BisqZXBVhb++d7Yh2PSjzUB2vjHHiKRaI80W
VfUpYiEgmQqZKAHOGIyQaQxgGFjgvXx4CaeJV3v9+PXB3oYtdrFS89nO423q
/6uvgCkpWE1KljEkabwhEmGZ2+jzzudcyeSj6lAfPJAI0DBSVAfkf576s2+e
foP8jkPRuVlNXqVSQtF5FpQIvjXqVkKBw8x0ixp2hpkgKWGH+SMYDv5FioBa
5T+Kp7HZTC0f4CUp8JAw3CkrE2oYmRYUQt25ylFKlGq1Pi9I0rdxq7PStrpi
foGDhUqIBGGcTkHckKPeQd82dgJ0H7B1qsf41nazklLtNl5EVThp1IviAXYG
b9fTgumpFDstwViCzw6eROSdnr88cWaQjPLe4GLGN/OAOTymxJZWCPC/Ej9d
LsQxjP3HQin2Xm2fvcaFO9VyizkEfFWOZ+R7XgwqLEf1+OlTGNUQUXrBit69
/Z6CW7QBw/mzdUsfzi8Ug+4AnxWbpl+DJOneJ5nAGoHwPIajhXACk5Badxgh
HAMU/ypcGjU0i/LSHCYalKy647BIm1JrkRTmPkdpm8rFLKFrgn1Xl1K/dDst
lw4FHT3WTVNXruT2N7i/ErOjMAxLBYBvr6eevsM2USNmDfX8i/kYEEYCIIQ3
n5JiqJV0OEa5CKw4FntaCZIurB6cvWGVklw22OYrFDRJb0L2eLYmGo/+JqEZ
wnqoEiI4IeZHWgFiK9Zqk0qLkBzz7KY1zU2p80LkUsTTqyTPptTfRgg6cAJ6
YZSYTtgnmkUDvMpcuMdGsyd42mA7ChqnywYBYsUL+n09fUZzB/oCTpKPd6hg
AAGjEJ3XP56ddzb5X3H8hn6fHv7px6PTwwP8ffbHvVev9I81WeLsj29+fHVg
fpma+29evz48PuDK8FY4r9Y6r/f+0mHq3Xlzcn705njvVSdwS8n8yUAKcMAc
MLStwTYP82TA9O75/sn/9/9uPZaUdHtrC+FVktWt3z2GP64v4yn3lk0BSPhP
1K+sAVIHnpF44xTZ5RlsPSJsBIZL5FjxChNW88FfcWX+tit+PxjOth5/J1/g
hJ2Xas2cl7Rm1TeVyryIgVeBbvRqOu+9lXbHu/cX52+17tbL33+fAkUTva1n
33+3xjCC9xJk2CVVCcViMshSTeiJVUIrKzFKIrzNUJpWi7+RVOKRJFr2BpM6
GtsZZ+rqG1mEAsSK58TL767tAt2aXS7IUgKpDOpP8SddR9s37oXNJyA3ItZJ
gV3GG8zk+swtUkQpMahLYxC9cqIC2NM14V/sBxgwT8vj6HI9wXswT9KRVq4x
j6OUlIuZvrwzPJvD4vRhxmRFQbdLKDvBygxJA6T1Z1WFYaZ0aguj1ZOqNZQM
NDsvkZNaJtpuo43bkIohW08oR6sUmKMAQ6bEy2I+KFAUxEsiJVCgMpa2Wl9x
wljn02gyACke2HW8XFAjv8bD5hpA8eknaUotDGz3MJ6RUOTunryJTn7mbeDr
acnMaXJqGTRYV8p1VzpBibYKDSFhTF5j47WTbSniyKm8G7oZuu8X2bRSUN14
2/ZSkTkVCKIolx1X+Fs8Pgcx0BaCHnUdBlXkLSeQ3hnyQvp6O3j1UScdQpdK
p5qBkBPTHWpGnRLTUfC5q3bL80GUHg2lFZKrlKGLZgW0ikek3S8CHRKgMHuU
hucU2CAmwCdqSoejC0AYJ4d4w5PG6tYQgFvCreKqIrRi0sKGAi1Wgjlye1XY
sJbLX0lGc46ohDdkOAVF/UexvyCa11C8EzA46o8dHnzwZrHYCIyER1DZaRpK
NqbNvM/uv0LzfIT5H4tY0xZHvgWeFnmtcyUxEtDLg2eUKgpgDo1R39rahw/z
IVB94M4SBC8Yg7TfhcWcIdIGHj5Vd2QEiVdZeiVV9+ekoJMFEbuTls+lUeg6
AYAQ52gKMCxICbYXHIzCTXEiL2T1oZVSFinHFE3j4yGRsPvShXHAkdm4vEZS
q28d1XagBpLtitRuqgOoAUsipYBNnCWw08igQD7qofyy8G7ON5B87h9ic0pO
t2VsssRR6r4+LVDwegrRpLrfClylKIlIYtOoKLJhonQP+pYHhmHXg4WnHlHl
JivK9bdMSfnmRjYQtE+EJnGhTLuhUvoUYGeEyFBvSyDtL79rkbrBixKWyQdS
Hcijw7vj6kWTvqgzI/hqi44d/Nhm3jm6uGC9simsUKKUFHyphK6lCjRyAWRc
2CoqZXdnL3PI2o4utVx6F6KhxAgWw3gKglvmQrdW6iCMXso7GoVlXCh0TEQB
DCr6IQRDHjEZxRp9A669AR9cdKOcCkGgmqmBQE22bFJtGwhJy0iGRX0thF0p
6MdLfMmCqHtWWG/ukO94ilCPSW5ZONFGO1hSjwk2wsDGDtovq6GdHNpgs/N4
QxoBngcMaxWXLrUSOG62mECaxDwbcll69eTllMQsldY0hkBIw1uka2mtQnaZ
RPPMfZCSghNz0JTVJBt8AqcxAp4umg4Xlrnj29PTkw08YWv/Fzwiioqri7V+
j5++8B71wXn6lc/9f1v7r//9n/Ll136pj36rqtTePhb8WhXjRuisCt2cqby0
GdwuaqYrh9Vt1YR5qev929qS0SrybYbuLeGyPv9t7aP7vfUgrTX/yPhMrXi3
uQlvqR6HlirUYfAl1fs6tFTCLSOfr3vhjj421F86nBXq22PhRZDDoWOw9mFX
fDUfsq/TH7qH6gaHTde6gEhou3sgQl1M/9BhN4fODft2xMAD4OGGg31iC0l4
O7E3pAOpWEr7OysR4OwP4ZjmsajcSyvrsKZLKMSYwMzFpL+R7Ary4WRCMMpm
pZKI/BYkldHWa8TFAQ8nZvNSmwrVC3/KjqnC+CLquoRmyEQH8a8xPAkLjC6J
VXSn3vhZqRJa8B99cTRlKwHq/ypLRtayoqmFFORZmGFkWbo2H1NS/+PlGaka
2MQ9sCE4OnkVpPxC0JDDc2aSy9W7TtAjZD9kDCXvi237o+DdMYv/9m7pK7+p
LeBHpdUUgOi11Y3lHWVZoukdKy9jp26f5Ide/B4kCFQBMtTM5J2csWMImMxx
UWR9UJmozWLZcGTBp6BAdsAiSvWH2adK/SYkgJhDyx/LMIZCEwpdOehNt6KO
M18YuC0yJaZbZjSXQ5Nv+vcj7Y6xo2saRd8bxdL56REtm99H8UZrBxC+b78Y
5maXF0H3gIV4EdKdq9kUr+lgPaKZZKCH+KKx25VnbxPjTz571dm+Y22jFqG2
RRtkv7Z+106uLcHre63269579aj9AzIndPrjf80Hv7/KGta99+p1vYl3rff2
OGmZD2IFze5ahBaFOnJ3o0UFH2qXVjBPX4+2367CRzk8LtyqAptL5G0rdPWQ
uu0qyG78H0srHB+e7785fvFw/9VRv/LcvYuguGE/2Eefl55vQWrPiTUEWbKv
GviIIoaGxa/twh5fT48pidw2DrprA3CbEcina+ER6+n2ljxUBc0NQTBf+aF6
zy02Fwi4ZHQ7e1MheV1mdeWx+LEA4OvUc71rNl8VR4VyDHCNVWz9OLMBdCNi
bhlcUxCtM905fr2JCpkNaWJI3rfWha26U9GeXaod2y4JGRny6SCdzUQamSiH
NY/t7CBvl/bkhXuHPeigJqATbX/aMcbpqhhfok2SNMo3nGsVKH50ou/v55b9
bvWijdhw7YuQFGyBUZTkYanUKNEcGA/GbWP0n+TpVm4S2VwJVcgHdAs8s5Xx
vgoZpQ95MnQEooqx/wZfY74mlwBk/9S30uEB6ZrT8WQyvGMhPWESea+AjsNx
TmqLyjWS4UFjlEWkxnxjlevIvRpDflhZvgWzNEHqIrG/Vne3h3u3KdkZlsSq
F3mW5mfI9o6WBReISZdZ7vLG2Dapd3Aiw0t9d5hMR8qZZJ22PuObSjTVjio3
mxublhrZ9htQyu6p/ZKujfxAABuS4V4jJJdfqx1bU3gPXulryh4CJlB31Kyt
KbzGZcyXB+Kv5o8e3un+TZdVzwfkCskNcrprWh+hJACSxOLme7uG3wG1iR94
buUC1qNanu80vJ750zp/6/E1x8b3leFhud31ZLRR/aInTA5lMFf6t5eMqpN0
hqOK4RuYRyIDqVR7BeFInr6iqXssRmY2qvD3AsP0zMpFQ7s0iFCzotosl8VW
7WZtGIHJ62nrTzxD97HnqwuODHr6vrEgD0S/XLYBLdddF8hmBIgASXoY4YLq
+rVHmuXqeIw/T2+wwLYq4GmX5gsu+733Ccb8fXUodjmljfA+Cv97D8lnbVtm
65lW1a6CVxzoaAkEcwjU5PsWxQuMOmHaXlZ8COtml15WPJtPy3xhRlMtLocB
nFBwMfGDXPIva36/a84HRy1utSCX0oYChN65aOgESewORXtormYN2EJTslym
lC2aYoa3hB6bJvnVFEHS7cqgWVDggb1i/Ho3EIBLN1U7bditnHEQhsraxfgA
PeCWe2UyaaqUzXgJllTCIaMe2upmpUqqmzbDQ7ibG4wtDLRPkmmv+vWjW1F3
FNp+u3gaARBw4Jfvm8el54PsXmAE+nu7Eejiy0egZS7NNSvBy2O83UB3DZLX
ubq/1PZAiLvQoGJTHL+QwRRYnawvHf3bcckzfCuDvxBbOpH2c8bmTFvfeb63
HA1IeucugveYylJE8f/+cMwtrH0lrFohb4k+XaF7jhH+DEhSkG7K7Md0mWGU
IjZy8EUG5s2BmwcJkaa3Kbsno3MVQ8qaT8Ao2di5WPbNmfSpVP1IC/p4tLu2
1n0JOzuF3tIRDwBKduH9Ll5NlPY9/6Y7Kx4sjwl4paiErWJvCn0DrM0GJ+Rp
X2NZJV00YhAjgA+iMEraWo7N0NBxJdP+2mqUdHMRxyZaU8/4s8TxyDfot+QT
23qFbUrYevyS7+S156kxgLQkC7HeDUoc3Q0FVXZhXKq5jolhTLPwDp7hBs0M
rx8GruKNYOhexuPeKRHqJDt5eHJozN5QXuqiP1VPgc1Cbop1BOieveBNPpDB
cBA0KNaeWkJdTms90GaX5d0D3bYVpOjVwckGG+tKVQDbg6hxkGpF+a7SZRds
KhkMqJEBq5HNc7oV2wvAiRkiSsJ5rJ3ZzV2YicBiHRoFtP7hkevi24Bo6xQ6
oAHJWRW0jZ+0p58DJ50gnHQ2jBLBQIY1T2OfYY/WjkRGEEDysmuMakMC/ZVr
+wpCJQAtNqiAlE1mOBaY5wkaxkUwdk+ghVHL600v6sh4rj0RrchBGowCXhZ9
aZ1uiVjailDOx4pUgcsUFRKvobVeNxl10eDxR3nN6pMFY0StbpCNjsGxVOKV
MERimCak0vKuH3Vr0LU1ZBrDkYnoglObk2lgRa9l6htpzq1uRyOSBVT0I32n
PJ6ndQosdP5N0hE5IZEPtCSzfXGcuY5QVXsktOhXq+3vIt6EuuGfuiSw0uDP
owsrggdrg4iOoy41ty3TCw/goRdqxhwbY2zVdeVY6ulMBy1y7IyrUROVMYDa
/j0f5Q/p5luifOVkx5f6HHwI5j6gNpkHyONsLKMMcbcOuqmFFLGXpspdvikC
hwqQ0HWli8CkjZ2y7YywflhyaLlNrWxUOw+NaiFEwhpPW22GXpOkYMcaWjz2
BB+RRxO+gP0pCawo3EIy5kWRsR9EnOdZXqhjVpgIS+M4KhLpAQULMHynChlQ
Y50yxr5AGqBde2i2VjAq1SrBl6FJbGUngzRMKfgXnmheYKYQzPRUWCR/EMaq
QuuyO3rlOhx9Sx3k//V7/kItf/e/0DUQKEdpSLS8fIKCGG69x/EOoKA+3+iT
rQIj/o4DI6J55tPtx1tsVdr1ZbsuW+TDASZPMBMNw3C92iq0YgAewo72ATm/
VDEhfZVyrRVGn0II9JgaSu3ezY3qk4N6yQsbZqTY1ibUT41bCvqKqCBYONjq
kohJQpDH+ICDTKs9QvLA0XcV3tJsoY4JhsGDtOMeRw6FnzmFEyB6TgAkjy5u
ipGnA2dT4rDGyGgBixX33JPc23jwGSNjKyC4mbNiLg+A9WF6Vkq9PZ4Kv5ds
dq+dAJ+F53fEi2QkeAm1eBoL5XpB1LGxfS6EmAAoPpuTui3L0d+tYXvMLFA7
/AQG/37nGgNRIWa4OGCvOj8UZMkm3mRA4sYklLURCiy/8zK7YAiXwZVw2FBy
MuuvSVepjq2P6CB4UVqB2GViVEgVP+qe9kCjALKS4l1bp8ry05IrvalXhkhe
MadQwNIu3MQwKyVC4PPSsxk8jemR8llVpPxpXOm7PDfZVJeWTb5z2+xuOo61
albKGjB+nxg/W1gKjGhtdwzYOxlJd+DMgQgZV517cqzMpPW78U1kP21k3rRy
hhkg3CTrZcdhyWUIuYJc+GwQIbUnLkI24LgWFL1B10PciCgNjVtMiB85uE1r
FUxr80LG8GQyqoLX0S5r0LXmbs0Lwy5nA+pMWf5x8B0dHJQa2LRCRbhX4mpH
OdIMXfQa+raj6Ns3W8+2gUggzIS/b3+zxde1OAupooDJx+Q4eERMSjLBQx9x
cGz0ihM6zlLtUZEN5jHZCsE5IENUi1o4+8fWmHwq0bNahW0tS+t2NFHh0QPH
XIvl6qDJgc1nFI+x40A9SFTKC5mdpMfAaZDJqpJH5nnO2hsPeFSMJgstu4Mh
4YbWSR6qUXY97apQ2QaFq/XTPDwgO3Xta/UKzaHkQo2wbxCI6rA7vCSV3kl6
LfjU7CKARRh6wI2ppO0qJYBynCEbuZJvVB4DIi9oRmr0QKJJQBoxYlK6LI5V
6w2EnMbt1XOAmnk7ctqAVv4hb5wlU3SZpeQfZgwflGYqpMPC3XUwrhZFp9kE
cBD0Eo/HHFg9XSBMv9DBCVAAueaQwg37KXG0GEjVVMeal41/bHNaWi0pcWCw
b7mHHVpKc9aq8FDBasYEF0OyyyYNorTGjdCDnVhxxNzV5ujcKGvpuMasCxty
DCpaMFqisziW3kuAPhA9kPTLWJtC2SBWlmYigXDknsmIDmfrmIuckwYDpTXL
DV4ddR1m0vJQLnXMGCix1qG8IRhQO8MAMJSTBMPxwJhwKbFNGdFFaopGFJNA
x08mkF6D2oIiG1vCwQ4jR+N+D8I8RdaKoxHS0QFlR3ESMawpOQBYc/YGZJuk
BLGKjDTyRrI0JmUNLYHidGjEVpi9kLE0LkmiIiwQws+IOca6ZNvj2GsoutGz
DfTxj3GSUjqljwJj1Zny3FHb4tWrLMc0JJKJY1QLD8Rf8ebTGENwW7p8symJ
Vzgaus0Jq4QulG73DLm1L/WqRZNZ66IyjmxPC8TNxbNo0lygiIHYJNb1ZE2p
3LEKkBPWd0gGDtQlkgI3gKBbXSTR0eRIWuowGb1xhFGMrMRNePB0pWpk5Wru
GGxWAjSpZwxEm5RJOliTQrYsbpOCFrHAtY7WXOnRQrEW41+Jk0IXGzCOK/oo
RUSOSDzBmDE8QECEfnQpSqXHpQC7AX4k/Z6lKX1gpXbSkqgeZjTJgvlt5qgn
caNb0atQgh62mPdYQuxFozsTFdSZT3/J4IiRBT4omBXIE6WC4a9VN61C2pIB
53q3338YDR/iH90NE9tWBbQ9DxqQYn4yFQ+WbDRR7V6N/hrfW/BX6RTVGPS1
GkviU8Z8JSfyFhFfyRPVHEcS1hezYFInAysUWG0p6NPu5CTSqQn6Wvgiti4U
cA55jHcdkaWONXenZEPJft+ScFr+cUSKxIevMLaiokzkaPeVY9XKq9BtJoBd
Jetx5MuLmUVKNxx9XNBHjp23+CQEosqrXnQ2CB66lcyF8B4bCDPwcKRAL8Ah
81+b8lTD+HfFn+YRyd3QnWa0/pSdbWwK8RwwYx6rqCHA6F5HOeHKg1j5S68/
f3EARcf6mwzXYcKjW+OO30fAG7oZaEp7Pkkhj55KFxNyJVRQSJjFDolvXQ9J
Bqqw27bsyK38RIrBJ7U/ek2hjgXz7NA4ZiA8DJHpJ75e3c1Io1vJIDGC2hUW
1lqJaeKSpODoacNv685lzTWHMnHpVTtWYW0q+VERf9taUhsk2e39Myvup6HB
eHQ/DRlgup/2LB6ruTFR01hrhrZSsLm/hs6+sMOfETtsIXPFD/tUpIH93XNE
LIcwbFJUHLmHkoZKUiFR9+5yukMq10bg7FrJGRFp2qYhVGDTRrTyDd+VVm9R
ze3vcmwteX9Dja2OjZO3RtHe1NfWuo3IruuHuFJBmhXStgLkIpmxM3pQejbW
DUsvD+Tg1G2ZMzyF7LthTLlsFEZXPkzRmm0s+cRNoPf5O00xIxmcRuodZXzl
p48fq9vEIHat67wt5TZrxfzBk2fPHoH8YS8MhmV6pxamQgG7jcjaGx7RetUh
iwqzGacsY65NDxPXLxq+i0up+liYOEnS4YW8aHRjaFwhnZmIGTH3xAiw2AlF
DeUg8Sru+Kuk4GR7rygYVreeTtQts2ZznEmpgPJq5eSWYqhQVXCjZjmJ9VSh
YvGDxDMPz9TJUQgHE3hx6HRg/a8It3NIcn2a6JyGLS2tG+6Hp4dnfNVNdxg5
sac2L0U3C+R4l1vj8pgrLeBZfnHWVQNiNjjVblRK2iZjFlrYXK7J+lGXg0wb
inLTfFHMDV/rsARysJFYv0izQZRuhNpCbygMzoiioxXyV8cgU2OXQUCda3We
tMq6g8aKfnYXsqTxJ0jINZjkC/c/lBLSk1ai4UwqVro+K9CV61BY0oOyblDq
eSsRRV+QXK1okCtcw9J0SYqG84ZmlZJft4y6FPYc/WNO185S7wyj6vbX1PWh
/Cb1xiUmCfHj/WMl3iNZjFSvngozMFcUWW2ph02QlXESCwoEZDgime/AEszU
iu+LE206R+iBDf+kaDhUax02F7VysdXbmqqY6CEzFiM5ejFMdYgOjCeScMY8
xUrhX8A8qGQi2vrx5NBSnsmNNvZK9pCSok5AFOtF7ExXe8x1yTcRI9Elwzk6
o0oa7+5TzTq5ymYDAr8qjbOw2Wax5Plk3o2/PV9FzvASt3RWVKU/obdi1V2x
RnDScoQH8UqWcFCPPp1nfDPUSsNeQzVCRzMA9f7BdFDkr+NQfiq51/PIVM52
PsDqkiFn03DJdo5lYb+t2zlu3c5z63auW8tHqFINwfE3nm3BlaruuRDmZZ2/
GxQYzDEnFZZQ41rdba7R+beKxeqdE83Zr3PZlY5h8ryQx99f1V+E3dUfgVGY
erV0IFS4ZtA8YmKI/SdY0lN48X76WjDDFcvnN6xQsjCsDo8SYPpXumENuCvY
aUK9G8Wug9MqduXyJk2246Sck6nw5AXP7X0puO4X03Y2r7oPA+KAbPtpjYlb
dXhPhsWBvu7fyHhZJ/ZcLALmQr1GdFouy+MJWjmaYMG1udW9bIJVgdc9JW5X
yvk2yy1Ng5X01xL1lA5BdWJIpQcHnB9KeeMm00tM1ayUSHg8qmE2MYT9vuAW
jdukFdlGJ+lhV8nRAnBNMiSCUPEEUjYCGKIMdS6oowDwGXA8bo+maHwbWSnM
S03utCPWu9i6mS+sEWDoecc1ilWEpJwgxh9b42PNC8OJ7AtHeA748nYVj9DV
uKLMjAuX5d3Hxtg6HLWnQWCFzZ5xzLCzUeiN1XkRyS7e8BOVw6C0A81hOcNh
w638oWwmMorfa+Viwm5N2L8mL3tqtmR4idSFuqtqKBXQabuNhsQXXY/LMIpa
PhWRN8de5eoDG3FYDz4AZLGIi5lyQsCuw3P4ZXa4jGQ2vK95ecGfgbnwPsEb
tUvMVnjfC28Xvc+Da5msEMQ/FZh936RT0ZyD1GPBVKQey52wa7kA32zLBQte
tYeCRGppfIVG3FbOMDfYFkUf13YGsCHRrJinfJmk7VYQzuYwlNScfUoG90Ka
QAar2dkRJT0tpLWIb1tA/DCg7usYTaK51JHl0KjCmb/aO+4dHRQbWM/SSrv9
M3ctMakZIyxuhj7RESmslc06K1tnRTwfZejUZ2Kmn+SYvCQW0KexuXh78gqN
LnBBdMH4z2Usc6i8opu2vTyOtFHQ+ts/QwsbofVzTLeCzmj2xlISJ3PorIjA
V8T0mTj4TAR0VtiRSiVldAwAFggBOqW9NAAKGu+1sQf6on74JOqHL2qF26kV
/sX6gFWk8FoBWtsNGURmf9YlTDwk/dRoEUwIsazc+qf3xbQXXegYS/UNGd33
VRpNZfSmORyUrafBLmd5kiGp7HFalbt1Lk2gkqk/CbFaO7p4ISch6iYh/OmG
S0qlPBJjxmAb31eHvovfGfvrYnXrUSlZLSjCgNC4dbqOoXPBQsbObajjc+Gs
d7abi4+jvAdyE8HEtAq49giuZq525776ftCm7/ewmcHvpsg06XlBCxsGIRyE
NtGB2NpsiFsXGFcZ/Q0nAqS33DWvwjB1NZv6cCQMHGH4MhNjjR4rohl/rYJy
KECafGripImVQqX9N9AKWpy30goGuPrWSkEpGBydNMoEO0omcAUcSyZYLgFA
FwHm37bVdZj0OYZ8phTXUu5Gnhd9y/AnwyVsjspN9ck4S/b5Pjq5ekwD4MT3
xlLCifNB6SiS2dVjSzayYhJXHK2oVcfrWHKxCjxWUGqrz9CifR7wxU2AKOQc
HFKHmPaLqOMlMQFMqRYXINZiSeR+GgOeZ5y876Xx9KK89DgN50HE+CzYhGy+
J9OxKpmsdlxLKP+6106FygqJFCWoBtCi1ZYaG8WsCzVlYdnpfDKI83B79gi5
XC8b9+QQelYszzoOw+onfo/666Ss7UlUxAydZLyhivA3ZJZlKfDF+I/PFler
6tqyuHldFwo0WJskihqIq9ZpC6t1vQErUHcMqlXU064zCUDa+n90OZwtgR8s
0rMv/ZZvcKVKm2nEAIDSP7lp6NQ22tsuasYt5Lg1lOnRmADU1SqiApx2tYZa
wia6LhfUXEs9LTaO5sN0y5yZwFSEd1bgmKhTEzwpgSqtzkhwvSxs0TglTWWe
+lTmqUtlhMe1OFTR5Vt26vkWsY4kcqOBfSF6+7Q9vX36S9Bbu9kVF3EZqRZm
W9XGPQ1tnGhDqldu7PakWqxCqu1xhUm1aEeqhSoZJtX6RwtSrX80kGq7zG1J
daWfIKm2S4l2pNqrUtmQBlJdrSpWINUNtWtJdbBOW1it662OVAerqKddZ8tJ
td1JC1LtjakNqa6ZRg2p9odeR6rtHy1JtfejJan2foh2pLpaSz0tNm45qfbG
spRUi7oqrc5IcL0CpLo6JVElv09vSX6fNpFf9kSR/i2sK8CLTNedjS7YKN4K
JXlXsjcUdJ3cUL9Q0bnYOgblsqDMTijJjiWMm6TE0iecCij3m3Ec4aSkdwPr
Ht5YxhCWN7I0zalJIy3rsnNRtZZy7CnRXkTH8ZERBCjhtkp8XR/aVDlcqNZV
6CBSs9R769iOeHZ8RHL+o1CjlcC9Mti3MrPQIchUjzqYGLkN+LMVl9FVLE14
rNB0dkR1SoJECbpUoDYytmBFjmpvXd5k89mju/ANfX2L8TC0agj9o2TpwcVM
F31zdvJCvc+K2Vh/ODrrHZ2pL0mRFPoLLsrpkW4tT1RrfYxARpGNjN+4667j
g6rvCFY1o9GBAwDQC5kF1QpcZ1tweK6G7EmmDBI0IKgLaH9HvlyFfrkK/XIV
6j8rXYV+OlPicBEvc5XN4bXIX2UXD9zNLpWYPDRWBEfz0R+Qj/yq2+9VXHI7
qofDJKDaiidD6/JABNoUbmgBiUL70oAt2he+ynO/tPgFr45sjksxgYp5a31h
9BXxfGdMv13WzyLfyqmISnlh5lw/IlMp6E/UMN0vRy1c8a5HTRLRqBhGI6Bc
aIDAip6KAsFZP9Tw2WVhdvCnmMbvy95lNgvMU5hD0axDq44OW9bLrjWW3PXS
mmgUUpMjrFpejR9fVi74q8UnGOR8yJBRvbmvlveyP1XXRomNgWRV1cJes42Z
oxpqt09lFR5vOLNVaN9l8VsNV9e+3XCNGnZ1sFXPUv2tp/UIge3TJrAVK4Kt
WA1sxYpgK1qArV1sKdjqN7cCW6/27eDAjHc52HrFbzVccVuwXYnhkYwFiMKf
OSekuZMAI6DjKLncRmteZa/wdE5BZqOSSa0SuMIORqLCVpM5C55b9JOTp9Nz
vFEhIuGLsiDvTBZjdJ3H/J5QSSWHsqxnYoz1CAK+G1qOnCTkkQ754cEngaed
VTHae600TBiyEbEMr66C9riJ9ewc4ZTKOY/VxDU24Tw0PJcuZt2K8lEXVWhd
vqNCbU93g7PSyHhErALzBq3iqD5/cWClJJD57/g3j5+Me8wEoGSZL7BpxliB
teAPgdRHcaglnY0O62gXPeXqxSXZXU2l8pHp1F+e1CSU4FBEuj+VSaK2b+NI
aKfhtoypKAwRBe0cxRvkmac1fBiG8CoZzWWoeKd9hhpm11Frxjy6Upoxg47v
G7lzWfwLa+6M/dchBVsKnmrWav5voFRFp2YX1h1WtSx1TInNFcp7bCvDMDFB
UdHjW9HmPmmMduWVaquLl3E0SdKmjNi1w7ayIzcYyAZ6nuNVQJlUczXbZXVx
xoUOAA+yLI2j5VXfxRjBrDeJKKtf2lBeV1ln5+LKJZ9XWMjbsSjz78OqBT+6
M+lFmTWZ5VPxGomyHkwL2KRkunyM1p9QqUe1dvWvXsNOu9OcjJ6sME8o/QuM
sc4QoFpcWPDhG2XXcvsNbVQsPZrPfrUNirCYAb92gZzQ5WT5ollP47FVwk9y
cTnI8josLuopS4NspVT66KYduIatRwbiDohEVDF0rWqEnt53QCUewv8sxG/9
pnjny4e4AooWt8fP4pbIWbRFraKCjdrhVbveUqTqjakBowqzTQ3o1C51O1wa
bKEZkXpV1NMaQ1WmFkahwZEtwZ/3PrQGzOl2cQu0WddAa5wZbKCCMEXbE9Ks
zGivpfnoNriKzkNXvbV+ZhXlzB00M3dRy/yaNC2+UKfULCgNttatnJmAmjIe
CSV9k8EqKRCkHcYHk69w6k0ZQcKy2zERYNm04nz/pLf3RiY7ii27kqigoJKq
VThWgs69VqJoAcxN+0KJkan3mcqhQSnqTcZSjr5stUgxM6y+++KP2XV8hams
grbFpqZMA8NZ0C1d0iBeZGT4ozPnYTSQZ1u/+x2uGqZ1SBfiLJ6Ojg7YNiUe
XsHPdZMiags748V+8s32Ex2ZFBM9of0LS/ja/IVFfPrSKOOrCl+EfGfsvw4h
fzXN7624LVkpjyPXNZUxY1aiecs/59GorqZ9t8BP0MzZ9LRcXr6VpLySjNxe
OmZGDsbc03xIk0hmD6S3VGS8Db9TM7KW8uLdJMW7yYi3ZHaWcjrt71Bve3t6
FwanNXdzW9bmLnzNL8upVEiTzjSHVG0lmxVpCco0UhuCMo3kT41EUtX4QiSd
sf9aieTnxPbflSjLmlzAfvOFwH4hsF8I7GdOYO9MMl1HH59MKYLJJG41ione
EdKpJ7FvjfF9I7GUxb/QSmfsv1Za+QspuO5CFr8QuM+BwH0hUf89SNRSquPj
e+1ccLSCQrnrHvUuGTe51mIYDWKTwjhQ5sEBhmZS3C/VSmSgYSuKOQUgDaRT
0vpn2/huFLMrZqy7hClcbUul6/bjJzuoq8VpHaPF3ct4Kl2pxTq8nF5sWOPS
w1DGbbKRR5g8TwXkfXt6esJElUNgkfmXEwdLRXlF40ccjwkCfaKcMNexlQ2l
Gf7dN89ubtAFk2O1rn/4gPvn0eONLwT5C0H+pHqc1cm3aMTibqu1WFz/XhGL
e/VWRZRmdE1Y3Cu44uBEeyyuMXPl6CvUjChjRXHgzd5rdcUUTdr5+EPBqo8/
RjgPePVD8z2Vi9W6HNSBAn/Tjs2/jtTKEouNR25MzvGoJq7RZZaOEF5V6JuK
8qMZH7RBBrfCBHdBA+1wwK0QwKo8nAL8+/AdtU+yVsIDQlgNhZzJsSiH0XjY
Do9QYR+P6HQIAWRiZS/VC2BhlS/IxN39zxGZtPOCVnK8TtptYx7zuiYGqmTN
8RwF5H4LDSzinI9pTfgkfxhqK4P4bF1+rA1OpuNGqYINKMovWxutSQ6/kiq9
jttVg9HRNOoHo2emy9aqJtxnmUaiHW6ysYN2GVOHflUExYk2pLPMdTv0NLj2
MRMnYqmJXRRyNUMvskk5DyTYUtGdX5//SImRBosS88Ur9y7OkIbTn8W9MusB
VhoAJbhORuVlwDsqmXLaHl3GmGiJ9aQf9zfFCCabZpFdZpxnE5nExMuyU2aw
LU4woyIp4w01piGNadY8JkATSwc1n9UNyelYJznWIKNGikOiWM51a8VRkmoG
rVzm8ngG8gzCzEjMC5njXOwDuknQDgYmBvsyYZXAKQZYWt8/OpWhjA7fY7bZ
tWqRQyoi9/Mkjt4FmjmBMjIYNWbs5hBXXT3AHvIbHOFJhbr+kkPlN0oSWzF3
/AEwjqNi8Zhw00DwyLju74xYEGd+bzdgxAJVDRYfEaZJVq0L6v7kd/4QYou9
8uterE9RoahwPIaZFcxPhGgplKCM2m4cP1Ehpbq0lZnj2fLySW7llXj6eHmF
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

-->

</rfc>
