<?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.8 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-opsawg-teas-attachment-circuit-09" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.20.1 -->
  <front>
    <title abbrev="ACaaS">YANG Data Models for Bearers and 'Attachment Circuits'-as-a-Service (ACaaS)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-teas-attachment-circuit-09"/>
    <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="2024" month="April" day="04"/>
    <area>Operations and Management</area>
    <workgroup>OPSAWG</workgroup>
    <keyword>Slice Service</keyword>
    <keyword>L3VPN</keyword>
    <keyword>L2VPN</keyword>
    <abstract>
      <?line 116?>

<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 122?>

<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 (SFs) <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 (usually via a Provider Edge (PE)), 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 <xref section="1.2" sectionFormat="of" 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 greatly simplifies the provisioning of value-added services delivered over an attachment circuit. For example, management systems of adjacent domains that need to connect via an AC will use such means to agree upon the resources that are required for the activation of both sides of an AC (e.g., Layer 2 tags, IP address family, or IP subnets).</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, an SF, 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 <xref target="RFC9543"/>).</t>
        <t>The "ietf-ac-svc" module (<xref target="sec-ac-module"/>) 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 ACs over which services are delivered has the merit of decorrelating 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). 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.</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 (<xref target="sec-bearer-module"/>). The customers can then retrieve a provider-assigned bearer reference that they will include in their AC service requests. Likewise, a customer may retrieve whether their bearers support a synchronization mechanism such as Sync Ethernet (SyncE) <xref target="ITU-T-G.781"/>. An example of retrieving a bearer reference is provided in <xref target="ex-create-bearer"/>.</t>
        <t>An AC service request can provide a reference to a bearer or a set of peer Service Attachment Points (SAPs) <xref target="RFC9408"/>. Both schemes are supported in the AC service model. When several bearers are available, the AC service request may filter them based on the bearer type, synchronization support, etc.</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 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. However, these details are exposed at the network model per <xref target="I-D.ietf-opsawg-ntw-attachment-circuit"/>. <xref target="I-D.ietf-opsawg-ac-lxsm-lxnm-glue"/> specifies augmentations to the L2VPN Service Model (L2SM) <xref target="RFC8466"/> and the L3VPN Service Model     (L3SM) <xref target="RFC8299"/> to bind LxVPN services to ACs.</t>
        <t>The AC service model does not make any assumptions about the internal structure or even the nature or the services that will be delivered over an attachment circuit or a set of attachment circuits. Customers do not have access to that network view other than the ACs that they ordered. For example, the AC service model can be used to provision a set of ACs to connect multiple sites (Site1, Site2, ..., SiteX) for customer who also requested VPN services. If the provisioning of these services requires 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>Create an AC over an existing bearer <xref target="ac-bearer-exist"/>.</t>
          </li>
          <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"/>). Note that the AC model can be used between service providers for other interconnection purposes.</t>
          </li>
        </ul>
        <t>The examples provided in <xref target="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="positioning-acaas-vs-other-data-models">
        <name>Positioning ACaaS vs. Other Data Models</name>
        <t>The AC model specified in this document is not a network model <xref target="RFC8969"/>. As such, the model does not expose details related to specific nodes in the provider's network that terminate an AC (e.g., network node identifiers). 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 is not a device model. 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 in relevant network nodes.</t>
        <section anchor="why-not-use-the-l2sm-as-reference-data-model-for-acaas">
          <name>Why Not Use the L2SM as Reference Data Model for ACaaS?</name>
          <t>The L2VPN Service Model (L2SM) <xref target="RFC8466"/> covers some AC-related considerations. Nevertheless, the L2SM structure is primarily focused on Layer 2 aspects. For example, the L2SM does not cover Layer 3 provisioning, which is required for the typical AC instantiation.</t>
        </section>
        <section anchor="why-not-use-the-l3sm-as-reference-data-model-for-acaas">
          <name>Why Not Use the L3SM as Reference Data Model for ACaaS?</name>
          <t>Like the L2SM, the L3VPN Service Model (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 peer groups 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>LxSM refers to both the L2SM and the L3SM.</t>
      <t>LxNM refers to both the L2NM and the L3NM.</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 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 VPN, or 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 VPN, or Network Slice Services).</t>
        </dd>
      </dl>
    </section>
    <section anchor="relationship-to-other-ac-data-models">
      <name>Relationship to Other AC Data Models</name>
      <t><xref target="ac-overview"/> depicts the relationship between the various AC data models:</t>
      <ul spacing="normal">
        <li>
          <t>"ietf-ac-common" (<xref target="I-D.ietf-opsawg-teas-common-ac"/>)</t>
        </li>
        <li>
          <t>"ietf-bearer-svc" (<xref target="sec-ac-module"/>)</t>
        </li>
        <li>
          <t>"ietf-ac-svc" (<xref target="sec-bearer-module"/>)</t>
        </li>
        <li>
          <t>"ietf-ac-ntw" (<xref target="I-D.ietf-opsawg-ntw-attachment-circuit"/>)</t>
        </li>
        <li>
          <t>"ietf-ac-glue" (<xref target="I-D.ietf-opsawg-ac-lxsm-lxnm-glue"/>)</t>
        </li>
      </ul>
      <figure anchor="ac-overview">
        <name>AC Data Models</name>
        <artset>
          <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="256" width="368" viewBox="0 0 368 256" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 32,144 L 32,240" fill="none" stroke="black"/>
              <path d="M 56,80 L 56,112" fill="none" stroke="black"/>
              <path d="M 72,144 L 72,176" fill="none" stroke="black"/>
              <path d="M 144,48 L 144,80" fill="none" stroke="black"/>
              <path d="M 192,40 L 192,112" fill="none" stroke="black"/>
              <path d="M 240,48 L 240,80" fill="none" stroke="black"/>
              <path d="M 328,80 L 328,160" fill="none" stroke="black"/>
              <path d="M 328,192 L 328,240" fill="none" stroke="black"/>
              <path d="M 56,80 L 144,80" fill="none" stroke="black"/>
              <path d="M 240,80 L 328,80" fill="none" stroke="black"/>
              <path d="M 104,128 L 128,128" fill="none" stroke="black"/>
              <path d="M 72,176 L 264,176" fill="none" stroke="black"/>
              <path d="M 32,240 L 120,240" fill="none" stroke="black"/>
              <path d="M 240,240 L 328,240" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="336,192 324,186.4 324,197.6" fill="black" transform="rotate(270,328,192)"/>
              <polygon class="arrowhead" points="248,48 236,42.4 236,53.6" fill="black" transform="rotate(270,240,48)"/>
              <polygon class="arrowhead" points="200,40 188,34.4 188,45.6" fill="black" transform="rotate(270,192,40)"/>
              <polygon class="arrowhead" points="152,48 140,42.4 140,53.6" fill="black" transform="rotate(270,144,48)"/>
              <polygon class="arrowhead" points="136,128 124,122.4 124,133.6" fill="black" transform="rotate(0,128,128)"/>
              <polygon class="arrowhead" points="112,128 100,122.4 100,133.6" fill="black" transform="rotate(180,104,128)"/>
              <polygon class="arrowhead" points="80,144 68,138.4 68,149.6" fill="black" transform="rotate(270,72,144)"/>
              <polygon class="arrowhead" points="40,144 28,138.4 28,149.6" fill="black" transform="rotate(270,32,144)"/>
              <g class="text">
                <text x="188" y="36">ietf-ac-common</text>
                <text x="48" y="132">ietf-ac-svc</text>
                <text x="200" y="132">ietf-bearer-svc</text>
                <text x="320" y="180">ietf-ac-ntw</text>
                <text x="180" y="244">ietf-ac-glue</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="center"><![CDATA[
                ietf-ac-common
                 ^     ^     ^
                 |     |     |
      +----------+     |     +----------+
      |                |                |
      |                |                |
ietf-ac-svc <--> ietf-bearer-svc        |
   ^    ^                               |
   |    |                               |
   |    +------------------------ ietf-ac-ntw
   |                                    ^
   |                                    |
   |                                    |
   +----------- ietf-ac-glue -----------+
]]></artwork>
        </artset>
      </figure>
      <t>"ietf-ac-common" is imported  by "ietf-bearer-svc", "ietf-ac-svc", and "ietf-ac-ntw".
Bearers managed using "ietf-bearer-svc" may be referenced in the service ACs managed using "ietf-ac-svc".
Similarly, a bearer managed using "ietf-bearer-svc" may list the set of ACs that use that bearer.
In order to ease correlation between an AC service requests and the actual AC provisioned in the network, "ietf-ac-ntw" uses the AC references exposed by "ietf-ac-svc".
To bind Layer 2 VPN or Layer 3 VPN services with ACs, "ietf-ac-glue" augments the LxSM and LxNM with AC service references exposed by "ietf-ac-svc" and AC network references exposed bt "ietf-ac-ntw".</t>
    </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 CE can be either a physical device or a logical entity. Such logical entity is typically a software component (e.g., a virtual service function that is hosted within the provider's network or a third-party infrastructure). A CE is seen by the network as a peer 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 SFs <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) <xref target="RFC5798"/>). Note that placement constraints may also be requested during the instantiation of the underlying bearers (<xref target="sec-bearer"/>).</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,32 L 8,80" fill="none" stroke="black"/>
                <path d="M 8,112 L 8,160" fill="none" stroke="black"/>
                <path d="M 72,32 L 72,80" 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="412" y="52">AC</text>
                  <text x="36" y="68">CE#1</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 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. <xref target="I-D.ietf-opsawg-ac-lxsm-lxnm-glue"/> specifies augmentations to the L2SM and the L3SM to bind LxVPN services to ACs.</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., the L3VPN Network Model (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="sec-bearer">
        <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 physical or logical link (e.g., Link Aggregation Group (LAG) <xref target="IEEE802.1AX"/>). Also, 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 an SF).</t>
        <figure anchor="bearer-st">
          <name>Bearer Service Tree Structure</name>
          <artwork align="center"><![CDATA[
module: ietf-bearer-svc

  +--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* [name]
        +--rw name                 string
        +--rw description?         string
        +--rw groups
        |  +--rw group* [group-id]
        |     +--rw group-id    string
        +--rw op-comment?          string
        +--rw bearer-parent-ref?   bearer-svc:bearer-ref
        +--ro bearer-lag-member*   bearer-svc:bearer-ref
        +--ro sync-phy-capable?    boolean
        +--rw sync-phy-enabled?    boolean
        +--rw sync-phy-type?       identityref
        +--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 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
           |  +--ro 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, SF, 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., Point of Presence (PoP) or 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) <xref target="IEEE802.1AB"/>) 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 data model 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>'name':</dt>
          <dd>
            <t>Used to uniquely identify a bearer. This name 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>'group':</dt>
          <dd>
            <t>Tags a bearer with one ore more identifiers that are used to group a set of bearers.</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>'bearer-parent-ref':</dt>
          <dd>
            <t>Specifies the parent bearer. This data node can be used, e.g., if a bearer is a member of a LAG.</t>
          </dd>
          <dt>'bearer-lag-member':</dt>
          <dd>
            <t>Lists the bearers that are members of a LAG. Members can be declared as part of a LAG using 'bearer-parent-ref'.</t>
          </dd>
          <dt>'sync-phy-capable':</dt>
          <dd>
            <t>Reports whether a synchronization physical (Sync PHY) mechanism is supported for this bearer.</t>
          </dd>
          <dt>'sync-phy-enabled':</dt>
          <dd>
            <t>Indicates whether a Sync PHY mechanism is enabled for a bearer. Only applies when 'sync-phy-capable' is set to 'true'.</t>
          </dd>
          <dt>'sync-phy-type':</dt>
          <dd>
            <t>Specifies the Sync PHY mechanism (e.g., SynchE <xref target="ITU-T-G.781"/>) enabled for the bearer.</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>'type':</dt>
          <dd>
            <t>Specifies the bearer type (Ethernet, wireless, LAG, 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 'name' 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. These status values differing should trigger the detection of an anomaly condition.</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, e.g., the
"pyang" tool <xref target="PYANG"/>.  That tree is not included here because it is
too long (<xref section="3.4" sectionFormat="of" target="I-D.ietf-netmod-rfc8407bis"/>).  Instead, subtrees are provided
for the reader's convenience. The full tree of the 'ac-svc' is provided in <xref target="AC-svc-Tree"/>.</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 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 definitions 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 ACs. 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 avoidance of connecting two ACs 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-parent-ref?       ac-svc:attachment-circuit-reference
        +--ro child-ac-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-parent-ref':</dt>
            <dd>
              <t>Specifies an AC that is inherited by an attachment circuit.</t>
            </dd>
            <dt/>
            <dd>
              <t>In contexts where dynamic terminating points are managed for a given AC,
a parent AC can be defined with a set of stable and common information, while
"child" ACs are defined to track dynamic information. These "child" ACs are bound to the parent AC, which is exposed to services (as a stable reference).</t>
            </dd>
            <dt/>
            <dd>
              <t>Whenever a parent AC is deleted, all its "child" ACs <bcp14>MUST</bcp14> be deleted.</t>
            </dd>
            <dt>'child-ac-ref':</dt>
            <dd>
              <t>Lists one or more references of child ACs that rely upon this attachment circuit as a parent AC.</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 ACs. 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 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. Moreover, the module supports VRRP (<xref target="sec-vrrp-rtg"/>).</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 ospf
        |     |  ...
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |        ...
        +--rw oam
        |  ...
        +--rw security
        |  ...
        +--rw service
           ...
]]></artwork>
            </figure>
            <section anchor="sec-static-rtg">
              <name>Static Routing</name>
              <t>The static 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 bfd-profile?   bfd-profile-reference
        |     |     |  +--rw status
        |     |     |     +--rw admin-status
        |     |     |     |  +--rw status?        identityref
        |     |     |     |  +--ro last-change?   yang:date-and-time
        |     |     |     +--ro oper-status
        |     |     |        +--ro status?        identityref
        |     |     |        +--ro last-change?   yang:date-and-time
        |     |     +--rw ipv6-lan-prefixes* [lan next-hop]
        |     |             {vpn-common:ipv6}?
        |     |        +--rw lan         inet:ipv6-prefix
        |     |        +--rw lan-tag?    string
        |     |        +--rw next-hop    union
        |     |        +--rw metric?     uint32
        |     |        +--rw bfd-profile?   bfd-profile-reference
        |     |        +--rw status
        |     |           +--rw admin-status
        |     |           |  +--rw status?        identityref
        |     |           |  +--ro last-change?   yang:date-and-time
        |     |           +--ro oper-status
        |     |              +--ro status?        identityref
        |     |              +--ro last-change?   yang:date-and-time
        |     +--rw bgp
        |     |  ...
        |     +--rw ospf
        |     |  ...
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |        ...
]]></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>'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>'bfd-profile':</dt>
                <dd>
                  <t>Indicates a BFD profile that applies for this entry.</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 enabled?            boolean
        |     |  |        +--rw keying-material
        |     |  |           +--rw (option)?
        |     |  |              +--:(ao)
        |     |  |              |  +--rw enable-ao?          boolean
        |     |  |              |  +--rw ao-keychain?
        |     |  |              |          key-chain:key-chain-ref
        |     |  |              +--:(md5)
        |     |  |              |  +--rw md5-keychain?
        |     |  |              |          key-chain:key-chain-ref
        |     |  |              +--:(explicit)
        |     |  |                 +--rw key-id?             uint32
        |     |  |                 +--rw key?                string
        |     |  |                 +--rw crypto-algorithm?
        |     |  |                         identityref
        |     |  +--rw neighbor* [id]
        |     |     +--rw id                string
        |     |     +--rw remote-address?   inet:ip-address
        |     |     +--ro local-address?    inet:ip-address
        |     |     +--rw peer-group?
        |     |     |       -> ../../peer-groups/peer-group/name
        |     |     +--rw bfd-profile?      bfd-profile-reference
        |     |     +--ro local-as?         inet:as-number
        |     |     +--rw peer-as?          inet:as-number
        |     |     +--rw address-family?   identityref
        |     |     +--rw authentication
        |     |     |  +--rw enabled?            boolean
        |     |     |  +--rw keying-material
        |     |     |     +--rw (option)?
        |     |     |        +--:(ao)
        |     |     |        |  +--rw enable-ao?          boolean
        |     |     |        |  +--rw ao-keychain?
        |     |     |        |          key-chain:key-chain-ref
        |     |     |        +--:(md5)
        |     |     |        |  +--rw md5-keychain?
        |     |     |        |          key-chain:key-chain-ref
        |     |     |        +--:(explicit)
        |     |     |           +--rw key-id?             uint32
        |     |     |           +--rw key?                string
        |     |     |           +--rw crypto-algorithm?   identityref
        |     |     +--rw status
        |     |        +--rw admin-status
        |     |        |  +--rw status?        identityref
        |     |        |  +--ro last-change?   yang:date-and-time
        |     |        +--ro oper-status
        |     |           +--ro status?        identityref
        |     |           +--ro last-change?   yang:date-and-time
        |     +--rw ospf
        |     |  ...
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |        ...
]]></artwork>
              </figure>
              <t>The following data nodes are supported for each BGP 'peer-group':</t>
              <dl>
                <dt>'name':</dt>
                <dd>
                  <t>Defines a name for the peer group.</t>
                </dd>
                <dt>'local-as':</dt>
                <dd>
                  <t>Indicates a local AS Number (ASN).</t>
                </dd>
                <dt>'peer-as':</dt>
                <dd>
                  <t>Indicates the peer's ASN.</t>
                </dd>
                <dt>'address-family':</dt>
                <dd>
                  <t>Indicates the address family of the peer. It can be set to 'ipv4', 'ipv6', or 'dual-stack'.</t>
                </dd>
                <dt/>
                <dd>
                  <t>This address family might be used together with the service type that uses an AC (e.g., 'vpn-type' <xref target="RFC9182"/>) to derive the appropriate Address Family Identifiers (AFIs) / Subsequent Address Family Identifiers (SAFIs) that will be part of the derived device configurations (e.g., unicast IPv4 MPLS L3VPN (AFI,SAFI = 1,128) as defined in <xref section="4.3.4" sectionFormat="of" target="RFC4364"/>).</t>
                </dd>
                <dt>'local-address':</dt>
                <dd>
                  <t>Specifies an address or a reference to an interface to use when establishing the BGP transport session.</t>
                </dd>
                <dt>'authentication':</dt>
                <dd>
                  <t>The module adheres to the recommendations in <xref section="13.2" sectionFormat="of" target="RFC4364"/>, as it allows enabling the TCP Authentication Option (TCP-AO) <xref target="RFC5925"/> and accommodates the installed base that makes use of MD5. In addition, the module includes a provision for using IPsec.</t>
                </dd>
                <dt/>
                <dd>
                  <t>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 (<xref section="3.1" sectionFormat="of" target="RFC5925"/>).</t>
                </dd>
              </dl>
              <t>For each neighbor, the following data nodes are supported in addition to similar parameters that are provided for a peer group:</t>
              <dl>
                <dt>'remote-address':</dt>
                <dd>
                  <t>Specifies the remote IP address of a BGP neighbor.</t>
                </dd>
                <dt>'peer-group':</dt>
                <dd>
                  <t>A name of a peer group.</t>
                </dd>
                <dt/>
                <dd>
                  <t>Parameters that are provided at the 'neighbor' level takes precedence over the ones provided in the peer group.</t>
                </dd>
                <dt>'bfd-profile':</dt>
                <dd>
                  <t>Indicates a BFD profile that applies for a BGP neighbor.</t>
                </dd>
                <dt>'status':</dt>
                <dd>
                  <t>Indicates the status of the BGP routing instance.</t>
                </dd>
              </dl>
            </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 enabled?            boolean
        |     |  |  +--rw keying-material
        |     |  |     +--rw (option)?
        |     |  |        +--:(auth-key-chain)
        |     |  |        |  +--rw key-chain?
        |     |  |        |          key-chain:key-chain-ref
        |     |  |        +--:(auth-key-explicit)
        |     |  |           +--rw key-id?             uint32
        |     |  |           +--rw key?                string
        |     |  |           +--rw crypto-algorithm?   identityref
        |     |  +--rw status
        |     |     +--rw admin-status
        |     |     |  +--rw status?        identityref
        |     |     |  +--ro last-change?   yang:date-and-time
        |     |     +--ro oper-status
        |     |        +--ro status?        identityref
        |     |        +--ro last-change?   yang:date-and-time
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |        ...
]]></artwork>
              </figure>
              <t>The following OSPF data nodes are supported:</t>
              <dl>
                <dt>'address-family':</dt>
                <dd>
                  <t>Indicates whether IPv4, IPv6, or both address families are to be activated.</t>
                </dd>
                <dt>'area-id':</dt>
                <dd>
                  <t>Indicates the OSPF Area ID.</t>
                </dd>
                <dt>'metric':</dt>
                <dd>
                  <t>Associates a metric with OSPF routes.</t>
                </dd>
                <dt>'sham-links':</dt>
                <dd>
                  <t>Used to create OSPF sham links between two ACs sharing the same area and having a backdoor link (<xref section="4.2.7" sectionFormat="of" target="RFC4577"/> and <xref section="5" sectionFormat="of" target="RFC6565"/>).</t>
                </dd>
                <dt>'authentication':</dt>
                <dd>
                  <t>Controls the authentication schemes to be enabled for the OSPF instance. The following options are supported: IPsec for OSPFv3 authentication <xref target="RFC4552"/>, and the Authentication Trailer for OSPFv2 <xref target="RFC5709"/><xref target="RFC7474"/> and OSPFv3 <xref target="RFC7166"/>.</t>
                </dd>
                <dt>'status':</dt>
                <dd>
                  <t>Indicates the status of the OSPF routing instance.</t>
                </dd>
              </dl>
            </section>
            <section anchor="sec-isis-rtg">
              <name>IS-IS</name>
              <t>The IS-IS 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
        |     |  ...
        |     +--rw ospf
        |     |  ...
        |     +--rw isis
        |     |  +--rw address-family?   identityref
        |     |  +--rw area-address      area-address
        |     |  +--rw authentication
        |     |  |  +--rw enabled?            boolean
        |     |  |  +--rw keying-material
        |     |  |     +--rw (option)?
        |     |  |        +--:(auth-key-chain)
        |     |  |        |  +--rw key-chain?
        |     |  |        |          key-chain:key-chain-ref
        |     |  |        +--:(auth-key-explicit)
        |     |  |           +--rw key-id?             uint32
        |     |  |           +--rw key?                string
        |     |  |           +--rw crypto-algorithm?   identityref
        |     |  +--rw status
        |     |     +--rw admin-status
        |     |     |  +--rw status?        identityref
        |     |     |  +--ro last-change?   yang:date-and-time
        |     |     +--ro oper-status
        |     |        +--ro status?        identityref
        |     |        +--ro last-change?   yang:date-and-time
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |      ...
]]></artwork>
              </figure>
              <t>The following IS-IS data nodes are supported:</t>
              <dl>
                <dt>'address-family':</dt>
                <dd>
                  <t>Indicates whether IPv4, IPv6, or both address families are to be activated.</t>
                </dd>
                <dt>'area-address':</dt>
                <dd>
                  <t>Indicates the IS-IS area address.</t>
                </dd>
                <dt>'authentication':</dt>
                <dd>
                  <t>Controls the authentication schemes to be enabled
   for the IS-IS instance.  Both the specification of a key chain
   <xref target="RFC8177"/> and the direct specification of key and authentication
   algorithms are supported.</t>
                </dd>
                <dt>'status':</dt>
                <dd>
                  <t>Indicates the status of the IS-IS routing instance.</t>
                </dd>
              </dl>
            </section>
            <section anchor="sec-rip-rtg">
              <name>RIP</name>
              <t>The RIP 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 enabled?            boolean
        |     |  |  +--rw keying-material
        |     |  |     +--rw (option)?
        |     |  |        +--:(auth-key-chain)
        |     |  |        |  +--rw key-chain?
        |     |  |        |          key-chain:key-chain-ref
        |     |  |        +--:(auth-key-explicit)
        |     |  |           +--rw key?                string
        |     |  |           +--rw crypto-algorithm?   identityref
        |     |  +--rw status
        |     |     +--rw admin-status
        |     |     |  +--rw status?        identityref
        |     |     |  +--ro last-change?   yang:date-and-time
        |     |     +--ro oper-status
        |     |        +--ro status?        identityref
        |     |        +--ro last-change?   yang:date-and-time
        |     +--rw vrrp
        |      ...
]]></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="sec-vrrp-rtg">
              <name>VRRP</name>
              <t>The model 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
        |           |  +--ro last-change?   yang:date-and-time
        |           +--ro oper-status
        |              +--ro status?        identityref
        |              +--ro last-change?   yang:date-and-time
]]></artwork>
              </figure>
              <t>The following data nodes are supported:</t>
              <dl>
                <dt>'address-family':</dt>
                <dd>
                  <t>Indicates whether IPv4, IPv6, or both address
    families are to be activated.  Note that VRRP version 3 <xref target="RFC5798"/>
    supports both IPv4 and IPv6.</t>
                </dd>
                <dt>'status':</dt>
                <dd>
                  <t>Indicates the status of the VRRP instance.</t>
                </dd>
              </dl>
              <t>Note that no authentication data node is included for VRRP, as there
isn't any type of VRRP authentication at this time (see <xref section="9" sectionFormat="of" target="RFC5798"/>).</t>
            </section>
          </section>
          <section anchor="sec-oam">
            <name>Operations, Administration, and Maintenance (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 profile?    bfd-profile-reference
        |     +--rw holdtime?   uint32
        |     +--rw status
        |        +--rw admin-status
        |        |  +--rw status?        identityref
        |        |  +--ro last-change?   yang:date-and-time
        |        +--ro oper-status
        |           +--ro status?        identityref
        |           +--ro last-change?   yang:date-and-time
        +--rw security
        |  ...
        +--rw service
           ...
]]></artwork>
            </figure>
            <t>This version of the module supports BFD. The following BFD data nodes can be specified:</t>
            <dl>
              <dt>'profile':</dt>
              <dd>
                <t>Refers to a BFD profile.</t>
              </dd>
              <dt>'holdtime':</dt>
              <dd>
                <t>Used to indicate the expected BFD holddown time, in milliseconds.</t>
              </dd>
              <dt>'status':</dt>
              <dd>
                <t>Indicates the status of the BFD over an AC.</t>
              </dd>
            </dl>
          </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>
            <t>The 'security' container specifies the authentication and the encryption to be applied to traffic for a given AC. Tthe model can be used to directly control the encryption to be applied (e.g., Layer 2 or Layer 3 encryption) or invoke a local encryption profile.</t>
          </section>
          <section anchor="sec-bw">
            <name>Service</name>
            <t>The structure of the 'service' container is depicted in <xref target="bw-tree"/>.</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 svc-pe-to-ce-bandwidth {vpn-common:inbound-bw}?
           |  +--rw bandwidth* [bw-type]
           |     +--rw bw-type      identityref
           |     +--rw (type)?
           |        +--:(per-cos)
           |        |  +--rw cos* [cos-id]
           |        |     +--rw cos-id    uint8
           |        |     +--rw cir?      uint64
           |        |     +--rw cbs?      uint64
           |        |     +--rw eir?      uint64
           |        |     +--rw ebs?      uint64
           |        |     +--rw pir?      uint64
           |        |     +--rw pbs?      uint64
           |        +--:(other)
           |           +--rw cir?   uint64
           |           +--rw cbs?   uint64
           |           +--rw eir?   uint64
           |           +--rw ebs?   uint64
           |           +--rw pir?   uint64
           |           +--rw pbs?   uint64
           +--rw svc-ce-to-pe-bandwidth {vpn-common:outbound-bw}?
           |  +--rw bandwidth* [bw-type]
           |     +--rw bw-type      identityref
           |     +--rw (type)?
           |        +--:(per-cos)
           |        |  +--rw cos* [cos-id]
           |        |     +--rw cos-id    uint8
           |        |     +--rw cir?      uint64
           |        |     +--rw cbs?      uint64
           |        |     +--rw eir?      uint64
           |        |     +--rw ebs?      uint64
           |        |     +--rw pir?      uint64
           |        |     +--rw pbs?      uint64
           |        +--:(other)
           |           +--rw cir?   uint64
           |           +--rw cbs?   uint64
           |           +--rw eir?   uint64
           |           +--rw ebs?   uint64
           |           +--rw pir?   uint64
           |           +--rw pbs?   uint64
           +--rw qos {vpn-common:qos}?
           |  +--rw qos-profiles
           |     +--rw qos-profile* [profile]
           |        +--rw profile      qos-profile-reference
           |        +--rw direction?   identityref
           +--rw access-control-list
              +--rw acl-profiles
                 +--rw acl-profile* [profile]
                    +--rw profile    forwarding-profile-reference
]]></artwork>
            </figure>
            <t>The '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' and'svc-ce-to-pe-bandwidth':</dt>
              <dd>
                <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>
              <dt/>
              <dd>
                <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>
              </dd>
              <dt>'qos':</dt>
              <dd>
                <t>Specifies a list of QoS profiles to apply for this AC.</t>
              </dd>
              <dt>'access-control-list':</dt>
              <dd>
                <t>Specifies a list of ACL profiles to apply for this AC.</t>
              </dd>
            </dl>
          </section>
        </section>
      </section>
    </section>
    <section anchor="yang-modules">
      <name>YANG Modules</name>
      <section anchor="sec-bearer-module">
        <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 Data Models for Bearers and 'Attachment
                  Circuits'-as-a-Service (ACaaS)";
  }

  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) 2024 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

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

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

  revision 2023-11-13 {
    description
      "Initial revision.";
    reference
      "RFC XXXX: YANG Data Models for Bearers and 'Attachment
                  Circuits'-as-a-Service (ACaaS)";
  }

  // Typedef to ease referencing cross-modules

  typedef bearer-ref {
    type leafref {
      path "/bearer-svc:bearers/bearer-svc:bearer/bearer-svc:name";
    }
    description
      "Defines a type to reference a bearer.";
  }

  // 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 lag {
    base bearer-type;
    description
      "Link Aggregation Group (LAG).";
  }

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

  identity syncPHY-type {
    description
      "Base identity for physical layer synchronization.";
  }

  identity syncE {
    base syncPHY-type;
    description
      "Sync Ethernet (SyncE).";
    reference
      "ITU-T G.781: Synchronization layer functions for frequency
                    synchronization based on the physical layer";
  }

  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 "name";
      description
        "Maintains a list of bearers.";
      leaf name {
        type string;
        description
          "A name that uniquely identifies a bearer for
           a given customer.";
      }
      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.";
      }
      leaf bearer-parent-ref {
        type bearer-svc:bearer-ref;
        description
          "Specifies the parent bearer. This can be used, e.g.,
           for a Link Aggregation Group (LAG).";
      }
      leaf-list bearer-lag-member {
        type bearer-svc:bearer-ref;
        config false;
        description
          "Reports LAG members.";
      }
      leaf sync-phy-capable {
        type boolean;
        config false;
        description
         "Indicates when set to true that a mechanism for physical
          layer synchronization is supported for this bearer. No such
          mechanism is supported if set to false.";
      }
      leaf sync-phy-enabled {
        type boolean;
        description
         "Indicates when set to true that a mechanism for physical
          layer synchronization is enabled for this bearer. No such
          mechanism is enabled if set to false.";
      }
      leaf sync-phy-type {
        when "../sync-phy-enabled='true'";
        type identityref {
          base syncPHY-type;
        }
        description
          "Type of the physical layer synchronization.";
      }
      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, "
          + "'bearer-svc:device-id') or "
          + "derived-from-or-self(../identified-by, "
          + "'bearer-svc: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, "
          + "'bearer-svc:site-id') or "
          + "derived-from-or-self(../identified-by, "
          + "'bearer-svc: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, "
             + "'bearer-svc: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 type {
        type identityref {
          base bearer-type;
        }
        description
          "Type of the 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 ac-common:service-status;
    }
  }
}
<CODE ENDS>
]]></sourcecode>
      </section>
      <section anchor="sec-ac-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) 2024 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

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

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

  revision 2023-11-13 {
    description
      "Initial revision.";
    reference
      "RFC XXXX: YANG Data Models for Bearers and 'Attachment
                  Circuits'-as-a-Service (ACaaS)";
  }

  /* 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-svc:ac-group-profile"
         + "/ac-svc: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 reference to an encryption profile.";
  }

  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 reference to a QoS profile.";
  }

  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 reference to a BFD profile.";
  }

  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 reference to a forwarding profile.";
  }

  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 reference to a routing profile.";
  }

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

  /******************** 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.";
      }
    }
  }

  // Static routing with BFD

  grouping ipv4-static-rtg-with-bfd {
    description
      "Configuration specific to IPv4 static routing with
       BFD.";
    list ipv4-lan-prefixes {
      if-feature "vpn-common:ipv4";
      key "lan next-hop";
      description
        "List of LAN prefixes for the site.";
      uses ac-common:ipv4-static-rtg-entry;
      leaf bfd-profile {
        type bfd-profile-reference;
        description
          "Points to a BFD profile.";
      }
      uses ac-common:service-status;
    }
  }

  grouping ipv6-static-rtg-with-bfd {
    description
      "Configuration specific to IPv6 static routing with
       BFD.";
    list ipv6-lan-prefixes {
      if-feature "vpn-common:ipv4";
      key "lan next-hop";
      description
        "List of LAN prefixes for the site.";
      uses ac-common:ipv4-static-rtg-entry;
      leaf bfd-profile {
        type bfd-profile-reference;
        description
          "Points to a BFD profile.";
      }
      uses ac-common:service-status;
    }
  }

  //  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.";
      }
      leaf bfd-profile {
        type bfd-profile-reference;
        description
          "Points to a BFD profile.";
      }
      uses ac-common:bgp-peer-group-without-name;
      uses ac-common:bgp-authentication;
      uses ac-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 ac-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 ac-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 ac-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 ac-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 ipv4-static-rtg-with-bfd;
          uses ipv6-static-rtg-with-bfd;
        }
      }
      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.";
        leaf profile {
          type bfd-profile-reference;
          description
            "Points to a BFD profile.";
        }
        uses ac-common:bfd;
        uses ac-common:service-status;
      }
    }
    container security {
      description
        "AC-specific security parameters.";
      uses ac-security-basic;
    }
    container service {
      description
        "AC-specific bandwith parameters.";
      uses bandwidth;
      container qos {
        if-feature "vpn-common:qos";
        description
          "QoS configuration.";
        container qos-profiles {
          description
            "QoS profile configuration.";
          list qos-profile {
            key "profile";
            description
              "Points to a QoS profile.";
            leaf profile {
              type qos-profile-reference;
              description
                "QoS profile to be used.";
            }
            leaf direction {
              type identityref {
                base vpn-common:qos-profile-direction;
              }
              description
                "The direction to which the QoS profile
                 is applied.";
            }
          }
        }
      }
      container access-control-list {
        description
          "Container for the Access Control List (ACL).";
        container acl-profiles {
          description
            "ACL profile configuration.";
          list acl-profile {
            key "profile";
            description
              "Points to an ACL profile.";
            leaf profile {
              type forwarding-profile-reference;
              description
                "Forwarding profile to be used.";
            }
          }
        }
      }
    }
  }

  /******************** 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-parent-ref {
        type ac-svc:attachment-circuit-reference;
        description
          "Specifies the parent AC that is inherited by an AC.
           In contexts where dynamic terminating points are 
           bound to the same AC, a parent AC with stable
           information is created with a set of child ACs
           to track dynamic AC information.";
      }
      leaf-list child-ac-ref {
        type ac-svc:attachment-circuit-reference;
        config false;
        description
          "Specifies a child AC that relies upon a parent AC.";
      }
      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>This section uses the template described in Section 3.7 of <xref target="I-D.ietf-netmod-rfc8407bis"/>.</t>
      <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.
   Specifically, the following subtrees and data nodes have particular
sensitivities/vulnerabilities in the "ietf-bearer-svc" module:</t>
      <dl>
        <dt>'placement-constraints':</dt>
        <dd>
          <t>An attacker who is able to access this data node can modify the
   attributes to influence how a service is delivered to a customer, and
   this leads to Service Level Agreement (SLA) violations.</t>
        </dd>
        <dt>'bearer':</dt>
        <dd>
          <t>An attacker who is able to access this data node can modify
   the attributes of bearer and, thus, hinder how ACs are built.</t>
        </dd>
        <dt/>
        <dd>
          <t>In addition, an attacker could attempt to add a new bearer or
   delete existing ones. An attacker may also change the requested
   type or the activation scheduling.</t>
        </dd>
      </dl>
      <t>The following subtrees and data nodes have particular
sensitivities/vulnerabilities in the "ietf-ac-svc" module:</t>
      <dl>
        <dt>'specific-provisioning-profiles':</dt>
        <dd>
          <t>This container includes a set of sensitive data that influence
 how an AC will be delivered. For example, an attacker who has access
 to these data nodes may be able to manipulate routing policies, QoS
 policies, or encryption properties.</t>
        </dd>
        <dt/>
        <dd>
          <t>These profiles are defined with "nacm:default-deny-write"
 tagging <xref target="I-D.ietf-opsawg-teas-common-ac"/>.</t>
        </dd>
        <dt>'service-provisioning-profiles':</dt>
        <dd>
          <t>An attacker who has access to these data nodes may be able
   to manipulate service-specific policies to be applied for an AC.</t>
        </dd>
        <dt/>
        <dd>
          <t>This container is defined with "nacm:default-deny- write" tagging.</t>
        </dd>
        <dt>'ac':</dt>
        <dd>
          <t>An attacker who is able to access this data node can modify
   the attributes of an AC (e.g., QoS, bandwidth, routing protocols,
   keying material), leading to malfunctioning of services that will
   be delivered over that AC and therefore to SLA violations.
   In addition, an attacker could attempt to add a new AC.</t>
        </dd>
      </dl>
      <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. Specifically, the following subtrees and data nodes have particular
sensitivities/vulnerabilities in the "ietf-bearer-svc" module:</t>
      <dl>
        <dt>'customer-point':</dt>
        <dd>
          <t>An attacker can retrieve privacy-related information about location from where
 the customer is connected. Disclosing such information may be used to infer
 the identity of the customer.</t>
        </dd>
      </dl>
      <t>The following subtrees and data nodes have particular
sensitivities/vulnerabilities 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="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="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="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="21" month="March" year="2024"/>
            <abstract>
              <t>   The document specifies a common Attachment Circuits (ACs) YANG
   module, which is designed with the intent to be reusable by other
   models.  For example, this common model can be reused by service
   models to expose ACs as a service, service models that require
   binding a service to a set of ACs, network and device models to
   provision ACs, etc.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-teas-common-ac-06"/>
        </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="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="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="RFC4577">
          <front>
            <title>OSPF as the Provider/Customer Edge Protocol for BGP/MPLS IP Virtual Private Networks (VPNs)</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="P. Psenak" initials="P." surname="Psenak"/>
            <author fullname="P. Pillay-Esnault" initials="P." surname="Pillay-Esnault"/>
            <date month="June" year="2006"/>
            <abstract>
              <t>Many Service Providers offer Virtual Private Network (VPN) services to their customers, using a technique in which customer edge routers (CE routers) are routing peers of provider edge routers (PE routers). The Border Gateway Protocol (BGP) is used to distribute the customer's routes across the provider's IP backbone network, and Multiprotocol Label Switching (MPLS) is used to tunnel customer packets across the provider's backbone. This is known as a "BGP/MPLS IP VPN". The base specification for BGP/MPLS IP VPNs presumes that the routing protocol on the interface between a PE router and a CE router is BGP. This document extends that specification by allowing the routing protocol on the PE/CE interface to be the Open Shortest Path First (OSPF) protocol.</t>
              <t>This document updates RFC 4364. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4577"/>
          <seriesInfo name="DOI" value="10.17487/RFC4577"/>
        </reference>
        <reference anchor="RFC6565">
          <front>
            <title>OSPFv3 as a Provider Edge to Customer Edge (PE-CE) Routing Protocol</title>
            <author fullname="P. Pillay-Esnault" initials="P." surname="Pillay-Esnault"/>
            <author fullname="P. Moyer" initials="P." surname="Moyer"/>
            <author fullname="J. Doyle" initials="J." surname="Doyle"/>
            <author fullname="E. Ertekin" initials="E." surname="Ertekin"/>
            <author fullname="M. Lundberg" initials="M." surname="Lundberg"/>
            <date month="June" year="2012"/>
            <abstract>
              <t>Many Service Providers (SPs) offer Virtual Private Network (VPN) services to their customers using a technique in which Customer Edge (CE) routers are routing peers of Provider Edge (PE) routers. The Border Gateway Protocol (BGP) is used to distribute the customer's routes across the provider's IP backbone network, and Multiprotocol Label Switching (MPLS) is used to tunnel customer packets across the provider's backbone. Support currently exists for both IPv4 and IPv6 VPNs; however, only Open Shortest Path First version 2 (OSPFv2) as PE-CE protocol is specified. This document extends those specifications to support OSPF version 3 (OSPFv3) as a PE-CE routing protocol. The OSPFv3 PE-CE functionality is identical to that of OSPFv2 except for the differences described in this document. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6565"/>
          <seriesInfo name="DOI" value="10.17487/RFC6565"/>
        </reference>
        <reference anchor="RFC4552">
          <front>
            <title>Authentication/Confidentiality for OSPFv3</title>
            <author fullname="M. Gupta" initials="M." surname="Gupta"/>
            <author fullname="N. Melam" initials="N." surname="Melam"/>
            <date month="June" year="2006"/>
            <abstract>
              <t>This document describes means and mechanisms to provide authentication/confidentiality to OSPFv3 using an IPv6 Authentication Header/Encapsulating Security Payload (AH/ESP) extension header. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4552"/>
          <seriesInfo name="DOI" value="10.17487/RFC4552"/>
        </reference>
        <reference anchor="RFC5709">
          <front>
            <title>OSPFv2 HMAC-SHA Cryptographic Authentication</title>
            <author fullname="M. Bhatia" initials="M." surname="Bhatia"/>
            <author fullname="V. Manral" initials="V." surname="Manral"/>
            <author fullname="M. Fanto" initials="M." surname="Fanto"/>
            <author fullname="R. White" initials="R." surname="White"/>
            <author fullname="M. Barnes" initials="M." surname="Barnes"/>
            <author fullname="T. Li" initials="T." surname="Li"/>
            <author fullname="R. Atkinson" initials="R." surname="Atkinson"/>
            <date month="October" year="2009"/>
            <abstract>
              <t>This document describes how the National Institute of Standards and Technology (NIST) Secure Hash Standard family of algorithms can be used with OSPF version 2's built-in, cryptographic authentication mechanism. This updates, but does not supercede, the cryptographic authentication mechanism specified in RFC 2328. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5709"/>
          <seriesInfo name="DOI" value="10.17487/RFC5709"/>
        </reference>
        <reference anchor="RFC7474">
          <front>
            <title>Security Extension for OSPFv2 When Using Manual Key Management</title>
            <author fullname="M. Bhatia" initials="M." surname="Bhatia"/>
            <author fullname="S. Hartman" initials="S." surname="Hartman"/>
            <author fullname="D. Zhang" initials="D." surname="Zhang"/>
            <author fullname="A. Lindem" initials="A." role="editor" surname="Lindem"/>
            <date month="April" year="2015"/>
            <abstract>
              <t>The current OSPFv2 cryptographic authentication mechanism as defined in RFCs 2328 and 5709 is vulnerable to both inter-session and intra- session replay attacks when using manual keying. Additionally, the existing cryptographic authentication mechanism does not cover the IP header. This omission can be exploited to carry out various types of attacks.</t>
              <t>This document defines changes to the authentication sequence number mechanism that will protect OSPFv2 from both inter-session and intra- session replay attacks when using manual keys for securing OSPFv2 protocol packets. Additionally, we also describe some changes in the cryptographic hash computation that will eliminate attacks resulting from OSPFv2 not protecting the IP header.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7474"/>
          <seriesInfo name="DOI" value="10.17487/RFC7474"/>
        </reference>
        <reference anchor="RFC7166">
          <front>
            <title>Supporting Authentication Trailer for OSPFv3</title>
            <author fullname="M. Bhatia" initials="M." surname="Bhatia"/>
            <author fullname="V. Manral" initials="V." surname="Manral"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <date month="March" year="2014"/>
            <abstract>
              <t>Currently, OSPF for IPv6 (OSPFv3) uses IPsec as the only mechanism for authenticating protocol packets. This behavior is different from authentication mechanisms present in other routing protocols (OSPFv2, Intermediate System to Intermediate System (IS-IS), RIP, and Routing Information Protocol Next Generation (RIPng)). In some environments, it has been found that IPsec is difficult to configure and maintain and thus cannot be used. This document defines an alternative mechanism to authenticate OSPFv3 protocol packets so that OSPFv3 does not depend only upon IPsec for authentication.</t>
              <t>The OSPFv3 Authentication Trailer was originally defined in RFC 6506. This document obsoletes RFC 6506 by providing a revised definition, including clarifications and refinements of the procedures.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7166"/>
          <seriesInfo name="DOI" value="10.17487/RFC7166"/>
        </reference>
        <reference anchor="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://github.com/boucadair/attachment-circuit-model/blob/main/yang/full-trees/ac-svc-without-groupings.txt">
          <front>
            <title>Full ACaaS Tree Structure</title>
            <author>
              <organization/>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="Instance-Data" target="https://github.com/boucadair/attachment-circuit-model/blob/main/xml-examples/svc-full-instance.xml">
          <front>
            <title>Example of AC SVC Instance Data</title>
            <author>
              <organization/>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="PYANG" target="https://github.com/mbj4668/pyang">
          <front>
            <title>pyang</title>
            <author>
              <organization/>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="IEEE802.1AB" target="https://standards.ieee.org/ieee/802.1AB/6047/">
          <front>
            <title>IEEE Standard for Local and metropolitan area networks - Station and Media Access Control Connectivity Discovery</title>
            <author>
              <organization>IEEE</organization>
            </author>
            <date year="2016" month="January"/>
          </front>
        </reference>
        <reference anchor="IEEE802.1AX" target="https://doi.org/10.1109/IEEESTD.2020.9105034">
          <front>
            <title>IEEE Standard for Local and Metropolitan Area Networks--Link Aggregation</title>
            <author>
              <organization>IEEE</organization>
            </author>
            <date year="2020" month="May"/>
          </front>
        </reference>
        <reference anchor="ITU-T-G.781" target="https://www.itu.int/rec/T-REC-G.781">
          <front>
            <title>Synchronization layer functions for frequency synchronization based on the physical layer</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2024" month="January"/>
          </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="RFC9543">
          <front>
            <title>A Framework for Network Slices in Networks Built from IETF Technologies</title>
            <author fullname="A. Farrel" initials="A." role="editor" surname="Farrel"/>
            <author fullname="J. Drake" initials="J." role="editor" surname="Drake"/>
            <author fullname="R. Rokui" initials="R." surname="Rokui"/>
            <author fullname="S. Homma" initials="S." surname="Homma"/>
            <author fullname="K. Makhijani" initials="K." surname="Makhijani"/>
            <author fullname="L. Contreras" initials="L." surname="Contreras"/>
            <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
            <date month="March" year="2024"/>
            <abstract>
              <t>This document describes network slicing in the context of networks built from IETF technologies. It defines the term "IETF Network Slice" to describe this type of network slice and establishes the general principles of network slicing in the IETF context.</t>
              <t>The document discusses the general framework for requesting and operating IETF Network Slices, the characteristics of an IETF Network Slice, the necessary system components and interfaces, and the mapping of abstract requests to more specific technologies. The document also discusses related considerations with monitoring and security.</t>
              <t>This document also provides definitions of related terms to enable consistent usage in other IETF documents that describe or use aspects of IETF Network Slices.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9543"/>
          <seriesInfo name="DOI" value="10.17487/RFC9543"/>
        </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="9" month="February" year="2024"/>
            <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.ietf-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-05"/>
        </reference>
        <reference anchor="I-D.ietf-opsawg-ac-lxsm-lxnm-glue">
          <front>
            <title>A YANG Data Model for Augmenting VPN Service and Network Models with 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="Samier Barguil" initials="S." surname="Barguil">
              <organization>Nokia</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <date day="9" month="February" year="2024"/>
            <abstract>
              <t>   The document specifies a module that updates existing service and
   network Virtual Private Network (VPN) modules with the required
   information to bind specific services to ACs that are created using
   the Attachment Circuit (AC) service and network models.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-ac-lxsm-lxnm-glue-06"/>
        </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="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="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="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="I-D.ietf-netmod-rfc8407bis">
          <front>
            <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
            <author fullname="Andy Bierman" initials="A." surname="Bierman">
              <organization>YumaWorks</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <date day="28" month="February" year="2024"/>
            <abstract>
              <t>   This memo provides guidelines for authors and reviewers of
   specifications containing YANG modules, including IANA-maintained
   modules.  Recommendations and procedures are defined, which are
   intended to increase interoperability and usability of Network
   Configuration Protocol (NETCONF) and RESTCONF protocol
   implementations that utilize YANG modules.  This document obsoletes
   RFC 8407.

   Also, this document updates RFC 8126 by providing additional
   guidelines for writing the IANA considerations for RFCs that specify
   IANA-maintained modules.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-rfc8407bis-09"/>
        </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="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 RFC 9543 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="16" month="March" year="2024"/>
            <abstract>
              <t>   This document defines a YANG data model for RFC 9543 Network Slice
   Service.  The model can be used in the Network Slice Service
   interface between a customer and a provider that offers RFC 9543
   Network Slice Services.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teas-ietf-network-slice-nbi-yang-10"/>
        </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 3276?>

<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. An example instance data can also be found at <xref target="Instance-Data"/>.</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": [
      {
        "name": "a-name-choosen-by-client",
        "description": "A bearer example",
        "customer-point": {
          "device": {
            "device-id": "CE_X_SITE_Y"
          }
        },
        "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": [
      {
        "name": "a-name-choosen-by-client",
        "description": "A bearer example",
        "sync-phy-capable": true,
        "customer-point": {
          "device": {
            "device-id": "CE_X_SITE_Y"
          }
        },
        "type": "ietf-bearer-svc:ethernet",
        "bearer-reference": "line-156"
      }
    ]
  }
}
  
]]></sourcecode>
        </figure>
        <t>Note that the response also indicates that Sync Phy is supported for this bearer.</t>
      </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 an SF. The (topological) location of that SF is assumed to be known to the network controller. For example, this can be determined as part of an on-demand procedure to instantiate an SF in a cloud. That instantiated SF 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 us 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 ACs on the Same Link (Not Recommended)</name>
          <sourcecode type="json"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
   "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 ACs 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 ACs 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). An SF is deployed within each site in a dedicated IP Subnet.</t>
          </li>
          <li>
            <t>A 5G SMO is responsible for the deployment of SFs 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>SFs 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 32,112 L 32,144" fill="none" stroke="black"/>
                <path d="M 48,144 L 48,176" fill="none" stroke="black"/>
                <path d="M 64,112 L 64,144" 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,144 L 200,208" fill="none" stroke="black"/>
                <path d="M 216,112 L 216,136" fill="none" stroke="black"/>
                <path d="M 216,208 L 216,240" fill="none" stroke="black"/>
                <path d="M 232,144 L 232,208" fill="none" stroke="black"/>
                <path d="M 280,64 L 280,80" fill="none" stroke="black"/>
                <path d="M 320,144 L 320,208" fill="none" stroke="black"/>
                <path d="M 336,112 L 336,136" fill="none" stroke="black"/>
                <path d="M 336,208 L 336,240" fill="none" stroke="black"/>
                <path d="M 352,144 L 352,208" fill="none" stroke="black"/>
                <path d="M 384,184 L 384,304" fill="none" stroke="black"/>
                <path d="M 424,144 L 424,208" fill="none" stroke="black"/>
                <path d="M 456,144 L 456,208" fill="none" stroke="black"/>
                <path d="M 464,48 L 464,80" fill="none" stroke="black"/>
                <path d="M 480,112 L 480,144" 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 512,112 L 512,144" 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">SF1</text>
                  <text x="496" y="132">SF2</text>
                  <text x="112" y="180">GW1</text>
                  <text x="216" y="180">PE1</text>
                  <text x="336" y="180">PE2</text>
                  <text x="440" y="180">GW2</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
   .---.                  .--------------.                 .---.
   |SF1|                  |              |                 |SF2|
   '-+-'   .---.        .---.          .---.        .---.  '-+-'
     |     |   |        |   |          |   |        |   |    |
   --+-----+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 16,48 L 16,80" fill="none" stroke="black"/>
                <path d="M 32,80 L 32,112" fill="none" stroke="black"/>
                <path d="M 48,48 L 48,80" 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 464,48 L 464,80" fill="none" stroke="black"/>
                <path d="M 480,80 L 480,112" fill="none" stroke="black"/>
                <path d="M 496,48 L 496,80" 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">SF1</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">SF2</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
 .---.                     .--------.                    .---.
 |SF1|       192.0.2.0/30  |        |   192.0.2.4/30     |SF2|
 '-+-'   .---.          .--+.      .+--.          .---.  '-+-'
   |     |   |.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 response 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 latency \
                                                 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 56,80 L 56,112" fill="none" stroke="black"/>
                <path d="M 72,112 L 72,144" fill="none" stroke="black"/>
                <path d="M 88,80 L 88,112" fill="none" stroke="black"/>
                <path d="M 104,80 L 104,112" fill="none" stroke="black"/>
                <path d="M 120,112 L 120,144" fill="none" stroke="black"/>
                <path d="M 136,80 L 136,112" fill="none" stroke="black"/>
                <path d="M 152,80 L 152,112" fill="none" stroke="black"/>
                <path d="M 168,112 L 168,144" fill="none" stroke="black"/>
                <path d="M 168,176 L 168,240" fill="none" stroke="black"/>
                <path d="M 176,400 L 176,464" fill="none" stroke="black"/>
                <path d="M 184,80 L 184,112" fill="none" stroke="black"/>
                <path d="M 200,144 L 200,176" fill="none" stroke="black"/>
                <path d="M 200,240 L 200,400" fill="none" stroke="black"/>
                <path d="M 216,248 L 216,304" fill="none" stroke="black"/>
                <path d="M 216,336 L 216,392" fill="none" stroke="black"/>
                <path d="M 224,400 L 224,464" fill="none" stroke="black"/>
                <path d="M 240,176 L 240,240" 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"/>
                <polygon class="arrowhead" points="224,392 212,386.4 212,397.6" fill="black" transform="rotate(90,216,392)"/>
                <polygon class="arrowhead" points="224,248 212,242.4 212,253.6" fill="black" transform="rotate(270,216,248)"/>
                <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="84" y="132">.2</text>
                  <text x="132" y="132">.5</text>
                  <text x="184" y="132">.12</text>
                  <text x="304" y="132">198.51.100.0/24</text>
                  <text x="212" y="164">.1</text>
                  <text x="200" y="196">Cloud</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="204" y="228">GW</text>
                  <text x="372" y="228">"nyxNER_c5sdn608fFQl3331d"</text>
                  <text x="236" y="260">.2</text>
                  <text x="208" y="276">-</text>
                  <text x="28" y="308">Direct</text>
                  <text x="120" y="308">Interconnection</text>
                  <text x="60" y="324">connection_id:</text>
                  <text x="216" y="324">BGP</text>
                  <text x="324" y="324">vlan-id:50</text>
                  <text x="60" y="340">1234-56789</text>
                  <text x="332" y="340">192.0.2.0/24</text>
                  <text x="236" y="372">.1</text>
                  <text x="208" y="388">-</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="200" y="436">PE1</text>
                  <text x="268" y="436">BGP_ASN:</text>
                  <text x="328" y="436">65550</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="188" y="52">DIRECT</text>
                  <text x="280" y="52">INTERCONNECTION</text>
                  <text x="380" y="52">ORDERING</text>
                  <text x="440" 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 the 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 anchor="connect-customer-network-ce-through-bgp">
        <name>Connect Customer Network (CE) Through BGP</name>
        <t>CE-PE routing using BGP is a common scenario in the context of MPLS VPNs and is widely used in enterprise networks. In the example depicted in <xref target="provider-network"/>, the CE routers are customer-owned devices belonging to an AS (ASN 65536). CEs are located at the edge of the provider's network (PE, or Provider Edge) and use point-to-point interfaces to establish BGP sessions. The point-to-point interfaces rely upon a physical bearer ("Line-113") to reach the provider network.</t>
        <figure anchor="provider-network">
          <name>Illustration of Provider Network Scenario</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="400" width="552" viewBox="0 0 552 400" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,384" fill="none" stroke="black"/>
                <path d="M 80,80 L 80,192" fill="none" stroke="black"/>
                <path d="M 80,224 L 80,256" fill="none" stroke="black"/>
                <path d="M 80,320 L 80,352" fill="none" stroke="black"/>
                <path d="M 184,80 L 184,192" fill="none" stroke="black"/>
                <path d="M 184,224 L 184,256" fill="none" stroke="black"/>
                <path d="M 184,320 L 184,352" fill="none" stroke="black"/>
                <path d="M 208,32 L 208,88" fill="none" stroke="black"/>
                <path d="M 208,104 L 208,384" fill="none" stroke="black"/>
                <path d="M 392,32 L 392,88" fill="none" stroke="black"/>
                <path d="M 392,104 L 392,144" fill="none" stroke="black"/>
                <path d="M 408,80 L 408,112" fill="none" stroke="black"/>
                <path d="M 464,80 L 464,112" fill="none" stroke="black"/>
                <path d="M 544,32 L 544,144" fill="none" stroke="black"/>
                <path d="M 8,32 L 208,32" fill="none" stroke="black"/>
                <path d="M 392,32 L 544,32" fill="none" stroke="black"/>
                <path d="M 80,80 L 184,80" fill="none" stroke="black"/>
                <path d="M 408,80 L 464,80" fill="none" stroke="black"/>
                <path d="M 184,96 L 408,96" fill="none" stroke="black"/>
                <path d="M 408,112 L 464,112" fill="none" stroke="black"/>
                <path d="M 392,144 L 544,144" fill="none" stroke="black"/>
                <path d="M 80,192 L 184,192" fill="none" stroke="black"/>
                <path d="M 80,224 L 184,224" fill="none" stroke="black"/>
                <path d="M 80,256 L 184,256" fill="none" stroke="black"/>
                <path d="M 80,320 L 184,320" fill="none" stroke="black"/>
                <path d="M 80,352 L 184,352" fill="none" stroke="black"/>
                <path d="M 8,384 L 208,384" fill="none" stroke="black"/>
                <g class="text">
                  <text x="60" y="52">Provider</text>
                  <text x="128" y="52">Network</text>
                  <text x="436" y="52">Customer</text>
                  <text x="504" y="52">Network</text>
                  <text x="292" y="84">Attachment-Circuit</text>
                  <text x="376" y="84">1</text>
                  <text x="132" y="100">PE1(VRF11)</text>
                  <text x="432" y="100">CE1</text>
                  <text x="504" y="100">AS65536</text>
                  <text x="296" y="116">Bearer=Line-113</text>
                  <text x="132" y="132">PE1(VRF12)</text>
                  <text x="132" y="164">PE1(VRF1n)</text>
                  <text x="32" y="212">AS1</text>
                  <text x="132" y="244">PE2(VRF21)</text>
                  <text x="128" y="276">.</text>
                  <text x="128" y="292">.</text>
                  <text x="128" y="308">.</text>
                  <text x="132" y="340">PEm(VRFmn)</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
+------------------------+                      +------------------+
|  Provider Network      |                      | Customer Network |
|                        |                      |                  |
|        +------------+  | Attachment-Circuit 1 | +------+         |
|        | PE1(VRF11) +---------------------------+ CE1  | AS65536 |
|        |            |  |   Bearer=Line-113    | +------+         |
|        | PE1(VRF12) |  |                      |                  |
|        |            |  |                      +------------------+
|        | PE1(VRF1n) |  |
|        |            |  |
|        +------------+  |
| AS1                    |
|        +------------+  |
|        | PE2(VRF21) |  |
|        +------------+  |
|              .         |
|              .         |
|              .         |
|        +------------+  |
|        | PEm(VRFmn) |  |
|        +------------+  |
|                        |
+------------------------+
]]></artwork>
          </artset>
        </figure>
        <t>The attachment circuit in this case use a SAP identifier to refer to the physical interface used for the connection between the PE and the CE. The attachment circuit includes all the additional logical attributes to describe the connection between the two ends, including VLAN information and IP addressing. Also, the configuration details of the BGP session makes use of peer group details instead of defining the entire configuration inside the 'neighbor' data node.</t>
        <figure anchor="add-attachment-circuit-bgp-routing">
          <name>Message Body of a Request to Create ACs for Connecting CEs to a Provider Network</name>
          <sourcecode type="json"><![CDATA[
{
   "attachment-circuits":{
      "ac":{
         "name":"IPT-CUST-ABC",
         "customer-name":"CUST-ABC",
         "description":"CUST-ABC-113",
         "peer-sap-id":"sap#113",
         "ip-connection":{
            "ipv4":{
               "local-address":"192.0.2.1",
               "prefix-length":30,
               "address-allocation-type":"ac-common:static-address"
            }
         },
         "l2-connection":{
            "encapsulation":{
               "dot1q":{
                  "tag-type":"vpn-common:c-vlan",
                  "cvlan-id":"113"
               }
            },
            "bearer-reference":"line-113"
         },
         "routing-protocols":{
            "routing-protocol":{
               "id":"BGP-Single-Access",
               "type":"vpn-common:bgp-routing",
               "bgp":{
                  "peer-groups":{
                     "peer-group":{
                        "name":"IPT-CUST-ABC",
                        "peer-as":65536,
                        "address-family":"vpn-common:ipv4"
                     }
                  },
                  "neighbor":{
                     "id":"BGP-DIA-Single-1",
                     "remote-address":"192.0.2.2",
                     "peer-group":"IPT-CUST-ABC",
                     "status":{
                        "admin-status":{
                           "status":"vpn-common:admin-up"
                        }
                     }
                  }
               }
            }
         }
      }
   }
}
]]></sourcecode>
        </figure>
        <t>This scenario allows the provider to maintain a list of ACs belonging to the same customer without requiring the full service configuration.</t>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document leverages <xref target="RFC9182"/> and <xref target="RFC9291"/>. Thanks to Gyan Mishra for the review.</t>
      <t>Thanks to Ebben Aries for the YANG Doctors review and for providing <xref target="Instance-Data"/>.</t>
      <t>Thanks to Donald Eastlake for the careful rtg-dir review.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="V." surname="Lopez" fullname="Victor Lopez">
        <organization>Nokia</organization>
        <address>
          <email>victor.lopez@nokia.com</email>
        </address>
      </contact>
      <contact 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:
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
drmWW3YWu/k+tb0NZWUmJ1I2M2sfUmby9MtCQ7Pq8MXS7Kz9t2FpXu+p8Vb6
uuxUxJGb34FF67xCZ89/zqNRU0/7OZw/wVghM9Nyo+3tzLVrGWpXN9GyKQAW
3dWa7CK7oL2Q7lK75W005oaVrWi0vJu58m6Gyluqy0t15dX9fm7r8XNX55mV
9OPbKsd30Yx/XV23xpt0nVJka7fUdqlvkxR0sEyhVKVMUcPpUGAu6YiydLal
EyZyaCunq8ww1pbENMD0aW2UFO34ufdk7+QblK/vpF5SH3p9JseE8iKa0su/
9zgOg1ZyAmxC4S2lqdEpq13AT4XSPigKBtdK8udFdMnlXgagB49y2DOlWdu0
Nbfd3hOt3DxCQZZ6mhaP1K+PHz2W8mpIt5I1hKT27uo/5fAinrKyhXW3ZZSS
sjnQ9rR8JNyDZ2LuHzirMDQC9r7c82dkwXz/0SNSZ1QIlKeWnRdRksraiDTM
rir69OThNzc3/PeT/Sf7EiZyKvn9zuPHMi/iatKgPvKwOMihQywP6sghvgb8
00KBUPX4IhA6a/93FAjXs3DeVXxU5JE+9jdfRMEvouAXUVB85qLgnYU7N7Db
5zJKtGMOdUvZjjv/+sKdbfxyGTmvkKUqbtQgBK0vBUl4K1mIZzLCECeEI2FC
Gli1N6Nl6ZSD2NZILfNw2ct6d+xMpucQvdaXt55zblVxh3cSkHdY3MFYaBnC
n9g+lvj9QklHNv8i6Dhr/yLorKXe3kUq+iLffBbyzRcJ5d9DQlkqdPgEX8f+
Hq/hO+GLEBQLcE/yQ6CAqX5/s+NSRjFnXon1lLAFsjnga+Du/qM9tFXgtk4w
GOVlnMnMSWITvswmW9a69DKUMUUO8hCrVWsmS+k3mMvq7BvMZgMpcFW+f4wR
wrWZaiCnKv/KJg6on6+ffPMU5Iw8Uw4RHz6oSbyKsl+48xfu/OmMz+vzcrGQ
orujNlJ0/feaFN3ptz7RNKtbRNG9hmsuTqy+OE2la1dfkWmiQffs43YfOqFS
vBZSdnGCTg/kEUD7UC4xe9pQjDRQDqWp6aCWxNvTmxYqTjSRpS+ZJWS5r1I6
JfVUqRVSJnGUjqw1U8QbSZm1sbrfNTuzwVQ0jTcc+V3ASFS9jUpem2eAb9Qz
AO95S1muxZuZZFNlR/TxviSYE4l9knD/rzE/ErAp9NfYfNN/vaWcHqLpaqnb
oGE9dRvWMQoka4PxKY9g5eZq0/nff9eJp+p893MsDio51HjklloYjxrS1drh
F6sEX3CvizwdIZqrPKg1y+hiDrEKe7gVb7gLY1iNK9yKJay7JnVd7iPxj33/
9Vty//U6TKXuzVjL9Pfiuf/0iE5h9Uh2STKYCdUqvpWcQc/yJ0PSr5CNib96
3VUqCJf4UtU9sSu2HyFRxE4dpILApNKES3yV6zATHI2c5BT54/xH8lxU5qN4
uBolpsY+JdZl4wLkWJe+A/1AtbPo8hdy7N6Ez5Ecr5bOS5m8yLRCD/AW7TZf
NxQHsUxlAQuZbpZiClkmWQ15hf1lqKMM0vZN+WNj1m6dUFk1XEDj/baNaYzl
8v0VNrIrtRidL7J5MXpnum2jEc/9LLPdrUanbeqg846oS7+WBhCkKaXjj+xL
rvK1w8JAKcybxKZwQ8fooe6WwwWqb+o4ShqvLTb0dpJeO3klGqeQ4RSqPhLM
onIemy5b+HWSXebvYh1GYw1oeIak0xyAIpNRXOnEdJ7jui7N6ZZIcon34Kr2
XvKF6v62qe5KspT8AS7mLO5WeRdObgDX5SoZgZbqJPDKqOQu4tl39gBGJlfd
AKiITaBJ/t1rqOeTv/MPIenSa7/p1U8QNWIM5GyYWwnSRYgMQwtYHPyvk8VV
1Kiwbm1VO3y6vH1SWLX6Hu8v7zAo1+sQrztDvO4Ms3VnmK0yAx1RjraG8AEJ
D4QLhhIe8FZpGq8+arz6qLPVR501jWpu35Bu36zp9gG5+HL9lrT/cv2+XL9w
08XX75956dw1+HfDHYNfbFHGm7LWBkvW8F9hbHcsVPyV1Tsg89c7swwqc783
3GQl7AzRIC5l1W6alJXdyGqXBvfY0KZhj/4JmD2CfH0VFaPwQ5cJib9yI+E1
UVxXU6hJvnbhjtBbAhpuptU8EOSoRPfX5z+S1WVwXcVlRztnkQGlHZakqOxF
O0znYSYAS1NH+tH3pZKymKH5JgpXbCa9GPQMNBCleWS3GRf51IlcV1opaCp8
dk4hkDKpYrTjq8U1rdxfnGJVi1Y3nzWtzZlehQs7cqtatVzbATvBLQJ84/qV
RlfEsyIuEXVGMggaZz0EcpBgMBxsEA55yrrkW7TJbR4ev5VFQY7e473aqDc5
oiYSOU7j6F1gmFNoI8u6FvG8ZGNfWy+wi3yV0weoorHrF6dvA03xg+sFXn88
lj/nZ+pysnEStNVrk5uRcTpAOhoH7B++WjrgxgPx1/7JS/GarKwlqrNkXH1G
BZO1XrvZop3JMspwhK0tu5/Se/lnttgqc66031JCBoSfX2oX41W++WZHR7P8
J0e372j1lz9kw974w+Gb50fi2dHL45OzPwmiY/7Kvt99uLvX3dnp7uz1sE9r
Q8Xau+3Ehw02jHeVwXmnt/MtfIdaaDnDdAateQHKFnQ7IEtoefB+mh5k5QGZ
032AYFfOkirMt9/ivUimlPGAOhjeRvPrLub7b+lrn+G0ACoCwYKh2oc8AB3A
c6SWr8kmMtaGjF2CpTRq1HnBT6cnJa33xlsdqPihxemvF6ztED5L1tbX9gVx
KO0LTatQ52MvgcDZOP9f4HPgT8th4YzLJZMfs4gAj1TLanfh6kZdjf2U12BL
Lhb+Jy8mUZb8YqyareOj8xfizelZ/+eXYtM8tMp31SyakCWEg89+BiaJ5OMl
0hEelXjikJfUgiF+jgcH8OcfLqpqVh5sbyNPrIpo+C4uiMb0YAXbV5NtJjXb
f+K9QMdXcPeh5x+mUZJW+QH//r3q8qcNbng0Sqq8wBle5xeA7iOge/NhNIqS
woeKGmnKDXsD1fD7vMDnpR5ghpweg7Z41LfJ8AIEC/E2H8RFVZNd1JhFwb9/
/495lgDMellc1cZ6g4l3xcs8+yVK41+AeIjnSd44ZI6texPZehSPoO33VZzG
4xyTpwRXexZNE7goz6JiMk/SppHLkpr1BtzsfyZJEaWj/Pssf5eEx32Wi5/n
TcOlgBS9q/kg//5iHl3FCY1AuGBVEWJ8IDJKmC0pmXm0maDrWTLUv8qbhtmB
S+1FBVBFuUySpRJ9DSLFx3sSIw7z2XVBWXY2h1sCSOi+IJQ+L0AI0EZbOKOS
kq6YbMqRPIqItq2fs4awlh4AI00FDYvZQqhE30jN+BbOBn29BnNtF55zro4y
n2NWaPwGy5YVxLOmIN5RQGYuURT/gQlFYNfaXb5DmUTQd49khdm8KOdYY77K
2cOhnA/+EctrpgSaFKCQIbuHbqUWTpE7sVDxNr5M0Mr87Ow53C5qy/3xwQwW
BkuCNZsozaH2q9fwa5fiVTyJUvTPY0NsqWCQcnU3WAs1f54P50go5O+b6v5X
OEwcm7svV91NQI7ZUiCtP596iJOYlC5IM9+/f/+tQOcRWK5cEHwL9C9Ox4RH
4zmcX0pLz/IKpix7LWJpRSxz1RhmK+m1j71IG7OkSmAI1anX+lzo+Pa2OAeR
BO4TpSPHBD5qUXgqwyIHWWuqRCNB8gs2lgwe2spdkwknjaOx+QpYVwS40do2
0sCBvIH1r+xvUP6QELppAqlJCsYpr3IrKVMkl9dz9snZqCqUEEkmkfqpvspW
cdzmk3yGENJd8Uzc7ohYco/W7LoDJ7dCSxLPMDDDOQv4thGTmmajoajAIM8R
mh21mE87N87QODN6XvwrAEDKGl6RZkiwYvcJ10AGLjXNECsAFMAjAyuRaL8u
1qkJsV9oWPIpBLZnb9GaqnFrR7JfaMyrpAAxoizXHfNn2S80ZhpN1h3uFaYF
6E8mBVBlgj9JkWLzVf/lVmgKyfy7upYoHO9FkjmgsQxu5tFulBAnqa4bl9IX
NBDn9SJHFDOHygylZI8SFqQIdWIlgJJPsZM4h6/eJ8C4r4PbKK+z4ekPf10b
U2YX12WCb7fkkkDDXBS5kt2bZjqyoWNP3QiLM2gkFPqITfzn0VYjozs+/7F7
Ll72nqA+d+auSa50PM+GrEIQI6bSj9nQPCraH29X5h6SzOZAwGxYWzF0YfTE
soksAjHIm6qPsPrIzRrznm6kGGJ9OETo3BASwhiUHOVYgniqWSHlKPug+xIy
cLzAt/rL0CQwzSljnMqJSTPicMFqFYNYTKMZ8PqODW9GVSk27r08PRUnb1+L
4zeHUsMbHaV0dczqb4S9DRWjcrsNqOySsqI8y7NomK22TBJJpPjbhg3RGuwl
gFpQRWkXpfPbwpFGIPl+9WnR1e22E55R38BUUt6lCawSI/aJmYAeHBo9QOAu
TlSOxQh2MceKJeS0bfcb5YAoIPFyHWNafdmwtSF5591qZ4fYdWUYyrUuODvr
WxI+gRxnov23fvd///3D7k3brOdm6cokXAKLs8F09H5GxdApV+Tx2RvRf3X6
Q7+7y9qft42bGuEJOog0U55Dq5HyHIez1aNwqLUt+wo2hZrRNYSScVfW/V6J
+ZHjlWiZgYgZ6A2G6Zq0wlp788iaN5x/qNYTknOyK7Ns96inqMi3AKk3Za7Z
Lhr6uzkoHaDubQ7nBbCoanOrI1oOk/latNq2ezfLKDxV3CY3qVqHO82AiZGk
YbW9tdVy9g6fuChgxCngHZBc0XqDiTyV9qRSm2pAuBM5n6/t8ywZPAOT2tKc
1Qr35bmaz8Y1OkRLWq3fa8Mqq6iYxJW11YaJzsm0oqegTMJs1o8mEYaisM4v
XwDszXPBBHtXw4uccibT1N1xirW6HGCH14A3kXuq1zYamo1SiZGq9DQsk3nH
SCvkjt758lVTVZydoRYtiham7lx9s3JWvHa6QLQ/cQP1XmlqsfLhBDESrTLJ
cI4ZYRkox8/rq7fwsP5P5x8E8yhNu0pR8rbK4gj8TopaUysJj3g6synKKsBY
ARQwO6uJAXio9XCBMYclrr51xoElOw83+tU2LpczZXESK9XZ77A+FOx9m7/V
Xx7XNbTGPe0Ao8U4MKu9uuYWGfME/UWMvIE7NlJMs0l6MQwOrYxjhsXz2vSU
REIsO1rDIijgDU/FejStEWvCmDsoHjKzMmelzxJQ41JjdSN9RC5+nDsooRyf
66fviIXWrLdeoD2GMhu7cpSZlE7F4tbyz1meodmaL5QDunzW5Yzt1S3Xd6xy
pMthZB5qFeVzERWqpGKu3t0i5xWniqMpW42vLpLhBVyva+k7Pp6nGr3dCoSR
PYCEhSzNCL1lAGdHPrbIhAKWLuwcpLaPDOZJit42Hc6SzaUjw8cqJRrgC4j7
rghIwKuZkLHRcmXK8aLh0d3tWY71HdZ47b2w2rTcBuXvp2vd0m4aTUB+IyV2
vU1xgngxBk0vXrrVtzHHi8GiBM/WpMKh+aQ7uwDVKppheEttVRzpcqt1tJxQ
50zVwaiKucpfDovDQL2knDoGK2srQdMVJVtySonY1xZT8GOWfWsUM43TMxmr
NdF2loFIZ7FYAqJ/PTDcZKWrg0L1WxMQnsZG+2n1ets+pP7Yxu21Lda9XLmr
WxztdTQrBzJgvG71C9s97UENMzfhS3mSraCSkM3V0mRyzlxbGSei+D1cfjR/
WkAgYJpn5O7g2gHDQhgte7PwwbVAk+lX/AJtIonkqNeWyBPUBG0vRg79sUZG
bHAnCmrEgC4OCFzFGNViiyDqt6O6zt2kca81fv2Rql1TvptlX9bDKcBqSDQ0
8Y+XwpzMi9RaxyQRiTTb7J2y6dUHkxKR+8imPo3K3YJdmRo+Wk6Qx32F2RqY
akn5bRCneTYpm7dHolPI2r4Yv+hB71Njl3wc/e3iVl1NvDVmhXROJv7OC7L6
3BNe0THnfNxlHb18bfF+sY3tkUT5/Q0yZ7sFDogaGvAE6x+9ZtGj+rnzmM1g
aDidRoSgsM0YNHCsOq6UocQcV1IqlUMnd7+IvVUrFrqtvbrZkxn0gG4+Jqdn
kEGirAwZGR1xY227cO0J2YXHCpKDpGbyYVY/aeaFfgFvkPFBzyphf3hg3oo9
Q0pYNvwZ8Uz6fsvkbInlzK4y3mBxODGOozIZJKkdZYkGzXj4TtBLaVmR3Aej
kS8ZJw0akhO5FBGpBpXcqzWG7N2kKhitRDrbmJ1aTwqtur1c9/AFQR8119Jx
zhVEZBG2jLys1No0ZfFiDBzdOCjxNGyftTh2xQ3ppPzLQT2O2Gz/lht19Vad
qiK2alJxoIN8nV1ovdDuzAf5rIs2OYxgwaf2b8OtVBg1J+xQxif8/xvpkH50
8vzsT5azunaj7x/6LvQMo6D7PPx0S9f5juM33/GqnUm/+hXiE1Z2t+ddLHa1
t9y47+pmL4GG3Tx/8I3P0YH983byB2qOdw9gNXWXl8E3Cxb2dG8fFnYiHXoO
7QqVok9hKSqpNi81ODnWve4yLjtz4/cL5kY0P6iDBPlW2THOt8EpdaYMd0b9
9aItww2qOaPSEfxXfC0OsbeC8caXqIAvUQGfSVTAwmgAw52FyvLhRAQoL+kv
kQG/48gA9ML/nYcGfAU8WAqa0u2/XB4kIL7atuMEFknCEiiLIgca5elS/zRU
f60XNeCXcK4TBeeRDY2jCpagdrN7t9yy5UOrt60yBd33Zt0ERJax4WszwL0D
QqV6qu9zUXKwZTvWa9cLX5zdSW3W2ulllCajrs5nZowUocaBtZoOqpH2t7kF
5ALJseoQC+ZU+NxAZS/yPmFkR3gHYBNMifq5wcZe5L3Cxk7EWYfNokwVnxuI
Amu9V0iZ8RcArDGB/ecGLX+h9woqVdSoGU5Wirw7w2lRtr3Azv2pzc4Dje8A
BMv85wFh+6vAB0TPeUnPLMpRG6SawGd7g+IKOR5EWSSsnHsbdoiJnbivO6Au
jTKh2ogaU+flI+lu5pWjZwlFncYY1OW8SH5BjyC2J5uzqC3y0jIfR9McWkzn
aZXMUrTbaROoeYgDkEazcp6uENRy6HjPqYmdATwPs7t4gDvjrmv7P3J25brg
1b0DRnm188+a30PT6xCO1hG2czf191+AGh9jzMOfchmhMDPrtaKKJhNSyQAj
4PC9lxjQato841ru3OfeoHZnzzZMozeD659JdhdoYfd/KbBowrVgpb3z/pxk
f7YzRjfDDCdxQaa9VIGgvEDFch16cl+UBB8RpBeIWjk/PKIV36YZvxfK4OaS
ir/QiU9HJ2ZFghXOrrtynesBznl196JpvJE/IUiFH9vQ9udeC7inHkhWgbI3
4Re6fA90WQcKAdFVouRCCndu5eezyaYWRKVRSceAD6xHfPnkj0Q+EuSByD6F
0OXV7k+nJ1Qc6Fpmwr6mZqazmrWaw6ypTnGjd2yFJu92uVFtS80xXlq+9qax
ot6d6MjjCo8u93yXCAEi1TcpyeMgKdyAM+9gaqutITaS/XQXMNTaB4dO45e+
Sw/hnufDn4y+XQWZXZ7AR6JAGJVlPkwoLpPs8ZHbVxzDYU4K+v2tVMyQDz8r
ktEE/7F5/PbZVvie14NaljlkrOuOEXDGaMDuu7lchB0uarBTGfosrU8JSKxx
HZ82CUdO6vNVla1BfdAA0bCS1s8u95fBGtu0FgITS2+ZqM0QkfJuAg5Z252t
GDsrfLzCCh8vXeHjdVf4eMEKHSl3xTNcfnq/tXP7nE+sflZvjRWJq2tSwl77
uPwSAuwo1XhsKky18AaWFUhl4g5z++tqwAIlwFcBamuztYCbRZBUXoH+Mm2i
JOPv/Cqbej0UiWeF8QYneuua6fzgu6QWbtJo3TQcozEqyLKNIZQ9E6GsFILn
0OTleAd1LInX1sHIkaVDb/j4X1kbsTG5AqDrGZUY1RsjdvLsxXOPvuAFpoZU
CxIbdamSWxPOuv4++n7h8zTWTyzrk6ptYMEuhciIKzR3GuE7FDriWMiyCj0i
hILeIovfV92LfLYYtdRVe9U/EXo+2+V6McmyQBRjRgwHL623EB8hgm85S5Hz
NKfA2fB7iI0uKzsoemf++B7P/PGaZ/74y5n/y84cqIB49vJU+546eDCYzKz8
umsdO4xZFylmcT2Qvsn0ZY1LbhuwRqu7Ift4guYHC9L1yO5GyCo08CaRjsfz
wnBaru5kKyvldVnFU9ENRGxTWL4Zz+5F+aSa1TgEvOnI9w+7mA4621XarSeL
UrwmiytAVNVgJa3tXG8SJEU1Mhk9KUGBVUgrBnwaAPgvnAE4mg/gCBuy3XRs
/Axu1y3+FTIu0FFncTK5GOReAP8yscE+YDXCctlh9bB9tSjzMNcgEhTxNMcA
p3B+r8YDW5DjhUe0T0s5bRFJapcaq5WHF3+OZSveO+ewcmMqKO5ExVOggppM
o8JJK6fT/luzJ1I0jcr60hqA0oTGt4bJHRC4EX3d5GghghN8AMYPuy31etvw
fxZ5sf7e9ujUcnsyOVLqRZDkxikL6OgMQpaWvaApUuVzYVQBqodxUDbhW5lw
rMsD35ydvggzwbycjRdzQdVt2MgNcXS1fT+wBIe3VP/Qz6EtLt2g3trxWff4
LLy3pEzKu+6Nhm/YHI3fvDn6+W6be3vcILvAPu66MxxbiqyOfu2Wqb+Npu2O
sJKK7SREIK9K1KY6JF9rZU8TPBo4sWsB4ZulrG3J6UsMPbgJwRzhd7ejoWr0
wbO5LIo7Hw6OvtAHGGvaH4ifkqKaAzNAwwHA7G08mmejKBteox8122g2cSin
xhZ/fpJO0HskgJLuikZoBPhvAxusw/fQwsIGGTG7EBeaD5ktzNoyok1oQZvX
WgZm680dwV8zgDlKo2+5up10uKqR7a4C44+kKdihwkrlbLKfeSwzaERULa30
XRNbPPFyAazxholcVk55x6dMfT5JaWuI9gYXZBpdQdd0ARDSNxeuenW9k7Cg
UffET0j/XDT5+nqoT7Jup4rix1dH8bO2StqcWs4+ExRo7tFpgeSj+0dOW2Bz
d7Y2dvpDLZH/QjBDOekeYUZi1/3DzBEE7wi02lhLBMsQ1GDCewQaykP3DzMQ
MXvuZXyRK15uSpiDCjefqgh26OL2UMFau0r3vqczCIi/+Fkk9OBnlYRMS4Uf
d+kreRmsJAjhZ4EwVBON7XXUMQzl2HtEMRKL7x/HallHVpaJ7wmRbFEdP79B
DFqgWOGnUZy2V9HgwLqa8LxcbP4iIfN/15GQ5bvU/V1h9SJ075fYfUFzsa8O
iztdV3eqsGQ9jMphNAIQBV/qFu7VfWvzK8i6UiidZdMLdKhh8NlyFVJe15Xu
gga/MY2JoOc+9vGnINoiWg1Wa8dw76fqCmftcYmyGl/Zq+864he1Y7HaoWzZ
X1SNZaqGsoz/HtULR6Nwu3969YLZNxvvm4H/m5G8PWHbhea/XPLmlOzS+u5C
15ZLj0yAPnv0OxKplR9A+vs3yqZuCJOMDQrG/uvYAf8lMuwf4pYVaR5UOrzr
COP6Oye/5zb/rhITLkjg8O0q2PLWDbXV+R4XrT3A0CiFss67HN6N/t3PZ2Xt
R/90oP9yM6gvspKq8TE3eIrGRVQiaIzV9B5+NSjj4RxDcJo0H4xnlk2WPR30
D40fb2DYYBiegroCTYN7mWm5WEVyUb1/aNZhRvDUoztlSAfFVach58ThQNKL
aIwgsHYnVTPLedw6STumRIg3qPxeJSXWJ6CAlFFSesqs67ZBwS0+EQZ6q/b1
R7mwFempjEMacSAMjWZtxORfD9NGeUuBkRVubCV+8Hte764nUy6wxltUMB/C
WZZYqVJG9DRnkTVT7d3LVHseA2cWritJHJ8Cnll1KkYqbEj75vjdVd5SNX4Q
P91drRn/yYgBe2GPFPcQmWHWcMr38K/TWw1NC89Um4Uod/c11xBv4dvsOkxP
suQaSzWPsYZmZiNy82mglgP6fQQNVuTGukOdOmLS1lncrfLuMO76Azc74maU
WLU7uFpMKV/4Oj952rYp6RpS8QqEOBZP5Yjm1MxaZDwk0NkcQ4ivsjSPRtbv
yrBg+vqBVsqtf6Gbrx4Q4GHnSvbRFSE2JIjN1oAYiIT3DTI15FKYzWcBiJle
2PDwSMHo9OhWEHL5PczbzOmXMPiXqiljbsBBIJiRy3HbsayRq4bw9TPbBqnh
5zpLOLGitVishpHXTzigOLVF0NGJcWHeAZXbvZ5UJbyBUDDZkg0sCyjTtrkV
l+BbbpdVB1tm/fYMwgtmzqPpanMhEpgUrR3RH02TDPNQyvyRnLMVYz6zKLNj
tDff9F9vmZoy/mudZY0c21JhU4Dq2K552KwbWjTfCrbQkLGu8tiLg69ROSXS
LgTTisK4md6V8hsI7Crx5PbMgzq/9MTvaTX3Re85HNrergWgDHOetgbXICYs
h7W6y6/Pf2x4ltDE0qGRG+YxaBGNXJE6LieETom6lUkhdzM0kDNrTjmzJlGp
LGbHahPkbNGqcMbE8iKfp5y01Wq6IBemF1GoU817KbK87TWl7lqy41XSY/1G
ucCvSv9/Dcp/HzS///ozIt7KcBW2Vy3x3F+ghi/13l8UyGM/tq3ggv9vz2hC
VN/JLpOXy3EFGi3HFcwY6nhLhx9urYylK77XWqlImyeQXgbW6J7xg9wMVDbe
b52fFthFbFyspUS15m66Cvih6xDMJvut17J5IR4YQpHf/Lmpr2sE5Nqlp87K
mv1c8OP7utj70AP7+7hZZ18YSWSWCDtTYUSxDfFav6Appz79Kk+zEVWEQPaA
FSHshAjNiw8YWbzCEuSystk/fLUVvgjRMF3zIsBYK18Ea/T7vgiZsBay/k1Y
lB93rQvxopZcdsV70YQTxmIQTDZKtaZZwuEjbEo2uuGQ84UpaZfayrjaAfk+
Ua5anXjClXOl3G0sAx7vi4Ya2MMxiSI3GwGm8y9eZEhwtnLLavxZy0VsEsOG
iCE7wrJlR7m3wFtVGm+oazF7CZV8pLRR8vzCNKEHh4sISwNOMhoQ4YVMPcns
Me3+yozYBuhb+v8lUNN86ryE2SIOFs45GMXjaJ5WXVj+dfcKBJK4jhGB5PbN
eNBQhj1Qv8M5ej9LvnvgtyuKblBPaSyyBh6lzbV0PFOaqy6ohSWzT1g73s6C
uKiMvAW6dYH1Ms0HUeqmGc7Hi87If829Q2V5963DVuS1QZnOS74NoRp/4bp+
2L6dziugNeMtF9dXAcqIR/ZwMjVc89y/vTKCwL+s/s0lBFerPmfMH+SUV0az
7q2J6ZuMaopO84Ijy8VZ/1TXeFdwaXgK7i4mJ6bmn1frYzlq1GpHoIGsKZyc
/cqB1VKx+juXHWxYk1tgkOfCZRHGEA5dxAWd+uBaYq99kY6ZUsfvK1W6dXQN
FxL9dVR2SJSoWN5DJLI7O5ULS7zG/cMOepPoVdCdocQGDreyirpSKdQitpIv
KlI8vEjSERJkuydVXY8AzdUyYRJrtEUIQeNhob1fqQBkpHekqBu5as1nWCrK
wCywBVx9MJ8MI3Cygu1Gy0OyR1mz3ahf6sabNYrQupRdD+nocZksxMeKlivJ
B4oD37jLBAo5jEdeCdPVgjTsdLtqkNtVX9fGPuMxh8zT5Q11JdORcN1F0nGq
nxwrsXO6a6He2xhTrzmVR+WgTdVH3eVz6Wh7TetC3A5FsMZZG94uWimRmlYg
y/2+2vvp9KSjizyepYmfjVjG8G+5uqAfq69Ah/Us9x8+xXqWVLdLDexVU9T5
BET4YxXelDrzJjKyLVP68VEzqhsMuKc7Gfnvx+YRAfl55IOBm0xAauW86Yw1
XNW1hi0+steE54VVZxEebDEFLbJETYafM2VB2VJCS89dgUyVwqbktgdcWlYB
da/3BNf+4cN3unYsUJ1pPuoW4+HT/YdPBklJdWMFa15WQblS6eg8IslcI1nC
TnClQlGCpDWlejYCK1niKIrdwnJAaeOHJ4rgQxoH/7xMIk34pqaApnlcQHkM
BwK17+To/PDNyQtVKHd3f+fmBoWht0dn9g9PH+4/hE3wDtL8CkQ33ZX8h3C4
RF2ZIZpxgXVmJRUYpQYdXQURlgQ7yYtr9BlJ0JeLlsfdaH+6J4x4xqOdXcRp
Cgh99sOWWeuuvyS9antNP5yfn56tOL079/mrMxxDgmB//7F9jqvXeBWbJ/3D
12rdWCH2hhBX6tEMNZlyiuRouG/DSp4nnTxWHUyG8zQqNNS5jqPeMCBrUSr/
2tiKmi/nA0mPIwBgdBklKT2YNYyjfbhztxArCW5ZpbcPoEKKDog2nw74giN6
iizHDVkVmGFvpYf0ih/gUGgDwPVsk1xGfwHEYvpLbCa9GOitZETo3daRvN3E
dkqLwhYjAkxlLUP6Bg7lLUdoxPAnmSoAqpfzFJRrJS9S5cypERni7DIp8ozK
ScLgP6Nga0NFMoN4lJC+DCukRCoILNqB05h5nrs6VYETQD6j6gZ5ZfxU0WDl
pKAhfeQiuiSYxxO2t8TjMXRB3z21ajMnid5SIhzC2V+zl9Q4T+GyoKANmFEV
cczna62LJjEYt6FgBv8fl9sKaKgQokgpzURc8VomDscy1PK0Dwhh2kHTQvsA
fwO2J9/H3wEUri5yUjsHbL6Sd4Apo1oigYLqll4rLID+VAqVDX8gpKdzEtsu
8iub8SBmpmgYYaJpXEWJPDBt5cRwIxpIsdxX8SVc4/4EwEXEYvPsVX8L6Gye
KljTLnn797AtXklsbysf6yzo2QiPcl52xAVop/AN7hJ0F5ax5kla9XgFoHBF
I8BP6ZpjljMk1wP4J1oLaEGjEeHVlZqEyYJE5Pg9CJNktQFBtOdsDK8YCIg5
+sBnk5gDVZUpZUNJEMoqxzHmiM3I1gA/MAJGU9RPipqyOrqLlotN5OogSSqw
PAVU0YjISLqKqtBamT8rHJQiCmFixnoqJ+PTqNhz/ZojD2/QOuvoLyFiIkmd
QjBgcslsTkKLdhLIQU5NsBL4n/MzOZL5LvfDMYCOIBB7CgRxGRsLJyKaovGk
SLcarLsq8giLd1Ao94f/1FISF9juVnFUSsEdDklx2PbCd4GmK2ZAtQxIGwxH
C076kV5nRZfAUeKVDPgwbwlh7CiXQkYwaBRQ5Iaj4ScjHIx3kmHB6XfMu3yn
7kTSwUFAR8QvpwCZIolSUCKQKMpay9MoHc8z4lXSluvqeojhOIiN5CK/VKZW
WIsUxkAjyjl/ABBUh54KcSvqhadCfC83dl4QLEYEPwsTwoJJTV7AoRpEhmXy
Ahc2QTJNwgVlKOda2kI+99LC1InKw0HRfRJXHfwfKVV0JC3GAtLqwWcrhN69
z4bbmygt1ENDaI0YW8SAo/ElpVe9jIbX3QLLeZPUaCx20QBFJIyNpn+SbzvZ
DhVhsQ35fBHR0wqJ6vOkHKZU050N0PawdtQICww6QJG876WpwX8q+DV5lfMY
0u6ItuPU1mYFp+04m90F8krStopbG4OoKiek4SJWgbYlh6sB9JX3Ia0rowqq
3S5ohUgaLpKZJJhMorqKRC3dLA2PHC6fFNEMNodETvFUJX0jgYN2c5SrUiKB
w0B1Jrivkmx2YKNqCH3WRhnBGSS9ctDtHyi2g56Zj+EbN7NFNLpE1lvGTEmY
nMH6iyi10WuzPZjMEA0wsB3/i2HbCguKZNbeQpgRQyCrr1Q+d548AQV/XFcv
ZvNilpdIRUSfLQQdFTKhxGdGR9aVyNBv6fvqodFYUzCGDk6zdK0lj+CgLZ2a
loNTggjZqTNsjLJEXZyiLek04vdYJCqpGLIRHR/bp+gO9c8Oj48FY540DaCD
LSAXtYcWFyBnjYBMAg+THXEI7iGumLOM4Z8jMaGXgoLMpZhQOp9dq7JD8gXC
6L4YSWqWInKgQMQFfsiv8Og6fCciNY9MOp2osD9p/MERVAC6iVixwB+j4DiM
cEuJHkUCiV9dXORlGd46PM1oPnz4DuH/+JtHNzdbgGQbD8Rx/6Rfs4ghH8bv
ZbykfCFFK8UEdIK48LjMj2+PDS3LyhZSR25aXEuvAiWitI6Pzl+Iv7x+Jd7K
Bi2JFXuPnz69uQGyR/Y6aA6jHgAaF1gbpBofkLdhefB+mh5k5cE16B0HHj8i
kwaPijyXnEWG1QEjxPHR2UsSMGBu+Opku/+tq7bgfLJ6FS4P6W05w1pbG2ss
hmn4p1oIWzLXPBxH1lGHRF++1jf7BOdwj02a2x7uPgTKYXmGcNdT7frZEqpL
zxwdjgd7C5yPcqFgvMV9fAfN9Rpwn+sf+ill1zkQwscFaXmHX9Dc/h4+G/7y
zInd09LMgHpZNlYElsTH2u12QUAfvsNLecRaYSk+PJAKYnnj2aktfTQDHSp+
fwEEggRW5ZmiehLvSdM5+eswQ5TU0X7qkHENjg3PMkyT/i9H1KZ8JtrIbskY
MEC0w7ceoHUfPhzLRl180CAF78EDcUjUVfTFCYjtz9jogHvs8gOtPFfYqzUb
PRFITBdwEGU0wUel0TVJ1TxgpCwYCCFQuhE+sAZ31BuJoeIfZZ5tfPgPOBBf
pJVF8MrWgaDfoQV/A1/87T8kr/6g/hDSD+ZAtCIS0DCYFdhp1h1cd4egN2ZV
q2M1th5QsE9fLVru1GnrStNmPXooPDX/a/0DvunBDIdH//OX/zk7Pj/6n7+2
7HY35h839qRotsF+PlQoTRyoPHoQOcDf8T/w9w3j8IcD8cABuQBxOo3/2Dqy
j/K1PMJn8ggDONFCDKgXMGT7b8Yud5HF+6RulWpfMGjJvXuABahVKRQg7JBV
e138ArksK2MPweSbC3rMBOYiogsiClsVXx6dKzQ9+A0hWnmdDbuzCxgnmqGK
Cx3I5v7Z46LduFa7EjqmQMi6O48eNyIt/tcgrsGSINa+VQjioK+WDCUt0/Qd
Mfgkr2Khy4loDCNa6TlencEhiNOLa0I2Ldn5uOyQULLukHkF/jxStlpNUzHE
mIFCdtwaSV2Fppb0UKbniTJjEw6SW5wTBftzU7zTubycd0m9XL7LsCP+nUsg
apVevdopK4tSC3vijCVqM6zUVJW+N+oIFnWNAGTfdect98OHGuOhV9A56bM5
pcbkB7pN5rak+cXv2eg9wtDzbj6m6HeyEiWU5Qa067iKQILqnx6XW00sp9Ed
yKYI0XApNRjuP3r6aOHdZzzJAqfndNOiJC0NNoD3vLX7cHevu7ML/3f+8NHB
w4fwf72HD/+309OxSNSIg1MbPUAjnGvuVzl3CUXHGXilK2+Rl2aWhWi7Eqd6
Ky9MlNl3wrt7ePP5KrjsxrllLs9BXyFM5GVlhzRMBrFLPn86Piqt4SXmogTi
Ks2vEV0w9g3Q2UO1gkA20i+oeHtU7Hit+dvaKDhONOk2jTXs4qn5gwnrNA/E
o0cP3Z9v/mXXYAWJzeWGcCv6hHTw5eFPmOr0+DneAJ9Rke1J/BeR/FPpbctc
KssVo1I+vQvE/yB36ljJ6NTQwG2Iv3TqLIq+787QPQdfG7h0mHqGcwcxrkwz
Ox7Jc3HKxNkLZnqbVT7L03yCxvgtY78mVQu5/IsFXNDmd+b6e6+EtFjJ8kYx
O9By7TG0Q8rVgDo4iqcUUF3kw3g058cW1tqqhKCX0WIob1Kaz0e4fHq+1E1G
2EDONEEzBk4TLlqPjE9mAmTjrdzG74DgWG7o9nJ5neOu9nCGI0lm1nX8+++O
aq1LitQtvQVjlk7eisxIcoT+/odHHXF+lZPbxIcHZTwE4bibA7EELWU6T6sE
EAAtLa9idELUpu2augjodJKP4mdi8/Boy3jmUVRpem2eo9S9ls99BaXELJXp
ZZoPMGoAjT4X0TwVm2Uco1CKVvABGmgD5EkuHp/iMfsET6HdVXGZcmEsBY8I
6YeVQNLMXmXKSQ3pw4/QU5zCEcZGUo2i8nKy0evan56ofdwG3Grjo9PkY73X
R3F65H+1Si+x881u72Fvt7fj9JKbxX//sfaBBrsPH+4cjAZPDw52ls1FvGsn
PL3fKzjX0l7eXLurzSWeE1aFBzK92s5JtHVh9sW96t/5TT77Xu06HrYNIeG7
FKQhh0ddwEW4TK2V5A1+likbrpsrZMAtRULSLclSE7NKbK6xm39YZp+XKcC5
SCG/GY5VLQYMGbR5qYd84uTN+dGBaP+ftkDJT1wV0Yyy46CDIVqZnz75Zlf4
KAtaCkJ3OUtWnuHEkv9mTsT1xpdsGRrttDq+Gcjiyq1IjJOCIwpVNA6+qpHQ
hafl9/a4Yy1lgM8g6zkFNJNs4JF+h5tObY66lG2E7I0FfVvOy3xo9VTNO7xo
VecjSpUk2bX3YWUa4RIA/2f5bVn0UUnoVwAHFh74zS26lm6nYQd+Owfp7U+o
txwDJaKWfxGcFk0YSdRepeaubUtuLvD132sQ2Gj4lw2apju8u+wOl+htPvpy
iVWDL5f4X7PoL5fY/ZN63Ni6kyd8rKU/Kd1IJtE+wzv9Ksneic2TvIJWuL84
A61ji62c3lxwtcr7sHl+csPBziKrwXIB5bPT3S01fOf+TYf2fj1S6O2X6WBt
m26RG5hFa3O1PXKhpG4aZ5PqApruPfRbmGH+5sOhBhiLlPEjZG1CBp963wws
cbfld7hxv/j7AggziV0OD0tPXQqRx/u/EkTMIteESQMqBUi5h051Iu7vsH4V
GnfVfNlcar3g/ljbMkYsPVGY1OwuJjVL5ajPmdbsfqE1oeZfaM2dIfKF1gRp
TaPBPCCI3eIlT77YrScFnlu2cbaBNcmF0nM5B/KHfthRSe7Myo9xGmXXOt1F
Ra6FvcBQSBVVRJiWNSNO4wMLm0XDyljv0L42hm/yIvkFXSXTVL6KO7PcTdp0
cwA1yZ6MKvxk6exhDQr/hYbKNl9o6CoQ+UJDF9HQzq+iLobIRZAqfIYPxKsq
mb+ukPxvAuGFonUdwqtLBjYM7s02NIqxniMOucWu29qTE4MAFTvGuF4s7CBj
dtGhmg7mmt05CxlnbDtrYIkdCnY2afBQbrAdekbstREUD+S7G2Vwk7FrSgYw
MfvoOAcnnOalzl1i8v8FV7B5fGq91+lg6o6Iq2Hv07t87i2+LdVFUowsP4g1
L4uD+aGLYxrc4xVa6VLs3b++uVy0XoBgK92fvhWmXvejTsM3iPznpKPGqclH
R91fo6MKe75ZXiyY/wc6Uo7Pqd1CFdFgN1AZxEA4oS+p8halb7HQVsd2HiUv
sCqiPCDSdaWUQ5co7oAwj1F8ymeb/aYxZwj9zrQbWzghRJg9QLly8yw1Pz2T
Qi/oqadexus55mgbJnOhSQLVMkO2rEQKFOBR4WqBl8sMB8pHh4oajShcl1cd
R5zVdFNuHD2/9R49Jxqx7NMjr5na1yBxHAg1vmDPCNcVIuB90+1+fXq085E8
d5S/DrlU8FX4y/d4sDt6NPzfr7W7SODTJk+Kj4dHXuOAL5DaSNsa6yNvZPfA
QCe0kYD7Bm1kN+D6wRv5q7eR0HICG9H3WV0OkCbk9aX4CUbLc/bfvFY1Ta27
d4Sh7ZzOCG/or/hAoRbrxvURf9KrnSMNcgah++ATeJ8M60sTksnt63Mg/KdA
RQgaJJU1eEWIdjtIHCTgdxExP0+IGtL5KWH61wUwbWaKNnlejQ2qpNfomWm6
co4tklSkK5bxHHcY3TNF4fW3h0eK/akrDfy5pHdJ6YDclczC2IkcBoQD6Cyl
SOgL47iJqYzrFTQ9x+ZGKh8kz76zpNXUodeLP6pJzx7kI+xlRxHor5cPYpoe
Hu0pEtq2WcEaK+F+ITB4g6jciU6TewXD4dGuuCUY9j8dGII8zv1Y/MnDXXW5
FPA0h5K3DQSvgjtEaTLJ/tgaxojJ/D6vLwZecTTBjuJZMqz8i7DkqZ6iWy2P
SDuQALteRkWSz0t2jzRVELQsV7uN/3qL6/rG1t+CVeW+TVkvyJCFuHIrLfFO
CmKIQQ3jna5Enntn+WdsUzr7jDa7e5fNLjQKnJNJ4HM62L277HV/cdAPa6Cf
0273F+62UcpyyffKD3qaUIfkqEFIjpJy1zM0e2UTO6f4oarFw4Y5yt7jpEA3
FogS/6nSlNgvgiWlwQzmNcIXO07FXDq5tCk9pMqqTcyDRu9mg6SLqVaAlXFK
PTwHigWsVM1SWpScBRgN0TTMfMQDELXdIU7IkeAyF0Q2wsTQ8B8dg1cpRhuV
4iqWVkPQAC9iVfhYlMN8FpcHGxtdiv7TPRJ8zRyByjAj7nqVCz7AzRaL2mSQ
oL93W1sdX/TEcLpInOuU1ArcFNIjjk+3X5++OlPfbpFVhQMLgbmn+bVMQQmc
l0wVBJn/v71j7WkjSX73r+jzfgAv2MFDzCVoLyfHOMgSGA4T9lYnJRrsMfhi
bDSDIVyc/35V1e+e7vE4CZt9DRLyTHf1u6urqutBhn6jRMo0e6dssLiEjjag
5W3WOmSD4xPuT4iO/Al6OpRCIV4qLQbozOBNpsQpuFrINsVwN05LkO7L2CHU
9RA/Sn/Ona5wSlWjWr1rqaPNnku1Jl8EegJN5xmf1fM+LABqcZqER8dHzYsh
cR9e36CTS+D5NSJw6cbN8z47UWtnntac9GUYdFUCgf7E6Vj6/0qm/KQFKvKH
nUafX8mqB0Ksop/8GrQeBIgQ2hQ5GY/DBeVzKPHXcvCm6bf7Kh4AgOOCog3o
y4bbEqdZvjSCqxilL816rJdQGtUvh3jr8GfFh3F5nAF+2o102uHP/AX+yQl4
Zxb7zq1Qv74zXt5VjEQlf1saQyIe+bpkOuPSBLaqCYy9+bEI2OF4NkLAR+1+
MwfsfYwkAIoqzZcvGq1mo4k2uc+i5yXAo53dxk6j2dwlAK/YsKiArwM4vX7M
0Cic35j1DvaL0pyqXPltKC2qaMrBPOw8Yk7C0jmO8q1wVHlAmFLgU85IGuVF
ucNTGLzbxuEJF5fiSRHPPmTKz4sH6+N5kic5hEeyNSTq7QHba7V29wR2e314
igiPf23tVEJoihmYqkC4bSEpqW2y82x3x0EKMuk5JTGFpLwoil63xGtjy4ev
FIoyEJQ0g21EBorgKXsipWUiKC96shCUhZxs9KQRlMQ6gmW1EJQvRcNJzAT7
VbxuCdy0scVTIpUCvfXtbqMF9g96Suxuoym8j15hDX+y0W1T/YrsfPpYhdVl
vJivr2wQY3UzZ/GbiTaQ3AfEteOH7vHr1+/fnrqJUdVtfaXCfhRg2qc7oJV6
zqXavo1dMIuYwn2cK3wHuk3cdbNNWD61fW2LDSscc5yqHDotEmnCDnlfmrm6
MwvErtVrbeeNN47iTgE6/Z4wkOxYVLpjvwjUaHYs8nUsMjrWKujYntsxQDNM
KIhBNkJAuXWl1bN4FsRGwSxujS0vWo8kWj8S2PfkHnme5MFE2OjNoMgex7zl
tU2d8eskJb9BmXCIRQycF00vpskfxz65o5h7svWmQxd+46DjlnCBte8Q4Tgk
7DfEBnx6k0if4ZqURAbM3gwvICEnIB7AvJ0e84pCnFs8F8hro1g8SEwpsYY6
VNqU8UttGIUJZMiG0dsv5lenDPWhtDEjK7JnZKyESSMLLyrRUal3WVwGzxzs
ks44jLNhPILtg0iN684m4aGwOwMT74CFx8V8ShQuqsAFDwNmH1rFXbfgZ8nH
u/r1/JYKUTrU61Rfhx0J0O5JGDAqdR6fjanz5ExO1ykinBhI8dWWy/qUlut5
7B4p7B79hd296KsEng7iekF//Rnt638XpuqXV7clMHoVsq3AyYDqJlfXl/N0
NRIuhdtLHFQiK/lgi2F0/YS1/RSiszAuDIA9lQ2/ot4lkV/mmufMINkdJuBp
DPMr5e7tqZficlpe6/lu9czZdi/1yhPleZRd4Mmv4FbPvNTL6QLY6GuFKoBz
HElNAGeZlPK/58KYygM7O6F1ZiOnEup1FQ9g3pLMLFMakjmHYMiOLHdIe8zI
7AyGzZQzCHlskreYymcpMiHLcSb2DjY3+GfvUHktpczh8hlKWXXkVkeoK8HF
t4JaVwS6b/wCNLkXcfuo8Nwc+TuliiAqm5Umsw2qmpUgqzUVzUqS0aXQei5X
EM8bsCqEtWysFxNGa2HCEAH7Z8WE0TfAhDmy9akw4d5vGhO2/giYsIjE5YSt
b+Q0OevFZn5cFmycSFakKhcCB3JJaXJViJNZGaYsh6DWQkcV+d1Phn6JP4Ee
N6GTkmMiUq0QZ0SkKioVday/UFbtKP3YxkAov+Z5R0KObQnHG+xkJg0QEQUY
IWSlbZEdry0R9zYySLRoUpGHT+7rF6Xk/L16NV1guC0j/NIzNFHMeGiQXGS3
/qDzVOL1qkfHSjRp3/vVoOiz6RzSkjoGZMVAkubeziVa28hGmLRlpvOHOuab
DR81jIWs5de6cyAezR9wSdzOM64pJEphX8Doj+fpQ5yOuJfw6/h+Ats/t1f4
7hFIrmoNjp/DkSGGeUf56nl7dnTUASrEPHhlPqd/B0Jti533xdJDXSgqoO4U
kB/zVeNKZOCCZs5E29noNoep4dtq5AyZRD/xBjWPbjmnWBekzn+I67MRlyNI
Ka7B5SO8NURuDV+OChFJrcOSxw6yODPtnA0syK09ZyIUacwuJundIp5O/gdI
oKsjDLOzxYxiL5M+Xwcd96PVKLdNUXqY5NDf1cPc/PSJvqsIq6gEWVupnmmH
gdX6lrzu3mycxtlduhjeiRgDBTYzNoK8iT8I7REdqIeQJq171KlsClUIw5hc
ODU/5n7Tlf5KEt+gFSZGQJglaY3HA2f3xhhO7Iam4WFsQH2kB4z2uUNT3ZAU
EoE6w1hgUCRGI1YW1jwgvJg1dhwPrydo/2rVI1NPMfruXWLOKw8eYdSFGjG2
UiXZvjrdwAMDasKoRyL4EC8ZAw8ZhhjucWJ3eJ8XDesVhoqf0PCK4ZdlgEBU
clVNUPEA9QSdcxGRVv0Raxvj/rEOWaNYTdUKQXq1XMa4xKBuoVGqRUls81bq
R2miuybjFJPWq4w1ThFv5yl0Cged1GhnOBgYPpaM+70D0GBkM63gaOB0VdvQ
ysVsAjvb4r16KgRIFRuhI9Lh1KUJzM9MzAptrNOeO2ByTatI95kZAYRMw/Fi
3wy96Wx4NWbUYtHGoa+JUgVXKmqRwvE4htN8mzmuDKj5nFimALGO7lUJwzb/
w020SphT4eN09KAjVIlKgucfBc51qsz/a4EvL46bS/wf0f9d+ORua952PzhX
ATP/r1U7qndF9L9F/5sRz1CgLWWBSyUw9X8rMFmB2nMNa7jqiIWNN5+GrH3F
BATAl3KYl6h+87496EtWqRy4XFoEzm5GrX03S3HtjB3+LH5UZ48f+92z98NW
Nprt7bwYv/nXdHd3tzmqhsA3ZN9XTH/RyLN3rBGVAffaHi7hb9VToBy3xLJF
WIqeYbuASIcn6g/vUeFKQ+Jw80dqY/Ebm2a0+7ze2vv7i5dORfKnVrgs0u5b
FvkDwNIazTAaW9bvV46KD431xvV2g6ZULmZJ7ikMJkmV0JR6Va49PQiCn3ab
zl5o7awB/lW18yW2Epd9KxT+HcFLGPKGNpOOj+tQ4X7t7DODHBNBezR3wHEf
WS7SNZ9TJCpoay8GmQjNxZkXojQ0cSGtajwklqTicuTxmIcYn2RmZosOk25Y
HE5g2wpxNpndA3kyT8laanE7IuKJ6Om8WJYIbFHqfTxdKKPlAEXm6ox3JLH1
ZQ8NQeXEMv3iz0HvrNs5Z73+efesc9Lvw0vvpM9Ozg66Z73+IdsEwk+a+sgh
dBHUumvpVcUtwRiEjpB08YE0R+dgX+PY3K3HT6urtZ/SspWP3zmnzKqMLIwx
MQ4da/0CDRyuwYrtBWhX1aBMpHpqZb81lrVh1ZHXVTZaglsSin3WkzQ6nS9B
/KHUgHtyxwsZ66mz4ykgcfLxbps4ImzpeIq8v2DxJ7MJD/sHnPePLgEu0QT0
fTy5WohKMOgg8ha7NRZfzu+TBgAOAty/5oQCdh5CPGC6nJKCB+B+oOL/SsdM
nOcejSb4BhMqQDKTH0rY0e7gmG1enPaZOQg1lBPY+vcDS+Cx2Tpk14+X6WQk
xkAz5cgO5XBtPPwW+tWGaMXD55nCoM2L49r3VMf+lvoe9frrf5/XDzp1dQN1
cdqpj+fz0refzkBBcTj96wp+hz6M8Fu+R13rPrMZPd91sf5XXmYGVe7yHoye
SufO7veqW8Yy94ze69OCa9MvuW0suG9cfeNYoD9RfOvo3jt67FPw+RZKD4EL
4WLReg6lriNhl1d8DpHsJV691DIs1lXKcRxfB9XjdHD6/vwukVd+cJg56Akj
8iqCHE42LPr4oMXiBXwA0nWoyX3oY3w5nWTXFFYceGa9RdEg8hWJEMWVopDv
ZlQWWlnGROhMHzHqKK7JkRwn8tsznULbsUg8Lo3A9uSNFbCw0+qsZnYLq8gW
4zEGMVX9z5LhIkW570MSf5jB2CUYCjUDrC5O70+fBgK/Rtjnf8IZs9dsoRMG
lDYaqY2mSn/Zihw/QX+dYoXP7+4U+5W0gVpfowz0BIdnkW99O6erCRQ9/46a
QNFfmkBPpwm0u1dKEyioMGSfIAH6gnJ+SB5xjG/gSEgn8bQgK2S+GbXqADC8
jieEtoKS7kARfqV539dfRZvJe/AX0Rra/R0ec3naYx26w7ji1+Io5dkHo4if
X8PSvLrGs7lS4cGJxVoVDB8e2niPyvhqZtkwmaHnPamXhGr6wOATWYEegoD5
5b56AOgB2gEUgeSn6VL2Np1kSh6XCQ/LOpYLdxUoT3A1bCL/589cnNfpqqjm
eNmsUMj8Ae8/ucMfYM2T6Xx2pf27twdssz3o87UPFAZ64kRw4idQAsMZ4WR0
pUR9sgEbmZIpbJ52t5GhV0dnF/LXqMtIXt3OJ3Cm383r9MO49MRGKAqLhjXD
60+krYiwCgOmNIh4zRxrmSk/ONhm9Yj8izd3qzWsISUHQ2bT/e5DQ5dwIQeW
nvxb6KA5d9lAT8hpUH4RupHHrdxlPxuFbDl9WRrSirqUVuCtxZbbXaMQutnY
vDh702zWfD03Kuh0KXp7e8AvAq1C7Ebj+2uatH/IKeMp5VoS1WQha4+JryWe
JzTFbktmvCUF5RdMRwXHynuBuwLKaEaEzYiabjMKoPijb32/OmlFC2+whTe5
gVrZQnM0wjtUHy4ufgyLZZ1dOhBYXIbSMjRfBDvC8TvetyDHhpgtZoM2nAVa
v4PQzZj/sO5zFO7SEeXvri0tkUtoR5Jw1I/+LoRvt06X40Jvc0TELhlKwxDG
Sg0TAEsnl4s7jmylu6CiutFLXjIbZdtMs6QXR+0+Kj3N0xshcp6NbIWVBmtP
s/m2Rzo9Su7iyTSTx4eB5YXumeDAKTAG+YVUIMgnJ/EIU0dAgs+ktBWHO3Xr
gcwwEZS+ISnFDR1cIGcxB9TaSicWBk0mDZt7p+f1ztvBeb39umPSlJpoFxm9
mRwbaJGFziozGxGlWcwVLKvw4wc3R6GlbshM1+V5imx2XK7HNX9gRfLHak7y
6DXXDViUF9tsrzTYLrK9Ng2vV7OvBKFZ2CpOgpvFoYcdzjAY6dwqyer8Smtl
D4PmMdTG9qLjrQHknCb19nCIw5+fw/xgFApOwwbIfNHSBi7woKEzFZkxr9ps
3lKF5XGIh6OMcsWO45vJ9NHuN20aP6iXVfKuFs2jhkZAzcxBry1nJygxrqbJ
zfwu8WzZvMa1BDGHuNQIKt3zggmJRzeTWX11RrM4c3A5PDQpCLmGZfcajipM
TvRzLppQ7gCoG4t/Hem3hwOloAZzCrJgUxpVqRKu+EbEnw+ZzaIA6A2w+3AQ
Io+DWtBYNzkONnm4fAwhvJZFrWF+sSmPzPECaASpCGIdnHAw/sDaww+z+cMU
+DxyAQwjNFvcXOIl/D+q43iaJarRUu+YTZP7JIVxQX/Bfzt703nZfBEpSTJ9
iF42eeQvqWZ8+Ags5zHwemmsKKA0QV9ZDSxdZuteXgIt0k4nSaay/dLuH7KD
OUYQzQQMVYXpfMy4RVGPXOIPkzoqPZPgWpd7gJTRiHXj7G4KlIcmwgBHw/iw
9O6qPpqkqkn/BxOg6TNRhQIA

-->

</rfc>
