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

<t>This document specifies a YANG service data model for Attachment Circuits (ACs). This model can be used for the provisioning of ACs before or during service provisioning (e.g., Network Slice Service). The document also specifies a service model for managing bearers over which ACs are established.</t>
      <t>Also, the document specifies a set of reusable groupings. Whether other service models reuse structures defined in the AC models or simply include an AC reference is a design choice of these service models. Utilizing the AC service model to manage ACs over which a service is delivered has the advantage of decoupling service management from upgrading AC components to incorporate recent AC technologies or features.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Operations and Management Area Working Group Working Group mailing list (opsawg@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/opsawg/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/boucadair/attachment-circuit-model"/>.</t>
    </note>
  </front>
  <middle>
    <?line 98?>

<section anchor="introduction">
      <name>Introduction</name>
      <section anchor="scope-and-intended-use">
        <name>Scope and Intended Use</name>
        <t>Connectivity services are provided by networks to customers via dedicated terminating points, such as Service Functions <xref target="RFC7665"/>, customer edges (CEs), peer Autonomous System Border Routers (ASBRs), data centers gateways, or Internet Exchange Points. A connectivity service is basically about ensuring data transfer received from or destined to a given terminating point to or from other terminating points within the same customer/service, an interconnection node, or an ancillary node. The objectives for the connectivity service can be negotiated and agreed upon between the customer and the network provider. To facilitate data transfer within the provider network, it is assumed that the appropriate setup is provisioned over the links that connect customer terminating points and a provider network, allowing successfully data exchanged over these links. The required setup is referred to in this document as Attachment Circuits (ACs), while the underlying link is referred to as "bearers".</t>
        <t>This document adheres to the definition of an Attachment Circuit as provided in Section 1.2 of <xref target="RFC4364"/>, especially:</t>
        <ul empty="true">
          <li>
            <t>Routers can be attached to each other, or to end systems, in a
   variety of different ways: PPP connections, ATM Virtual Circuits
   (VCs), Frame Relay VCs, ethernet interfaces, Virtual Local Area
   Networks (VLANs) on ethernet interfaces, GRE tunnels, Layer 2
   Tunneling Protocol (L2TP) tunnels, IPsec tunnels, etc.  We will use
   the term "attachment circuit" to refer generally to some such means
   of attaching to a router.  An attachment circuit may be the sort of
   connection that is usually thought of as a "data link", or it may be
   a tunnel of some sort; what matters is that it be possible for two
   devices to be network layer peers over the attachment circuit.</t>
          </li>
        </ul>
        <t>When a customer requests a new value-added service, the service can be bound to existing attachment circuits or trigger the instantiation of new attachment circuits. The provisioning of a value-added service should, thus, accommodate both deployments.</t>
        <t>Also, because the instantiation of an attachment circuit requires coordinating the provisioning of endpoints that might not belong to the same administrative entity (customer vs. provider or distinct operational teams within the same provider, etc.), <strong>providing programmatic means to expose 'attachment circuits'-as-a-service will greatly simplify the provisioning of value-added services</strong> delivered over an attachment circuits. For example, management systems of adjacent domains that need to connect via an AC will use such means to agree on 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, a network function, a hosting infrastructure, or a peer network provider. The model can be used for the provisioning of ACs prior or during advanced service provisioning (e.g., Network Slice Service).</t>
        <t>The "ietf-ac-svc" 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 to decorrelate the management of the (core) service vs. upgrade the AC components to reflect recent AC technologies or new features (e.g., new encryption scheme, additional routing protocol). <strong>This document favors the approach of completely relying upon the AC service model instead of duplicating data nodes into specific modules of advanced services that are delivered over an Attachment Circuit.</strong></t>
        <t>Since the provisioning of an AC requires a bearer to be in place, this document introduces a new module called "ietf-bearer-svc" that enables customers to manage their bearer requests (<xref target="sec-bearer-module"/>). The customers can then retrieve a provider-assigned bearer reference that they will include in their AC service requests. An example to retrieve 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 SAPs. Both schemes are supported in the AC service model.</t>
        <t>Each AC is identified with a unique identifier within a (provider) domain. From a network provider standpoint, an AC can be bound to a single or multiple Service Attachment Points (SAPs) <xref target="RFC9408"/>. Likewise, the same SAP can be bound to one or multiple ACs. However, the mapping between an AC and a PE in the provider network that terminates that AC is hidden to the application that makes use of the AC service model. Such mapping information is internal to the network controllers. As such, the details about the (node-specific) attachment interfaces are not exposed in the AC service model.</t>
        <t>The AC service model <strong>does not make any assumptions about the internal structure or even the nature or the services that will be delivered over an attachment circuit or a set of attachment circuits</strong>. Customers do not have access to that network view other than the ACs that the 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 these provisioning of these services require specific configuration on ASBR nodes, such configuration is handled at the network level and is not exposed to the customer at the service level. However, the network controller will have access to such a view as the service points in these ASBRs will be exposed as SAPs with "role" set to "ietf-sap-ntw:nni" <xref target="RFC9408"/>.</t>
        <t>The AC service model can be used in a variety of contexts, such as (but not limited to) those provided in <xref target="examples"/>:</t>
        <ul spacing="normal">
          <li>
            <t>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"/>).</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="position-acaas-vs-other-data-models">
        <name>Position ACaaS vs. Other Data Models</name>
        <t>The AC model specified in this document <strong>is not a network model</strong> <xref target="RFC8969"/>. As such, the model does not expose details related to specific nodes in the provider's network that terminate an AC (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 <strong>is not a device model</strong>. A network provider may use a variety of device models (e.g., Routing management <xref target="RFC8349"/> or BGP <xref target="I-D.ietf-idr-bgp-model"/>) to provision an AC service in relevant network nodes.</t>
        <section anchor="why-not-using-the-l2sm-as-reference-data-model-for-acaas">
          <name>Why Not Using the L2SM as Reference Data Model for ACaaS?</name>
          <t>The L2SM <xref target="RFC8466"/> covers some AC-related considerations. Nevertheless, the L2SM structure is primarily focused on Layer 2 aspects. For example, the L2SM does not cover Layer 3 provisioning, which is required for the typical AC instantiation.</t>
        </section>
        <section anchor="why-not-using-the-l3sm-as-reference-data-model-for-acaas">
          <name>Why Not Using the L3SM as Reference Data Model for ACaaS?</name>
          <t>Like the L2SM, the L3SM <xref target="RFC8299"/> addresses certain AC-related aspects. However, the L3SM structure does not sufficiently address Layer 2 provisioning requirements. Additionally, the L3SM is primarily designed for conventional L3VPN deployments and, as such, has some limitations for instantiating ACs in other deployment contexts (e.g., cloud environments). For example, the L3SM does not provide the capability to provision multiple BGP 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>This document uses the following terms:</t>
      <dl>
        <dt>Bearer:</dt>
        <dd>
          <t>A physical or logical link that connects a customer node (or site) to a provider network. A bearer can be a wireless or wired link. One or multiple technologies can be used to build a bearer. The bearer type can be specified by a customer.</t>
        </dd>
        <dt/>
        <dd>
          <t>The operator allocates a unique bearer reference to identify a bearer within its network (e.g., customer line identifier). Such a reference can be retrieved by a customer and used in subsequent service placement requests to unambiguously identify where a service is to be bound.</t>
        </dd>
        <dt/>
        <dd>
          <t>The concept of bearer can be generalized to refer to the required underlying connection for the provisioning of an attachment circuit. One or multiple attachment circuits may be hosted over the same bearer (e.g., multiple VLANs on the same bearer that is provided by a physical link).</t>
        </dd>
        <dt>Network controller:</dt>
        <dd>
          <t>Denotes a functional entity responsible for the management of the service provider network.</t>
        </dd>
        <dt>Service orchestrator:</dt>
        <dd>
          <t>Refers to a functional entity that interacts with the customer of a network service. The service orchestrator is typically responsible for the attachment circuits, the Provider Edge (PE) selection, and requesting the activation of the requested service to a network controller.</t>
        </dd>
        <dt>Service provider network:</dt>
        <dd>
          <t>A network that is able to provide network services (e.g., Layer 2 VPN, Layer 3, and Network Slice Services).</t>
        </dd>
        <dt>Service provider:</dt>
        <dd>
          <t>A service provider that offers network services (e.g., Layer 2 VPN, Layer 3, and Network Slice Services).</t>
        </dd>
      </dl>
    </section>
    <section anchor="sample-uses-of-the-data-models">
      <name>Sample Uses of the Data Models</name>
      <section anchor="acs-terminated-by-one-or-multiple-customer-edges-ces">
        <name>ACs Terminated by One or Multiple Customer Edges (CEs)</name>
        <t><xref target="uc"/> depicts two target topology flavors that involve ACs. These topologies have the following characteristics:</t>
        <ul spacing="normal">
          <li>
            <t>A Customer Edges (CEs) can be either a physical device or a logical entity. Such logical entity is typically a software component (e.g., a virtual service function that is hosted within the provider's network or a third-party infrastructure). A CE is seen by the network as a peer SAP.</t>
          </li>
          <li>
            <t>An AC service request may include one or multiple ACs, which may be associated to a single CE or multiple CEs.</t>
          </li>
          <li>
            <t>CEs may be either dedicated to one single connectivity service or host multiple connectivity services (e.g., CEs with roles of service functions <xref target="RFC7665"/>).</t>
          </li>
          <li>
            <t>A network provider may bind a single AC to one or multiple peer SAPs (e.g., CE#1 and CE#2 are tagged as peer SAPs for the same AC). For example, and as discussed in <xref target="RFC4364"/>, multiple CEs can be attached to a PE over the same attachment circuit. This scenario is typically implemented when the Layer 2 infrastructure between the CE and the network is a multipoint service.</t>
          </li>
          <li>
            <t>A single CE may terminate multiple ACs, which can be associated with the same bearer or distinct bearers.</t>
          </li>
          <li>
            <t>Customers may request protection schemes in which the ACs associated with their endpoints are terminated by the same PE (e.g., CE#3), distinct PEs (e.g., CE#34), etc. The network provider uses this request to decide where to terminate the AC in the network provider network and also whether to enable specific capabilities (e.g., Virtual Router Redundancy Protocol (VRRP)).</t>
          </li>
        </ul>
        <figure anchor="uc">
          <name>Examples of ACs</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="224" width="528" viewBox="0 0 528 224" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,112 L 8,160" fill="none" stroke="black"/>
                <path d="M 72,32 L 72,48" fill="none" stroke="black"/>
                <path d="M 72,112 L 72,160" fill="none" stroke="black"/>
                <path d="M 128,48 L 128,144" fill="none" stroke="black"/>
                <path d="M 208,32 L 208,176" fill="none" stroke="black"/>
                <path d="M 304,176 L 304,208" fill="none" stroke="black"/>
                <path d="M 376,32 L 376,176" fill="none" stroke="black"/>
                <path d="M 456,32 L 456,80" fill="none" stroke="black"/>
                <path d="M 456,128 L 456,160" fill="none" stroke="black"/>
                <path d="M 496,160 L 496,208" fill="none" stroke="black"/>
                <path d="M 520,32 L 520,80" fill="none" stroke="black"/>
                <path d="M 520,128 L 520,160" fill="none" stroke="black"/>
                <path d="M 8,32 L 72,32" fill="none" stroke="black"/>
                <path d="M 208,32 L 376,32" fill="none" stroke="black"/>
                <path d="M 456,32 L 520,32" fill="none" stroke="black"/>
                <path d="M 72,48 L 128,48" fill="none" stroke="black"/>
                <path d="M 376,48 L 400,48" fill="none" stroke="black"/>
                <path d="M 424,48 L 456,48" fill="none" stroke="black"/>
                <path d="M 376,64 L 400,64" fill="none" stroke="black"/>
                <path d="M 424,64 L 456,64" fill="none" stroke="black"/>
                <path d="M 8,80 L 72,80" fill="none" stroke="black"/>
                <path d="M 456,80 L 520,80" fill="none" stroke="black"/>
                <path d="M 128,96 L 152,96" fill="none" stroke="black"/>
                <path d="M 176,96 L 208,96" fill="none" stroke="black"/>
                <path d="M 8,112 L 72,112" fill="none" stroke="black"/>
                <path d="M 456,128 L 520,128" fill="none" stroke="black"/>
                <path d="M 72,144 L 128,144" fill="none" stroke="black"/>
                <path d="M 376,144 L 400,144" fill="none" stroke="black"/>
                <path d="M 424,144 L 456,144" fill="none" stroke="black"/>
                <path d="M 8,160 L 72,160" fill="none" stroke="black"/>
                <path d="M 456,160 L 520,160" fill="none" stroke="black"/>
                <path d="M 208,176 L 376,176" fill="none" stroke="black"/>
                <path d="M 304,208 L 392,208" fill="none" stroke="black"/>
                <path d="M 416,208 L 496,208" fill="none" stroke="black"/>
                <g class="text">
                  <text x="8" y="52">│</text>
                  <text x="412" y="52">AC</text>
                  <text x="8" y="68">│</text>
                  <text x="36" y="68">CE#1</text>
                  <text x="72" y="68">│</text>
                  <text x="412" y="68">AC</text>
                  <text x="484" y="68">CE#3</text>
                  <text x="164" y="100">AC</text>
                  <text x="280" y="100">Network</text>
                  <text x="36" y="148">CE#2</text>
                  <text x="412" y="148">AC</text>
                  <text x="484" y="148">CE#4</text>
                  <text x="404" y="212">AC</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
.-------.                .--------------------.         .-------.
│       +------.         |                    +---AC----+       |
│ CE#1  │      |         |                    +---AC----+ CE#3  |
'-------'      |         |                    |         '-------'
               +---AC----+     Network        |
.-------.      |         |                    |
|       |      |         |                    |         .-------.
| CE#2  +------'         |                    +---AC----+ CE#4  |
'-------'                |                    |         '----+--'
                         '-----------+--------'              |
                                     |                       |
                                     '-----------AC----------'
]]></artwork>
          </artset>
        </figure>
      </section>
      <section anchor="separate-ac-provisioning-vs-actual-service-provisioning">
        <name>Separate AC Provisioning vs. Actual Service Provisioning</name>
        <t>The procedure to provision a service in a service provider network may depend on the practices adopted by a service provider. This includes the flow put in place for the provisioning of advanced network services and how they are bound to an attachment circuit. For example, a single attachment circuit may be used to host multiple connectivity services. In order to avoid service interference and redundant information in various locations, a service provider may expose an interface to manage ACs network-wide. Customers can then request a bearer or an attachment circuit to be put in place, and then refer to that bearer or AC when requesting services that are bound to the bearer or AC.</t>
        <t><xref target="_u-ex"/> shows the positioning of the AC service model is the overall service delivery process.</t>
        <figure anchor="_u-ex">
          <name>An Example of AC Model Usage</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="656" width="512" viewBox="0 0 512 656" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,560 L 8,592" fill="none" stroke="black"/>
                <path d="M 48,560 L 48,592" fill="none" stroke="black"/>
                <path d="M 96,432 L 96,480" fill="none" stroke="black"/>
                <path d="M 104,320 L 104,368" fill="none" stroke="black"/>
                <path d="M 120,544 L 120,608" fill="none" stroke="black"/>
                <path d="M 136,368 L 136,432" fill="none" stroke="black"/>
                <path d="M 136,480 L 136,536" fill="none" stroke="black"/>
                <path d="M 176,288 L 176,320" fill="none" stroke="black"/>
                <path d="M 176,432 L 176,480" fill="none" stroke="black"/>
                <path d="M 208,32 L 208,64" fill="none" stroke="black"/>
                <path d="M 208,112 L 208,160" fill="none" stroke="black"/>
                <path d="M 208,208 L 208,256" fill="none" stroke="black"/>
                <path d="M 208,376 L 208,496" fill="none" stroke="black"/>
                <path d="M 232,320 L 232,368" fill="none" stroke="black"/>
                <path d="M 272,64 L 272,112" fill="none" stroke="black"/>
                <path d="M 272,160 L 272,208" fill="none" stroke="black"/>
                <path d="M 272,256 L 272,288" fill="none" stroke="black"/>
                <path d="M 296,320 L 296,368" fill="none" stroke="black"/>
                <path d="M 336,32 L 336,64" fill="none" stroke="black"/>
                <path d="M 336,112 L 336,160" fill="none" stroke="black"/>
                <path d="M 336,208 L 336,256" fill="none" stroke="black"/>
                <path d="M 368,288 L 368,320" fill="none" stroke="black"/>
                <path d="M 368,368 L 368,536" fill="none" stroke="black"/>
                <path d="M 384,544 L 384,608" fill="none" stroke="black"/>
                <path d="M 424,320 L 424,368" fill="none" stroke="black"/>
                <path d="M 456,560 L 456,592" fill="none" stroke="black"/>
                <path d="M 496,560 L 496,592" fill="none" stroke="black"/>
                <path d="M 208,32 L 336,32" fill="none" stroke="black"/>
                <path d="M 208,64 L 336,64" fill="none" stroke="black"/>
                <path d="M 208,112 L 336,112" fill="none" stroke="black"/>
                <path d="M 208,160 L 336,160" fill="none" stroke="black"/>
                <path d="M 208,208 L 336,208" fill="none" stroke="black"/>
                <path d="M 208,256 L 336,256" fill="none" stroke="black"/>
                <path d="M 176,288 L 368,288" fill="none" stroke="black"/>
                <path d="M 104,320 L 232,320" fill="none" stroke="black"/>
                <path d="M 296,320 L 424,320" fill="none" stroke="black"/>
                <path d="M 104,368 L 232,368" fill="none" stroke="black"/>
                <path d="M 296,368 L 424,368" fill="none" stroke="black"/>
                <path d="M 96,432 L 176,432" fill="none" stroke="black"/>
                <path d="M 96,480 L 176,480" fill="none" stroke="black"/>
                <path d="M 120,544 L 384,544" fill="none" stroke="black"/>
                <path d="M 8,560 L 48,560" fill="none" stroke="black"/>
                <path d="M 456,560 L 496,560" fill="none" stroke="black"/>
                <path d="M 48,576 L 120,576" fill="none" stroke="black"/>
                <path d="M 384,576 L 456,576" fill="none" stroke="black"/>
                <path d="M 8,592 L 48,592" fill="none" stroke="black"/>
                <path d="M 456,592 L 496,592" fill="none" stroke="black"/>
                <path d="M 120,608 L 384,608" fill="none" stroke="black"/>
                <g class="text">
                  <text x="268" y="52">Customer</text>
                  <text x="108" y="84">Customer</text>
                  <text x="176" y="84">Service</text>
                  <text x="232" y="84">Model</text>
                  <text x="96" y="100">e.g.,</text>
                  <text x="164" y="100">slice-svc,</text>
                  <text x="240" y="100">ac-svc,</text>
                  <text x="296" y="100">and</text>
                  <text x="356" y="100">bearer-svc</text>
                  <text x="272" y="132">Service</text>
                  <text x="272" y="148">Orchestration</text>
                  <text x="112" y="180">Network</text>
                  <text x="168" y="180">Model</text>
                  <text x="32" y="196">e.g.,</text>
                  <text x="100" y="196">l3vpn-ntw,</text>
                  <text x="164" y="196">sap,</text>
                  <text x="200" y="196">and</text>
                  <text x="244" y="196">ac-ntw</text>
                  <text x="264" y="228">Network</text>
                  <text x="272" y="244">Orchestration</text>
                  <text x="56" y="276">Network</text>
                  <text x="144" y="276">Configuration</text>
                  <text x="224" y="276">Model</text>
                  <text x="164" y="340">Domain</text>
                  <text x="364" y="340">Domain</text>
                  <text x="168" y="356">Orchestration</text>
                  <text x="360" y="356">Orchestration</text>
                  <text x="36" y="388">Device</text>
                  <text x="64" y="404">Configuration</text>
                  <text x="32" y="420">Model</text>
                  <text x="132" y="452">Config</text>
                  <text x="136" y="468">Manager</text>
                  <text x="256" y="516">NETCONF/CLI................</text>
                  <text x="376" y="516">.</text>
                  <text x="208" y="532">|</text>
                  <text x="84" y="564">Bearer</text>
                  <text x="420" y="564">Bearer</text>
                  <text x="28" y="580">CE#1</text>
                  <text x="248" y="580">Network</text>
                  <text x="476" y="580">CE#2</text>
                  <text x="28" y="628">Site</text>
                  <text x="56" y="628">A</text>
                  <text x="476" y="628">Site</text>
                  <text x="504" y="628">B</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
                          .---------------.
                          |   Customer    |
                          '-------+-------'
          Customer Service Model  |
          e.g., slice-svc, ac-svc,| and bearer-svc
                          .-------+-------.
                          |    Service    |
                          | Orchestration |
                          '-------+-------'
           Network Model          |
  e.g., l3vpn-ntw, sap, and ac-ntw|
                          .-------+-------.
                          |   Network     |
                          | Orchestration |
                          '-------+-------'
    Network Configuration Model   |
                      .-----------+-----------.
                      |                       |
             .--------+------.       .--------+------.
             |    Domain     |       |     Domain    |
             | Orchestration |       | Orchestration |
             '---+-----------'       '--------+------'
  Device         |        |                   |
  Configuration  |        |                   |
  Model          |        |                   |
            .----+----.   |                   |
            | Config  |   |                   |
            | Manager |   |                   |
            '----+----'   |                   |
                 |        |                   |
                 | NETCONF/CLI..................
                 |        |                   |
               .--------------------------------.
 .----. Bearer |                                | Bearer .----.
 |CE#1+--------+            Network             +--------+CE#2|
 '----'        |                                |        '----'
               '--------------------------------'
  Site A                                                  Site B
]]></artwork>
          </artset>
        </figure>
        <t>In order to ease the mapping between the service model and underlying network models (e.g., L3NM, SAP), the name conventions used in existing network data models are reused as much as possible. For example, "local-address" is used rather than "provider-address" (or similar) to refer to an IP address used in the provider network. This approach is consistent with the automation framework defined in <xref target="RFC8969"/>.</t>
      </section>
    </section>
    <section anchor="description-of-the-data-models">
      <name>Description of the Data Models</name>
      <section anchor="the-bearer-service-ietf-bearer-svc-yang-module">
        <name>The Bearer Service ("ietf-bearer-svc") YANG Module</name>
        <t><xref target="bearer-st"/> shows the tree for managing the bearers (that is, the properties of an attachment that are below Layer 3). A bearer can be a wireless or wired link. A reference to a bearer is generated by the operator.
Such a reference can be used, e.g., in a subsequent service request to create an AC. The anchoring of the AC can also be achieved by indicating (with or without a bearer reference), a peer SAP identifier (e.g., an identifier of a Service Function).</t>
        <figure anchor="bearer-st">
          <name>Bearer Service Tree Structure</name>
          <artwork align="center"><![CDATA[
  +--rw bearers
     +--rw placement-constraints
     |  +--rw constraint* [constraint-type]
     |          {vpn-common:placement-diversity}?
     |     +--rw constraint-type    identityref
     |     +--rw target
     |        +--rw (target-flavor)?
     |           +--:(id)
     |           |  +--rw group* [group-id]
     |           |     +--rw group-id    string
     |           +--:(all-bearers)
     |           |  +--rw all-other-bearers?   empty
     |           +--:(all-groups)
     |              +--rw all-other-groups?    empty
     +--rw bearer* [id]
        +--rw id                  string
        +--rw description?        string
        +--rw groups
        |  +--rw group* [group-id]
        |     +--rw group-id    string
        +--rw op-comment?         string
        +--rw customer-point
        |  +--rw identified-by?   identityref
        |  +--rw device
        |  |  +--rw device-id?   string
        |  |  +--rw location
        |  |     +--rw location-name?   string
        |  |     +--rw address?         string
        |  |     +--rw postal-code?     string
        |  |     +--rw state?           string
        |  |     +--rw city?            string
        |  |     +--rw country-code?    string
        |  +--rw site
        |  |  +--rw site-id?    string
        |  |  +--rw location
        |  |     +--rw location-name?   string
        |  |     +--rw address?         string
        |  |     +--rw postal-code?     string
        |  |     +--rw state?           string
        |  |     +--rw city?            string
        |  |     +--rw country-code?    string
        |  +--rw custom-id?       string
        +--rw requested-type?     identityref
        +--rw test-only?          empty
        +--ro bearer-reference?   string
        |       {vpn-common:bearer-reference}?
        +--ro ac-svc-ref*            ac-svc:attachment-circuit-reference
        +--rw requested-start?    yang:date-and-time
        +--rw requested-stop?     yang:date-and-time
        +--ro actual-start?       yang:date-and-time
        +--ro actual-stop?        yang:date-and-time
        +--rw status
           +--rw admin-status
           |  +--rw status?        identityref
           |  +--rw last-change?   yang:date-and-time
           +--ro oper-status
              +--ro status?        identityref
              +--ro last-change?   yang:date-and-time
]]></artwork>
        </figure>
        <t>The same customer site (CE, NF, etc.) can terminate one or multiple bearers; each of them uniquely identified by a reference that is assigned by the network provider. These bearers can terminate on the same or distinct network nodes. CEs that terminate multiple bearers are called multi-homed CEs.</t>
        <t>A bearer can be created, modified, or discovered from the network. For example, the following deployment options can be considered:</t>
        <dl>
          <dt>Greenfield creation:</dt>
          <dd>
            <t>In this scenario, bearers are created from scratch using specific requests made to a network controller. This method  allows providers to tailor bearer creation to meet customer-specific needs. For example, a bearer request may indicate some hints about the placement constraints ('placement-constraints'). These constraints are used by a provider to determine how/where to terminate a bearer in the network side (e.g., PoP/PE selection).</t>
          </dd>
          <dt>Auto-discovery using network protocols:</dt>
          <dd>
            <t>Devices can use specific protocols (e.g., Link Layer Discovery Protocol (LLDP)) to automatically discover and connect to available network resources. A network controller can use such reported information to expose discovered bearers from the network using the same bearer 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>'id':</dt>
          <dd>
            <t>Used to uniquely identify a bearer. This identifier is typically selected by the client when requesting a bearer.</t>
          </dd>
          <dt>'description':</dt>
          <dd>
            <t>Includes a textual description of the bearer.</t>
          </dd>
          <dt>'op-comment':</dt>
          <dd>
            <t>Includes operational comments that may be useful for managing the bearer (building, level, etc.). No structure is associated with this data node to accommodate all deployments.</t>
          </dd>
          <dt>'group':</dt>
          <dd>
            <t>Tags a bearer with one ore more identifiers that are used to group a set of bearers.</t>
          </dd>
          <dt>'customer-point':</dt>
          <dd>
            <t>Specifies the customer terminating point for the bearer. A bearer request can indicate a device, a site, a combination thereof, or a custom information when requesting a bearer. All these schemes are supported in the model.</t>
          </dd>
          <dt>'requested-type':</dt>
          <dd>
            <t>Specifies the requested bearer type (Ethernet, wireless, etc.).</t>
          </dd>
          <dt>'test-only':</dt>
          <dd>
            <t>Indicates that a request is only for test and not for setting, even if there are no errors. This is used for feasibility checks. This data node is applicable only when the data model is used with protocols which do not natively support such option. For example, this data node is redundant with the "test-only" value of the <tt>&lt;test-option&gt;</tt> parameter in the NETCONF <tt>&lt;edit-config&gt;</tt> operation (<xref section="7.2" sectionFormat="of" target="RFC6241"/>).</t>
          </dd>
          <dt>'bearer-reference':</dt>
          <dd>
            <t>Returns an internal reference for the service provider to uniquely identify the bearer. This reference can be used when requesting services. <xref target="ex-create-bearer"/> provides an example about how this reference can be retrieved by a customer.</t>
          </dd>
          <dt/>
          <dd>
            <t>Whether the 'bearer-reference' mirrors the content of the 'id' is deployment-specific. The module does not assume nor preclude such schemes.</t>
          </dd>
          <dt>'ac-svc-ref':</dt>
          <dd>
            <t>Specifies the set of attachment circuits that are bound to the bearer.</t>
          </dd>
          <dt>'requested-start':</dt>
          <dd>
            <t>Specifies the requested date and time when the bearer is expected to be active.</t>
          </dd>
          <dt>'requested-stop':</dt>
          <dd>
            <t>Specifies the requested date and time when the bearer is expected to be disabled.</t>
          </dd>
          <dt>'actual-start':</dt>
          <dd>
            <t>Reports the actual date and time when the bearer actually was enabled.</t>
          </dd>
          <dt>'actual-stop':</dt>
          <dd>
            <t>Reports the actual date and time when the bearer actually was disabled.</t>
          </dd>
          <dt>'status':</dt>
          <dd>
            <t>Used to track the overall status of a given bearer. Both operational and administrative status are maintained together with a timestamp.</t>
          </dd>
          <dt/>
          <dd>
            <t>The "admin-status" attribute is typically configured by a network operator to indicate whether the service is enabled, disabled, or subjected to additional testing or pre-deployment checks. These additional options, such as 'admin-testing' and 'admin-pre-deployment', provide the operators the flexibility to conduct additional validations on the bearer before deploying services over that connection.</t>
          </dd>
          <dt>'oper-status':</dt>
          <dd>
            <t>The "oper-status" of a bearer reflects its operational state as observed. As a bearer can contain multiple services, the operational status should only reflect the status of the bearer connection. To obtain network-level service status, specific network models such as those in <xref section="7.3" sectionFormat="of" target="RFC9182"/>  or <xref section="7.3" sectionFormat="of" target="RFC9291"/> should be consulted.</t>
          </dd>
          <dt/>
          <dd>
            <t>It is important to note that the "admin-status" attribute should remain independent of the "oper-status". In other words, the setting of the intended administrative state (e.g., whether "admin-up" or "admin-testing") <bcp14>MUST NOT</bcp14> be influenced by the current operational state. If the bearer is administratively set to 'admin-down', it is expected that the bearer will also be operationally 'op-down' as a result of this administrative decision.</t>
          </dd>
          <dt/>
          <dd>
            <t>To assess the service delivery status for a given bearer comprehensively, it is recommended to consider both administrative and operational service status values in conjunction. This holistic approach  allows a network controller or operator to identify anomalies effectively.</t>
          </dd>
          <dt/>
          <dd>
            <t>For instance, when a bearer is administratively enabled but the "operational-status" of that bearer is reported as "op-down", it should be expected that the "oper-status" of services transported over that bearer is also down. If these status values differ, a trigger to detect an anomaly.</t>
          </dd>
          <dt/>
          <dd>
            <t>See <xref target="RFC9181"/> for more details.</t>
          </dd>
        </dl>
      </section>
      <section anchor="the-attachment-circuit-service-ietf-ac-svc-yang-module">
        <name>The Attachment Circuit Service ("ietf-ac-svc") YANG Module</name>
        <t>The full tree diagram of the module can be generated using the
"pyang" tool <xref target="PYANG"/>.  That tree is not included here because it is
too long (<xref section="3.3" sectionFormat="of" target="RFC8340"/>).  Instead, subtrees are provided
for the reader's convenience.</t>
        <section anchor="overall-structure">
          <name>Overall Structure</name>
          <t>The overall tree structure of the AC service module is shown in <xref target="o-svc-tree"/>.</t>
          <figure anchor="o-svc-tree">
            <name>Overall AC Service Tree Structure</name>
            <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        ...
        +--rw l2-connection
        |  ...
        +--rw ip-connection
        |  ...
        +--rw routing-protocols
        |  ...
        +--rw oam
        |  ...
        +--rw security
        |  ...
        +--rw service
           ...
]]></artwork>
          </figure>
          <t>The full ACaaS tree is available at <xref target="AC-SVC-Tree"/>. The full reusable groupings defined in the ACaaS module are shown in <xref target="AC-SVC-GRP"/>.</t>
          <t>The rationale for deciding whether a reusable grouping should be maintained in this document or be moved into the AC common module <xref target="I-D.ietf-opsawg-teas-common-ac"/> is as follows:</t>
          <ul spacing="normal">
            <li>
              <t>Groupings that are reusable among the AC service module, AC network module, other service models, and network models are included in the AC common module.</t>
            </li>
            <li>
              <t>Groupings that are reusable only by other service models are maintained in the "ietf-ac-svc" module.</t>
            </li>
          </ul>
          <t>Each AC is identified with a unique name ('../ac/name') within a domain. The mapping between this AC and a local PE that terminates the AC is hidden to the application that makes use of the AC service model. This information is internal to the Network controller. As such, the details about the (node-specific) attachment interfaces are not exposed in this service model.</t>
          <t>The AC service model uses groupings and types defined in the AC common model <xref target="I-D.ietf-opsawg-teas-common-ac"/>. Therefore, the description of these nodes are not reiterated in the following subsections.</t>
        </section>
        <section anchor="sec-profiles">
          <name>Service Profiles</name>
          <section anchor="description">
            <name>Description</name>
            <t>The 'specific-provisioning-profiles' container (<xref target="gp-svc-tree"/>) can be used by a service provider to maintain a set of reusable profiles. The profiles definition are similar to those defined in <xref target="RFC9181"/>, including: Quality of Service (QoS),  Bidirectional Forwarding Detection (BFD), forwarding, and routing profiles. The exact definition of the profiles is local to each service provider. The model only includes an identifier for these profiles in order to facilitate identifying and binding local policies when building an AC.</t>
            <figure anchor="gp-svc-tree">
              <name>Service Profiles</name>
              <artwork align="center"><![CDATA[
module: ietf-ac-svc
  +--rw specific-provisioning-profiles
  |  +--rw valid-provider-identifiers
  |     +--rw encryption-profile-identifier* [id]
  |     |  +--rw id    string
  |     +--rw qos-profile-identifier* [id]
  |     |  +--rw id    string
  |     +--rw bfd-profile-identifier* [id]
  |     |  +--rw id    string
  |     +--rw forwarding-profile-identifier* [id]
  |     |  +--rw id    string
  |     +--rw routing-profile-identifier* [id]
  |        +--rw id    string
  +--rw service-provisioning-profiles
  |  +--rw service-profile-identifier* [id]
  |     +--rw id    string
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        ...
        +--rw l2-connection
        |  ...
        +--rw ip-connection
        |  ...
        +--rw routing-protocols
        |  ...
        +--rw oam
        |  ...
        +--rw security
        |  ...
        +--rw service
           ...
]]></artwork>
            </figure>
            <t>As shown in <xref target="gp-svc-tree"/>, two profile types can be defined: 'specific-provisioning-profiles' and 'service-provisioning-profiles'. Whether only specific profiles, service profiles, or a combination thereof are used is local to each service provider.</t>
            <t>The following specific provisioning profiles can be defined:</t>
            <dl>
              <dt>'encryption-profile-identifier':</dt>
              <dd>
                <t>Refers to a set of policies related to the encryption setup that can be applied when provisioning an AC.</t>
              </dd>
              <dt>'qos-profile-identifier':</dt>
              <dd>
                <t>Refers to a set of policies, such as classification, marking, and actions (e.g., <xref target="RFC3644"/>).</t>
              </dd>
              <dt>'bfd-profile-identifier':</dt>
              <dd>
                <t>Refers to a set of Bidirectional Forwarding Detection (BFD) policies <xref target="RFC5880"/> that can be invoked when building an AC.</t>
              </dd>
              <dt>'forwarding-profile-identifier':</dt>
              <dd>
                <t>Refers to the policies that apply to the forwarding of packets conveyed within an AC. Such policies may consist, for example, of applying Access Control Lists (ACLs).</t>
              </dd>
              <dt>'routing-profile-identifier':</dt>
              <dd>
                <t>Refers to a set of routing policies that will be invoked (e.g., BGP policies) when building an AC.</t>
              </dd>
            </dl>
          </section>
          <section anchor="referencing-servicespecific-profiles">
            <name>Referencing Service/Specific Profiles</name>
            <t>All the abovementioned profiles are uniquely identified by the NETCONF/RESTCONF server by an identifier. To ease referencing these profiles by other data models, specific typedefs are defined for each of these profiles. Likewise, an attachment circuit reference typedef is defined when referencing a (global) attachment circuit by its name is required. These typedefs <bcp14>SHOULD</bcp14> be used when other modules need a reference to one of these profiles or attachment circuits.</t>
          </section>
        </section>
        <section anchor="sec-acp">
          <name>Attachment Circuits Profiles</name>
          <t>The 'ac-group-profile' defines reusable parameters for a set of 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 avoiding to 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
        +--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 this attachment circuit.</t>
            </dd>
            <dt/>
            <dd>
              <t>In contexts where dynamic   <br/>
terminating points are managed for a given AC, a parent AC can be defined with the 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.</t>
            </dd>
            <dt/>
            <dd>
              <t>Whenever a parent AC is deleted, that all child ACs of that AC <bcp14>MUST</bcp14> be deleted.</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.</t>
            <figure anchor="rtg-svc-tree">
              <name>Routing Tree Structure</name>
              <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        +--rw customer-name?       string
        +--rw description?         string
        +--rw requested-start?     yang:date-and-time
        +--rw requested-stop?      yang:date-and-time
        +--ro actual-start?        yang:date-and-time
        +--ro actual-stop?         yang:date-and-time
        +--rw peer-sap-id*         string
        +--rw ac-group-profile*    ac-group-reference
        +--rw group* [group-id]
        |  +--rw group-id      string
        |  +--rw precedence?   identityref
        +--rw name                 string
        +--rw l2-connection
        | ...
        +--rw ip-connection
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  ...
        |     +--rw bgp
        |     |  ...
        |     |  ...
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |        ...
        +--rw oam
        |  ...
        +--rw security
        |  ...
        +--rw service
           ...
]]></artwork>
            </figure>
            <section anchor="sec-static-rtg">
              <name>Static Routing</name>
              <t>The static tree structure is shown in <xref target="static-rtg-svc-tree"/>.</t>
              <figure anchor="static-rtg-svc-tree">
                <name>Static Routing Tree Structure</name>
                <artwork align="center"><![CDATA[
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  +--rw cascaded-lan-prefixes
        |     |     +--rw ipv4-lan-prefixes* [lan next-hop]
        |     |     |       {vpn-common:ipv4}?
        |     |     |  +--rw lan         inet:ipv4-prefix
        |     |     |  +--rw lan-tag?    string
        |     |     |  +--rw next-hop    union
        |     |     |  +--rw metric?     uint32
        |     |     |  +--rw status
        |     |     |     +--rw admin-status
        |     |     |     |  +--rw status?        identityref
        |     |     |     |  +--rw last-change?   yang:date-and-time
        |     |     |     +--ro oper-status
        |     |     |        +--ro status?        identityref
        |     |     |        +--ro last-change?   yang:date-and-time
        |     |     +--rw ipv6-lan-prefixes* [lan next-hop]
        |     |             {vpn-common:ipv6}?
        |     |        +--rw lan         inet:ipv6-prefix
        |     |        +--rw lan-tag?    string
        |     |        +--rw next-hop    union
        |     |        +--rw metric?     uint32
        |     |        +--rw status
        |     |           +--rw admin-status
        |     |           |  +--rw status?        identityref
        |     |           |  +--rw last-change?   yang:date-and-time
        |     |           +--ro oper-status
        |     |              +--ro status?        identityref
        |     |              +--ro last-change?   yang:date-and-time
        |     +--rw bgp
        |     |  ...
        |     +--rw ospf
        |     |  ...
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |        ...
]]></artwork>
              </figure>
              <t>As depicted in <xref target="static-rtg-svc-tree"/>, the following data nodes can be defined for a given IP prefix:</t>
              <dl>
                <dt>'lan-tag':</dt>
                <dd>
                  <t>Indicates a local tag (e.g., "myfavorite-lan") that is used to enforce local policies.</t>
                </dd>
                <dt>'next-hop':</dt>
                <dd>
                  <t>Indicates the next hop to be used for the static route.</t>
                </dd>
                <dt/>
                <dd>
                  <t>It can be identified by an IP address, a predefined next-hop type (e.g., 'discard' or 'local-link'), etc.</t>
                </dd>
                <dt>'bfd-enable':</dt>
                <dd>
                  <t>Indicates whether BFD is enabled or disabled for this static route entry.</t>
                </dd>
                <dt>'metric':</dt>
                <dd>
                  <t>Indicates the metric associated with the static route entry. This metric is used when the route is exported into an IGP.</t>
                </dd>
                <dt>'status':</dt>
                <dd>
                  <t>Used to convey the status of a static route entry. This data node can also be used to control the (de)activation of individual static route entries.</t>
                </dd>
              </dl>
            </section>
            <section anchor="sec-bgp-rtg">
              <name>BGP</name>
              <t>The BGP tree structure is shown in <xref target="bgp-rtg-svc-tree"/>.</t>
              <figure anchor="bgp-rtg-svc-tree">
                <name>BGP Tree Structure</name>
                <artwork align="center"><![CDATA[
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  ...
        |     +--rw bgp
        |     |  +--rw peer-groups
        |     |  |  +--rw peer-group* [name]
        |     |  |     +--rw name              string
        |     |  |     +--ro local-as?         inet:as-number
        |     |  |     +--rw peer-as?          inet:as-number
        |     |  |     +--rw address-family?   identityref
        |     |  |     +--ro local-address?    inet:ip-address
        |     |  |     +--rw authentication
        |     |  |        +--rw enable?            boolean
        |     |  |        +--rw keying-material
        |     |  |           +--rw (option)?
        |     |  |              +--:(ao)
        |     |  |              |  +--rw enable-ao?          boolean
        |     |  |              |  +--rw ao-keychain?
        |     |  |              |          key-chain:key-chain-ref
        |     |  |              +--:(md5)
        |     |  |              |  +--rw md5-keychain?
        |     |  |              |          key-chain:key-chain-ref
        |     |  |              +--:(explicit)
        |     |  |                 +--rw key-id?             uint32
        |     |  |                 +--rw key?                string
        |     |  |                 +--rw crypto-algorithm?
        |     |  |                         identityref
        |     |  +--rw neighbor* [id]
        |     |     +--rw id                string
        |     |     +--rw remote-address?   inet:ip-address
        |     |     +--ro local-address?    inet:ip-address
        |     |     +--rw peer-group?
        |     |     |       -> ../../peer-groups/peer-group/name
        |     |     +--ro local-as?         inet:as-number
        |     |     +--rw peer-as?          inet:as-number
        |     |     +--rw address-family?   identityref
        |     |     +--rw authentication
        |     |     |  +--rw enable?            boolean
        |     |     |  +--rw keying-material
        |     |     |     +--rw (option)?
        |     |     |        +--:(ao)
        |     |     |        |  +--rw enable-ao?          boolean
        |     |     |        |  +--rw ao-keychain?
        |     |     |        |          key-chain:key-chain-ref
        |     |     |        +--:(md5)
        |     |     |        |  +--rw md5-keychain?
        |     |     |        |          key-chain:key-chain-ref
        |     |     |        +--:(explicit)
        |     |     |           +--rw key-id?             uint32
        |     |     |           +--rw key?                string
        |     |     |           +--rw crypto-algorithm?   identityref
        |     |     +--rw status
        |     |        +--rw admin-status
        |     |        |  +--rw status?        identityref
        |     |        |  +--rw last-change?   yang:date-and-time
        |     |        +--ro oper-status
        |     |           +--ro status?        identityref
        |     |           +--ro last-change?   yang:date-and-time
        |     +--rw ospf
        |     |  ...
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |        ...
]]></artwork>
              </figure>
              <t>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'.
This address family will be used together with the 'vpn-type' to derive the appropriate Address Family Identifiers (AFIs) / Subsequent Address Family Identifiers (SAFIs) that will be part of the derived device configurations (e.g., unicast IPv4 MPLS L3VPN (AFI,SAFI = 1,128) as defined in <xref section="4.3.4" sectionFormat="of" target="RFC4364"/>).</t>
                </dd>
                <dt>'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>'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 enable?            boolean
        |     |  |  +--rw keying-material
        |     |  |     +--rw (option)?
        |     |  |        +--:(auth-key-chain)
        |     |  |        |  +--rw key-chain?
        |     |  |        |          key-chain:key-chain-ref
        |     |  |        +--:(auth-key-explicit)
        |     |  |           +--rw key-id?             uint32
        |     |  |           +--rw key?                string
        |     |  |           +--rw crypto-algorithm?   identityref
        |     |  +--rw status
        |     |     +--rw admin-status
        |     |     |  +--rw status?        identityref
        |     |     |  +--rw last-change?   yang:date-and-time
        |     |     +--ro oper-status
        |     |        +--ro status?        identityref
        |     |        +--ro last-change?   yang:date-and-time
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |        ...
]]></artwork>
              </figure>
              <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>
          <section anchor="sec-isis-rtg">
            <name>IS-IS</name>
            <t>The IS-IS tree structure is shown in <xref target="isis-rtg-svc-tree"/>.</t>
            <figure anchor="isis-rtg-svc-tree">
              <name>IS-IS Tree Structure</name>
              <artwork align="center"><![CDATA[
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  ...
        |     +--rw bgp
        |     |  ...
        |     |           +--ro last-change?   yang:date-and-time
        |     +--rw ospf
        |     |  ...
        |     +--rw isis
        |     |  +--rw address-family?   identityref
        |     |  +--rw area-address      area-address
        |     |  +--rw authentication
        |     |  |  +--rw enable?            boolean
        |     |  |  +--rw keying-material
        |     |  |     +--rw (option)?
        |     |  |        +--:(auth-key-chain)
        |     |  |        |  +--rw key-chain?
        |     |  |        |          key-chain:key-chain-ref
        |     |  |        +--:(auth-key-explicit)
        |     |  |           +--rw key-id?             uint32
        |     |  |           +--rw key?                string
        |     |  |           +--rw crypto-algorithm?   identityref
        |     |  +--rw status
        |     |     +--rw admin-status
        |     |     |  +--rw status?        identityref
        |     |     |  +--rw last-change?   yang:date-and-time
        |     |     +--ro oper-status
        |     |        +--ro status?        identityref
        |     |        +--ro last-change?   yang:date-and-time
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |      ...
]]></artwork>
            </figure>
            <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 enable?            boolean
        |     |  |  +--rw keying-material
        |     |  |     +--rw (option)?
        |     |  |        +--:(auth-key-chain)
        |     |  |        |  +--rw key-chain?
        |     |  |        |          key-chain:key-chain-ref
        |     |  |        +--:(auth-key-explicit)
        |     |  |           +--rw key?                string
        |     |  |           +--rw crypto-algorithm?   identityref
        |     |  +--rw status
        |     |     +--rw admin-status
        |     |     |  +--rw status?        identityref
        |     |     |  +--rw last-change?   yang:date-and-time
        |     |     +--ro oper-status
        |     |        +--ro status?        identityref
        |     |        +--ro last-change?   yang:date-and-time
        |     +--rw vrrp
        |      ...
]]></artwork>
            </figure>
            <t>'address-family' indicates whether IPv4, IPv6, or both address families are to be activated. For example, this parameter is used to determine whether RIPv2 <xref target="RFC2453"/>, RIP Next Generation (RIPng), or both are to be enabled <xref target="RFC2080"/>.</t>
          </section>
          <section anchor="vrrp">
            <name>VRRP</name>
            <t>The model supports the Virtual Router Redundancy Protocol (VRRP) <xref target="RFC5798"/> on an AC (<xref target="vrrp-rtg-svc-tree"/>).</t>
            <figure anchor="vrrp-rtg-svc-tree">
              <name>VRRP Tree Structure</name>
              <artwork align="center"><![CDATA[
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  ...
        |     +--rw bgp
        |     |  ...
        |     +--rw ospf
        |     |  ...
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |        +--rw address-family?   identityref
        |        +--rw status
        |           +--rw admin-status
        |           |  +--rw status?        identityref
        |           |  +--rw last-change?   yang:date-and-time
        |           +--ro oper-status
        |              +--ro status?        identityref
        |              +--ro last-change?   yang:date-and-time
]]></artwork>
            </figure>
            <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 anchor="sec-oam">
            <name>OAM</name>
            <t>As shown in the tree depicted in <xref target="oam-svc-tree"/>, the 'oam' container defines OAM-related parameters of an AC.</t>
            <figure anchor="oam-svc-tree">
              <name>OAM Tree Structure</name>
              <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        ...
        +--rw l2-connection
        |  ...
        +--rw ip-connection
        |  ...
        +--rw routing-protocols
        |  ...
        +--rw oam
        |  +--rw bfd {vpn-common:bfd}?
        |     +--rw profile?    bfd-profile-reference
        |     +--rw holdtime?   uint32
        |     +--rw status
        |        +--rw admin-status
        |        |  +--rw status?        identityref
        |        |  +--rw last-change?   yang:date-and-time
        |        +--ro oper-status
        |           +--ro status?        identityref
        |           +--ro last-change?   yang:date-and-time
        +--rw security
        |  ...
        +--rw service
           ...
]]></artwork>
            </figure>
            <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 Service Data Models for Attachment Circuits";
  }

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

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

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

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

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

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

  // Identities 

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

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

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

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

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

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

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

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

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

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

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

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

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

    list bearer {
      key "id";
      description
        "Maintains a list of bearers.";
      leaf id {
        type string;
        description
          "An identifier of the bearer.";
      }
      leaf description {
        type string;
        description
          "A description of this bearer.";
      }
      uses vpn-common:vpn-components-group;
      leaf op-comment {
        type string;
        description
          "Includes comments that can be shared with operational
           teams and which may be useful for the activation of a
           bearer. This may include, for example, information
           about the building, level, etc.";
      }
      container customer-point {
        description
          "Base container to link the Bearer existence";
        leaf identified-by {
          type identityref {
            base identification-type;
          }
          description
            "Attribute used to identify the bearer";
        }
        container device {
          when
            "derived-from-or-self(../identified-by, "
          + "'device-id') or derived-from-or-self(../identified-by, "
          + "'site-and-device-id')" {
            description
              "Only applicable if identified-by is device.";
          }
          description
            "Bearer is linked to device.";
          leaf device-id {
            type string;
            description
              "Identifier for the device where that bearer belongs.";
          }
          uses location-information;
        }
        container site {
          when
            "derived-from-or-self(../identified-by, "
          + "'site-id') or derived-from-or-self(../identified-by, "
          + "'site-and-device-id')" {
            description
              "Only applicable if identified-by is site.";
          }
          description
            "Bearer is linked to a site.";
          leaf site-id {
            type string;
            description
              "Identifier for the site or sites where that bearer
               belongs.";
          }
          uses location-information;
        }
        leaf custom-id {
          when "derived-from-or-self(../identified-by, "
             + "'custom')" {
            description
              "Only enabled id identified-by is custom.";
          }
          type string;
          description
            "The semantic of this identifier is shared between the
              customer/provider using out-of-band means.";
        }
      }
      leaf requested-type {
        type identityref {
          base bearer-type;
        }
        description
          "Type of the requested bearer (e.g., Ethernet or 
           wireless)";
      }
      leaf test-only {
        type empty;
        description
         "When present, this indicates that this is a feasibility
          check request. No resources are commited for such bearer 
          requests.";
      }
      leaf bearer-reference {
        if-feature "vpn-common:bearer-reference";
        type string;
        config false;
        description
          "This is an internal reference for the service provider
           to identify the bearers.";
      }
      leaf-list ac-svc-ref {
        type ac-svc:attachment-circuit-reference;
        config false;
        description
          "Specifies the set of ACes that are bound to the bearer.";
      }
      uses ac-common:op-instructions;
      uses vpn-common:service-status;
    }
  }
}
<CODE ENDS>
]]></sourcecode>
      </section>
      <section anchor="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) 2023 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  // Full Layer 2 connection

  grouping l2-connection {
    description
      "Defines Layer 2 protocols and parameters that are used to
       enable AC connectivity.";
    container encapsulation {
      description
        "Container for Layer 2 encapsulation.";
      leaf type {
        type identityref {
          base vpn-common:encapsulation-type;
        }
        description
          "Indicates the encapsulation type.";
      }
      container dot1q {
        when "derived-from-or-self(../type, 'vpn-common:dot1q')" {
          description
            "Only applies when the type of the tagged interface
             is 'dot1q'.";
        }
        description
          "Tagged interface.";
        uses ac-common:dot1q;
      }
      container priority-tagged {
        when "derived-from-or-self(../type, "
           + "'vpn-common:priority-tagged')" {
          description
            "Only applies when the type of the tagged interface is
             'priority-tagged'.";
        }
        description
          "Priority-tagged interface.";
        uses ac-common:priority-tagged;
      }
      container qinq {
        when "derived-from-or-self(../type, 'vpn-common:qinq')" {
          description
            "Only applies when the type of the tagged interface
             is 'qinq'.";
        }
        description
          "Includes QinQ parameters.";
        uses ac-common:qinq;
      }
    }
    choice l2-service {
      description
        "The Layer 2 connectivity service can be provided by
         indicating a pointer to an L2VPN or by specifying a
         Layer 2 tunnel service.";
      container l2-tunnel-service {
        description
          "Defines a Layer 2 tunnel termination.
           It is only applicable when a tunnel is required.";
        uses ac-common:l2-tunnel-service;
      }
      case l2vpn {
        leaf l2vpn-id {
          type vpn-common:vpn-id;
          description
            "Indicates the L2VPN service associated with an
             Integrated Routing and Bridging (IRB) interface.";
        }
      }
    }
    leaf bearer-reference {
      if-feature "vpn-common:bearer-reference";
      type string;
      description
        "This is an internal reference for the service provider
         to identify the bearer associated with this AC.";
    }
  }

  // Basic IP connection

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

  // Full IP connection

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

  // Routing protocol list

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

  //  BGP Service 

  grouping bgp-svc {
    description
      "Configuration specific to BGP.";
    container peer-groups {
      description
        "Configuration for BGP peer-groups";
      list peer-group {
        key "name";
        description
          "List of BGP peer-groups configured on the local 
           system - uniquely identified by peer-group
           name.";
        uses ac-common:bgp-peer-group-with-name;
        leaf local-address {
          type inet:ip-address;
          description
            "The local IP address that will be used to establish
             the BGP session.";
        }
        uses ac-common:bgp-authentication;
      }
    }
    list neighbor {
      key "id";
      description
        "List of BGP neighbors.";
      leaf id {
        type string;
        description
          "A neighbor identifier.";
      }
      leaf remote-address {
        type inet:ip-address;
        description
          "The remote IP address of this entry's BGP peer.

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

  //  OSPF Service 

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

  //  IS-IS Service 

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

  //  RIP Service 

  grouping rip-svc {
    description
      "Service configuration specific to RIP routing.";
    leaf address-family {
      type identityref {
        base vpn-common:address-family;
      }
      description
        "Indicates whether IPv4, IPv6, or both address families
         are to be activated.";
    }
    uses ac-common:rip-authentication;
    uses vpn-common:service-status;
  }

  //  VRRP Service 

  grouping vrrp-svc {
    description
      "Service configuration specific to VRRP.";
    reference
      "RFC 5798: Virtual Router Redundancy Protocol (VRRP)
                 Version 3 for IPv4 and IPv6";
    leaf address-family {
      type identityref {
        base vpn-common:address-family;
      }
      description
        "Indicates whether IPv4, IPv6, or both
         address families are to be enabled.";
    }
    uses vpn-common:service-status;
  }

  // Basic routing parameters

  grouping routing-basic {
    description
      "Defines basic parameters for routing protocols.";
    list routing-protocol {
      key "id";
      description
        "List of routing protocols used on the AC.";
      leaf id {
        type string;
        description
          "Unique identifier for the routing protocol.";
      }
      uses routing-protocol-list;
      container bgp {
        when
          "derived-from-or-self(../type, 'vpn-common:bgp-routing')" {
          description
            "Only applies when the protocol is BGP.";
        }
        description
          "Configuration specific to BGP.";
        container peer-groups {
          description
            "Configuration for BGP peer-groups";
          list peer-group {
            key "name";
            description
              "List of BGP peer-groups configured on the local
               system - uniquely identified by peer-group
               name.";
            uses ac-common:bgp-peer-group-with-name;
          }
        }
      }
      container ospf {
        when "derived-from-or-self(../type, "
           + "'vpn-common:ospf-routing')" {
          description
            "Only applies when the protocol is OSPF.";
        }
        description
          "Configuration specific to OSPF.";
        uses ac-common:ospf-basic;
      }
      container isis {
        when "derived-from-or-self(../type, "
           + "'vpn-common:isis-routing')" {
          description
            "Only applies when the protocol is IS-IS.";
        }
        description
          "Configuration specific to IS-IS.";
        uses ac-common:isis-basic;
      }
      container rip {
        when "derived-from-or-self(../type, "
           + "'vpn-common:rip-routing')" {
          description
            "Only applies when the protocol is RIP.
             For IPv4, the model assumes that RIP
             version 2 is used.";
        }
        description
          "Configuration specific to RIP routing.";
        leaf address-family {
          type identityref {
            base vpn-common:address-family;
          }
          description
            "Indicates whether IPv4, IPv6, or both
             address families are to be activated.";
        }
      }
      container vrrp {
        when "derived-from-or-self(../type, "
           + "'vpn-common:vrrp-routing')" {
          description
            "Only applies when the protocol is the
             Virtual Router Redundancy Protocol (VRRP).";
        }
        description
          "Configuration specific to VRRP.";
        leaf address-family {
          type identityref {
            base vpn-common:address-family;
          }
          description
            "Indicates whether IPv4, IPv6, or both address families
             are to be enabled.";
        }
      }
    }
  }

  // Full routing parameters

  grouping routing {
    description
      "Defines routing protocols.";
    list routing-protocol {
      key "id";
      description
        "List of routing protocols used on the AC.";
      leaf id {
        type string;
        description
          "Unique identifier for the routing protocol.";
      }
      uses routing-protocol-list;
      container static {
        when "derived-from-or-self(../type, "
           + "'vpn-common:static-routing')" {
          description
            "Only applies when the protocol is static routing
             protocol.";
        }
        description
          "Configuration specific to static routing.";
        container cascaded-lan-prefixes {
          description
            "LAN prefixes from the customer.";
          uses ac-common:ipv4-static-rtg;
          uses ac-common:ipv6-static-rtg;
        }
      }
      container bgp {
        when "derived-from-or-self(../type, "
           + "'vpn-common:bgp-routing')" {
          description
            "Only applies when the protocol is BGP.";
        }
        description
          "Configuration specific to BGP.";
        uses bgp-svc {
          refine "peer-groups/peer-group/local-address" {
            config false;
          }
          refine "neighbor/local-address" {
            config false;
          }
        }
      }
      container ospf {
        when "derived-from-or-self(../type, "
           + "'vpn-common:ospf-routing')" {
          description
            "Only applies when the protocol is OSPF.";
        }
        description
          "Configuration specific to OSPF.";
        uses ospf-svc;
      }
      container isis {
        when "derived-from-or-self(../type, "
           + "'vpn-common:isis-routing')" {
          description
            "Only applies when the protocol is IS-IS.";
        }
        description
          "Configuration specific to IS-IS.";
        uses isis-svc;
      }
      container rip {
        when "derived-from-or-self(../type, "
           + "'vpn-common:rip-routing')" {
          description
            "Only applies when the protocol is RIP.
             For IPv4, the model assumes that RIP version 2 is
             used.";
        }
        description
          "Configuration specific to RIP routing.";
        uses rip-svc;
      }
      container vrrp {
        when "derived-from-or-self(../type, "
           + "'vpn-common:vrrp-routing')" {
          description
            "Only applies when the protocol is the Virtual Router
             Redundancy Protocol (VRRP).";
        }
        description
          "Configuration specific to VRRP.";
        uses vrrp-svc;
      }
    }
  }

  // Encryption choice

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

  // Basic security parameters

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

  // Bandwith parameters

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

  // Basic AC parameters

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


  // Full AC parameters

  grouping ac {
    description
      "Grouping for an attachment circuit.";
    leaf name {
      type string;
      description
        "A name of the AC. Data models that need to reference  
         an attachment circuit should use 
         attachment-circuit-reference.";
    }
    leaf-list service-profile {
      type service-profile-reference;
      description
        "A reference to a service profile.";
    }
    container l2-connection {
      description
        "Defines Layer 2 protocols and parameters that are required 
         to enable AC connectivity.";
      uses l2-connection;
    }
    container ip-connection {
      description
        "Defines IP connection parameters.";
      uses ip-connection;
    }
    container routing-protocols {
      description
        "Defines routing protocols.";
      uses routing;
    }
    container oam {
      description
        "Defines the OAM mechanisms used.";
      container bfd {
        if-feature "vpn-common:bfd";
        description
          "Container for BFD.";
        leaf profile {
          type bfd-profile-reference;
          description
            "Points to a BFD profile.";
        }
        uses ac-common:bfd;
        uses vpn-common:service-status;
      }
    }
    container security {
      description
        "AC-specific security parameters.";
      uses ac-security-basic;
    }
    container service {
      description
        "AC-specific bandwith parameters.";
      uses bandwidth;
      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
           inforamtion is created with a set of child AC
           that trackes dynamic informaiton.";
      }
      list group {
        key "group-id";
        description
          "List of group-ids.";
        leaf group-id {
          type string;
          description
            "Indicates the group-id to which the network access
             belongs.";
        }
        leaf precedence {
          type identityref {
            base ac-common:precedence-type;
          }
          description
            "Defines redundancy of an AC.";
        }
      }
      list service-ref {
        key "service-type service-id";
        config false;
        description
          "Reports the set of services that are bound to the AC.";
        leaf service-type {
          type identityref {
            base vpn-common:service-type;
          }
          description
            "Indicates the service type (e.g., L3VPN, Network Slice
             Service).";
          reference
            "RFC 9408: A YANG Network Data Model for Service 
                       Attachment Points (SAPs), Section 5";
        }
        leaf service-id {
          type string;
          description
            "Indicates an identifier of a service instance
             of a given type that uses the AC.";
        }
      }
      uses ac;
    }
  }
}
<CODE ENDS>
]]></sourcecode>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The YANG modules specified in this document define schema for data
   that is designed to be accessed via network management protocols such
   as NETCONF <xref target="RFC6241"/> or RESTCONF <xref target="RFC8040"/>.  The lowest NETCONF layer
   is the secure transport layer, and the mandatory-to-implement secure
   transport is Secure Shell (SSH) <xref target="RFC6242"/>.  The lowest RESTCONF layer
   is HTTPS, and the mandatory-to-implement secure transport is TLS
   <xref target="RFC8446"/>.</t>
      <t>The Network Configuration Access Control Model (NACM) <xref target="RFC8341"/>
   provides the means to restrict access for particular NETCONF or
   RESTCONF users to a preconfigured subset of all available NETCONF or
   RESTCONF protocol operations and content.</t>
      <t>There are a number of data nodes defined in these YANG modules that are
   writable/creatable/deletable (i.e., config true, which is the
   default).  These data nodes may be considered sensitive or vulnerable
   in some network environments.  Write operations (e.g., edit-config)
   and delete operations to these data nodes without proper protection
   or authentication can have a negative effect on network operations.
   These are the subtrees and data nodes and their sensitivity/
   vulnerability in the "ietf-bearer-svc" module:</t>
      <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 lead 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>These are the subtrees and data nodes and their sensitivity/
   vulnerability 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 data nodes 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>These data nodes are 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. These are the subtrees and data
   nodes and their sensitivity/vulnerability 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>These are the subtrees and data
   nodes and their sensitivity/vulnerability in the "ietf-ac-svc" module:</t>
      <dl>
        <dt>'customer-name', 'l2-connection', and 'ip-connection':</dt>
        <dd>
          <t>An attacker can retrieve privacy-related information, which can be used to track a
 customer.  Disclosing such information may be considered a
 violation of the customer-provider trust relationship.</t>
        </dd>
        <dt>'keying-material':</dt>
        <dd>
          <t>An attacker can retrieve the cryptographic keys
 protecting the underlying connectivity services (routing, in
 particular).  These keys could be used to inject spoofed routing
 advertisements.</t>
        </dd>
      </dl>
      <t>Several data nodes ('bgp', 'ospf', 'isis', and 'rip') rely
   upon <xref target="RFC8177"/> for authentication purposes.  As such, the AC service module
   inherits the security considerations discussed in Section 5 of
   <xref target="RFC8177"/>.  Also, these data nodes support supplying explicit keys as
   strings in ASCII format.  The use of keys in hexadecimal string
   format would afford greater key entropy with the same number of key-
   string octets.  However, such a format is not included in this
   version of the AC service model because it is not supported by the underlying
   device modules (e.g., <xref target="RFC8695"/>).</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to register the following URIs in the "ns" subregistry within
   the "IETF XML Registry" <xref target="RFC3688"/>:</t>
      <artwork><![CDATA[
   URI:  urn:ietf:params:xml:ns:yang:ietf-bearer-svc
   Registrant Contact:  The IESG.
   XML:  N/A; the requested URI is an XML namespace.

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

   Name:  ietf-ac-svc
   Maintained by IANA?  N
   Namespace:  urn:ietf:params:xml:ns:yang:ietf-ac-svc
   Prefix:  ac-svc
   Reference:  RFC xxxx
]]></artwork>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC4364">
          <front>
            <title>BGP/MPLS IP Virtual Private Networks (VPNs)</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <date month="February" year="2006"/>
            <abstract>
              <t>This document describes a method by which a Service Provider may use an IP backbone to provide IP Virtual Private Networks (VPNs) for its customers. This method uses a "peer model", in which the customers' edge routers (CE routers) send their routes to the Service Provider's edge routers (PE routers); there is no "overlay" visible to the customer's routing algorithm, and CE routers at different sites do not peer with each other. Data packets are tunneled through the backbone, so that the core routers do not need to know the VPN routes. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4364"/>
          <seriesInfo name="DOI" value="10.17487/RFC4364"/>
        </reference>
        <reference anchor="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="RFC6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6241"/>
          <seriesInfo name="DOI" value="10.17487/RFC6241"/>
        </reference>
        <reference anchor="RFC9182">
          <front>
            <title>A YANG Network Data Model for Layer 3 VPNs</title>
            <author fullname="S. Barguil" initials="S." surname="Barguil"/>
            <author fullname="O. Gonzalez de Dios" initials="O." role="editor" surname="Gonzalez de Dios"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="L. Munoz" initials="L." surname="Munoz"/>
            <author fullname="A. Aguado" initials="A." surname="Aguado"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>As a complement to the Layer 3 Virtual Private Network Service Model (L3SM), which is used for communication between customers and service providers, this document defines an L3VPN Network Model (L3NM) that can be used for the provisioning of Layer 3 Virtual Private Network (L3VPN) services within a service provider network. The model provides a network-centric view of L3VPN services.</t>
              <t>The L3NM is meant to be used by a network controller to derive the configuration information that will be sent to relevant network devices. The model can also facilitate communication between a service orchestrator and a network controller/orchestrator.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9182"/>
          <seriesInfo name="DOI" value="10.17487/RFC9182"/>
        </reference>
        <reference anchor="RFC9291">
          <front>
            <title>A YANG Network Data Model for Layer 2 VPNs</title>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="O. Gonzalez de Dios" initials="O." role="editor" surname="Gonzalez de Dios"/>
            <author fullname="S. Barguil" initials="S." surname="Barguil"/>
            <author fullname="L. Munoz" initials="L." surname="Munoz"/>
            <date month="September" year="2022"/>
            <abstract>
              <t>This document defines an L2VPN Network Model (L2NM) that can be used to manage the provisioning of Layer 2 Virtual Private Network (L2VPN) services within a network (e.g., a service provider network). The L2NM complements the L2VPN Service Model (L2SM) by providing a network-centric view of the service that is internal to a service provider. The L2NM is particularly meant to be used by a network controller to derive the configuration information that will be sent to relevant network devices.</t>
              <t>Also, this document defines a YANG module to manage Ethernet segments and the initial versions of two IANA-maintained modules that include a set of identities of BGP Layer 2 encapsulation types and pseudowire types.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9291"/>
          <seriesInfo name="DOI" value="10.17487/RFC9291"/>
        </reference>
        <reference anchor="RFC9181">
          <front>
            <title>A Common YANG Data Model for Layer 2 and Layer 3 VPNs</title>
            <author fullname="S. Barguil" initials="S." surname="Barguil"/>
            <author fullname="O. Gonzalez de Dios" initials="O." role="editor" surname="Gonzalez de Dios"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>This document defines a common YANG module that is meant to be reused by various VPN-related modules such as Layer 3 VPN and Layer 2 VPN network models.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9181"/>
          <seriesInfo name="DOI" value="10.17487/RFC9181"/>
        </reference>
        <reference anchor="I-D.ietf-opsawg-teas-common-ac">
          <front>
            <title>A Common YANG Data Model for Attachment Circuits</title>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Richard Roberts" initials="R." surname="Roberts">
              <organization>Juniper</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Samier Barguil" initials="S." surname="Barguil">
              <organization>Nokia</organization>
            </author>
            <author fullname="Bo Wu" initials="B." surname="Wu">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="28" month="November" year="2023"/>
            <abstract>
              <t>   The document specifies a common Attachment Circuits (ACs) YANG
   module, which is designed with the intent to be reusable by other
   models.  For example, this common model can be reused by service
   models to expose ACs as a service, service models that require
   binding a service to a set of ACs, network and device models to
   provision ACs, etc.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-teas-common-ac-02"/>
        </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="RFC5798">
          <front>
            <title>Virtual Router Redundancy Protocol (VRRP) Version 3 for IPv4 and IPv6</title>
            <author fullname="S. Nadas" initials="S." role="editor" surname="Nadas"/>
            <date month="March" year="2010"/>
            <abstract>
              <t>This memo defines the Virtual Router Redundancy Protocol (VRRP) for IPv4 and IPv6. It is version three (3) of the protocol, and it is based on VRRP (version 2) for IPv4 that is defined in RFC 3768 and in "Virtual Router Redundancy Protocol for IPv6". VRRP specifies an election protocol that dynamically assigns responsibility for a virtual router to one of the VRRP routers on a LAN. The VRRP router controlling the IPv4 or IPv6 address(es) associated with a virtual router is called the Master, and it forwards packets sent to these IPv4 or IPv6 addresses. VRRP Master routers are configured with virtual IPv4 or IPv6 addresses, and VRRP Backup routers infer the address family of the virtual addresses being carried based on the transport protocol. Within a VRRP router, the virtual routers in each of the IPv4 and IPv6 address families are a domain unto themselves and do not overlap. The election process provides dynamic failover in the forwarding responsibility should the Master become unavailable. For IPv4, the advantage gained from using VRRP is a higher-availability default path without requiring configuration of dynamic routing or router discovery protocols on every end-host. For IPv6, the advantage gained from using VRRP for IPv6 is a quicker switchover to Backup routers than can be obtained with standard IPv6 Neighbor Discovery mechanisms. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5798"/>
          <seriesInfo name="DOI" value="10.17487/RFC5798"/>
        </reference>
        <reference anchor="RFC6991">
          <front>
            <title>Common YANG Data Types</title>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document introduces a collection of common data types to be used with the YANG data modeling language. This document obsoletes RFC 6021.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6991"/>
          <seriesInfo name="DOI" value="10.17487/RFC6991"/>
        </reference>
        <reference anchor="RFC8040">
          <front>
            <title>RESTCONF Protocol</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8040"/>
          <seriesInfo name="DOI" value="10.17487/RFC8040"/>
        </reference>
        <reference anchor="RFC6242">
          <front>
            <title>Using the NETCONF Protocol over Secure Shell (SSH)</title>
            <author fullname="M. Wasserman" initials="M." surname="Wasserman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>This document describes a method for invoking and running the Network Configuration Protocol (NETCONF) within a Secure Shell (SSH) session as an SSH subsystem. This document obsoletes RFC 4742. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6242"/>
          <seriesInfo name="DOI" value="10.17487/RFC6242"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC8341">
          <front>
            <title>Network Configuration Access Control Model</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability. There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. This document defines such an access control model.</t>
              <t>This document obsoletes RFC 6536.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="91"/>
          <seriesInfo name="RFC" value="8341"/>
          <seriesInfo name="DOI" value="10.17487/RFC8341"/>
        </reference>
        <reference anchor="RFC3688">
          <front>
            <title>The IETF XML Registry</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <date month="January" year="2004"/>
            <abstract>
              <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="81"/>
          <seriesInfo name="RFC" value="3688"/>
          <seriesInfo name="DOI" value="10.17487/RFC3688"/>
        </reference>
        <reference anchor="RFC6020">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6020"/>
          <seriesInfo name="DOI" value="10.17487/RFC6020"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="AC-SVC-Tree" target="https://raw.githubusercontent.com/boucadair/attachment-circuit-model/main/yang/full-trees/ac-svc-without-groupings.txt">
          <front>
            <title>Full Service Attachment Circuit Tree Structure</title>
            <author>
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="AC-SVC-GRP" target="https://raw.githubusercontent.com/boucadair/attachment-circuit-model/main/yang/full-trees/ac-svc-groupings.txt">
          <front>
            <title>Reusable Groupings in Service Attachment Circuits</title>
            <author>
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="PYANG" target="https://github.com/mbj4668/pyang">
          <front>
            <title>pyang</title>
            <author>
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="RFC7665">
          <front>
            <title>Service Function Chaining (SFC) Architecture</title>
            <author fullname="J. Halpern" initials="J." role="editor" surname="Halpern"/>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro"/>
            <date month="October" year="2015"/>
            <abstract>
              <t>This document describes an architecture for the specification, creation, and ongoing maintenance of Service Function Chains (SFCs) in a network. It includes architectural concepts, principles, and components used in the construction of composite services through deployment of SFCs, with a focus on those to be standardized in the IETF. This document does not propose solutions, protocols, or extensions to existing protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7665"/>
          <seriesInfo name="DOI" value="10.17487/RFC7665"/>
        </reference>
        <reference anchor="RFC5737">
          <front>
            <title>IPv4 Address Blocks Reserved for Documentation</title>
            <author fullname="J. Arkko" initials="J." surname="Arkko"/>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="L. Vegoda" initials="L." surname="Vegoda"/>
            <date month="January" year="2010"/>
            <abstract>
              <t>Three IPv4 unicast address blocks are reserved for use in examples in specifications and other documents. This document describes the use of these blocks. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5737"/>
          <seriesInfo name="DOI" value="10.17487/RFC5737"/>
        </reference>
        <reference anchor="RFC3849">
          <front>
            <title>IPv6 Address Prefix Reserved for Documentation</title>
            <author fullname="G. Huston" initials="G." surname="Huston"/>
            <author fullname="A. Lord" initials="A." surname="Lord"/>
            <author fullname="P. Smith" initials="P." surname="Smith"/>
            <date month="July" year="2004"/>
            <abstract>
              <t>To reduce the likelihood of conflict and confusion when relating documented examples to deployed systems, an IPv6 unicast address prefix is reserved for use in examples in RFCs, books, documentation, and the like. Since site-local and link-local unicast addresses have special meaning in IPv6, these addresses cannot be used in many example situations. The document describes the use of the IPv6 address prefix 2001:DB8::/32 as a reserved prefix for use in documentation. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3849"/>
          <seriesInfo name="DOI" value="10.17487/RFC3849"/>
        </reference>
        <reference anchor="RFC5398">
          <front>
            <title>Autonomous System (AS) Number Reservation for Documentation Use</title>
            <author fullname="G. Huston" initials="G." surname="Huston"/>
            <date month="December" year="2008"/>
            <abstract>
              <t>To reduce the likelihood of conflict and confusion when relating documented examples to deployed systems, two blocks of Autonomous System numbers (ASNs) are reserved for use in examples in RFCs, books, documentation, and the like. This document describes the reservation of two blocks of ASNs as reserved numbers for use in documentation. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5398"/>
          <seriesInfo name="DOI" value="10.17487/RFC5398"/>
        </reference>
        <reference anchor="RFC8969">
          <front>
            <title>A Framework for Automating Service and Network Management with YANG</title>
            <author fullname="Q. Wu" initials="Q." role="editor" surname="Wu"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="D. Lopez" initials="D." surname="Lopez"/>
            <author fullname="C. Xie" initials="C." surname="Xie"/>
            <author fullname="L. Geng" initials="L." surname="Geng"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>Data models provide a programmatic approach to represent services and networks. Concretely, they can be used to derive configuration information for network and service components, and state information that will be monitored and tracked. Data models can be used during the service and network management life cycle (e.g., service instantiation, service provisioning, service optimization, service monitoring, service diagnosing, and service assurance). Data models are also instrumental in the automation of network management, and they can provide closed-loop control for adaptive and deterministic service creation, delivery, and maintenance.</t>
              <t>This document describes a framework for service and network management automation that takes advantage of YANG modeling technologies. This framework is drawn from a network operator perspective irrespective of the origin of a data model; thus, it can accommodate YANG modules that are developed outside the IETF.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8969"/>
          <seriesInfo name="DOI" value="10.17487/RFC8969"/>
        </reference>
        <reference anchor="I-D.ietf-opsawg-ntw-attachment-circuit">
          <front>
            <title>A Network YANG Data Model for Attachment Circuits</title>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Richard Roberts" initials="R." surname="Roberts">
              <organization>Juniper</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Samier Barguil" initials="S." surname="Barguil">
              <organization>Nokia</organization>
            </author>
            <author fullname="Bo Wu" initials="B." surname="Wu">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="30" month="November" year="2023"/>
            <abstract>
              <t>   This document specifies a network model for attachment circuits.  The
   model can be used for the provisioning of attachment circuits prior
   or during service provisioning (e.g., Network Slice Service).  A
   companion service model is specified in I-D.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-03"/>
        </reference>
        <reference anchor="RFC8349">
          <front>
            <title>A YANG Data Model for Routing Management (NMDA Version)</title>
            <author fullname="L. Lhotka" initials="L." surname="Lhotka"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <author fullname="Y. Qu" initials="Y." surname="Qu"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document specifies three YANG modules and one submodule. Together, they form the core routing data model that serves as a framework for configuring and managing a routing subsystem. It is expected that these modules will be augmented by additional YANG modules defining data models for control-plane protocols, route filters, and other functions. The core routing data model provides common building blocks for such extensions -- routes, Routing Information Bases (RIBs), and control-plane protocols.</t>
              <t>The YANG modules in this document conform to the Network Management Datastore Architecture (NMDA). This document obsoletes RFC 8022.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8349"/>
          <seriesInfo name="DOI" value="10.17487/RFC8349"/>
        </reference>
        <reference anchor="I-D.ietf-idr-bgp-model">
          <front>
            <title>YANG Model for Border Gateway Protocol (BGP-4)</title>
            <author fullname="Mahesh Jethanandani" initials="M." surname="Jethanandani">
              <organization>Kloud Services</organization>
            </author>
            <author fullname="Keyur Patel" initials="K." surname="Patel">
              <organization>Arrcus</organization>
            </author>
            <author fullname="Susan Hares" initials="S." surname="Hares">
              <organization>Huawei</organization>
            </author>
            <author fullname="Jeffrey Haas" initials="J." surname="Haas">
              <organization>Juniper Networks</organization>
            </author>
            <date day="5" month="July" year="2023"/>
            <abstract>
              <t>   This document defines a YANG data model for configuring and managing
   BGP, including protocol, policy, and operational aspects, such as
   RIB, based on data center, carrier, and content provider operational
   requirements.

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

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

<section anchor="examples">
      <name>Examples</name>
      <t>This section includes a non-exhaustive list of examples to illustrate the use of the service models defined in this document.</t>
      <section anchor="ex-create-bearer">
        <name>Create A New Bearer</name>
        <t>An example of a request message body to create a bearer is shown in <xref target="create-bearer"/>.</t>
        <figure anchor="create-bearer">
          <name>Example of a Message Body to Create A New Bearer</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-bearer-svc:bearers": {
    "bearer": [
      {
        "id": "an-identifier",
        "description": "A bearer example",
        "customer-point": {
          "device": {
            "device-id": "CE_X_SITE_Y"
          }
        },
        "requested-type": "ietf-bearer-svc:ethernet"
      }
    ]
  }
}
]]></sourcecode>
        </figure>
        <t>A bearer-reference is then generated by the controller for this bearer. <xref target="get-bearer"/> shows the example of a response message body that is sent by the controller to reply to a GET request:</t>
        <figure anchor="get-bearer">
          <name>Example of a Response Message Body with the Bearer Reference</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-bearer-svc:bearers": {
    "bearer": [
      {
        "id": "an-identifier",
        "description": "A bearer example",
        "customer-point": {
          "device": {
            "device-id": "CE_X_SITE_Y"
          }
        },
        "requested-type": "ietf-bearer-svc:ethernet",
        "bearer-reference": "line-156"
      }
    ]
  }
}
  
]]></sourcecode>
        </figure>
      </section>
      <section anchor="ac-bearer-exist">
        <name>Create An AC over An Existing Bearer</name>
        <t>An example of  a request message body to create a simple AC over an existing bearer is shown in <xref target="ac-b"/>. The bearer reference is assumed to be known to both the customer and the network provider. Such a reference can be retrieved, e.g., following the example described in <xref target="ex-create-bearer"/> or using other means (including, exchanged out-of-band or via proprietary APIs).</t>
        <figure anchor="ac-b">
          <name>Example of a Message Body to Request an AC over an Existing Bearer</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "ac4585",
        "description": "An AC on an existing bearer",
        "requested-ac-start": "2023-12-12T05:00:00.00Z",
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q"
          },
          "bearer-reference": "line-156"
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
        <t><xref target="ac-br"/> shows the message body of a response received from the controller and which indicates the "cvlan-id" that was assigned for the requested AC.</t>
        <figure anchor="ac-br">
          <name>Example of a Message Body of a Response to Assign a CVLAN ID</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "ac4585",
        "description": "An AC on an existing bearer",
        "requested-ac-start": "2023-12-12T05:00:00.00Z",
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "tag-type": "ietf-vpn-common:c-vlan",
              "cvlan-id": 550
            }
          },
          "bearer-reference": "line-156"
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="ac-no-bearer-peer-sap">
        <name>Create An AC for a Known Peer SAP</name>
        <t>An example of a request to create a simple AC, when the peer SAP is known, is shown in <xref target="ac-known-ps"/>. In this example, the peer SAP identifier points to an identifier of a service function. The (topological) location of that service function is assumed to be known to the network controller. For example, this can be determined as part of an on-demand procedure to instantiate a service function in a cloud. That instantiated service function can be granted a connectivity service via the provider network.</t>
        <figure anchor="ac-known-ps">
          <name>Example of a Message Body to Request an AC with a Peer SAP</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "ac4585",
        "description": "An AC on an existing bearer",
        "requested-ac-start": "2023-12-12T05:00:00.00Z",
        "peer-sap-id": [
          "nf-termination-ip"
        ],
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "tag-type": "ietf-vpn-common:c-vlan",
              "cvlan-id": 550
            }
          }
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="sec-ex-one-ce-multi-acs">
        <name>One CE, Two ACs</name>
        <t>Let’s consider the example of an eNodeB (CE) that is directly connected to the access routers of the mobile backhaul (see <xref target="enodeb"/>). In this example, two ACs are needed to service the eNodeB (e.g., distinct VLANs for Control and User Planes).</t>
        <figure anchor="enodeb">
          <name>Example of a CE-PE ACs</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="240" width="432" viewBox="0 0 432 240" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,160" fill="none" stroke="black"/>
                <path d="M 120,32 L 120,160" fill="none" stroke="black"/>
                <path d="M 272,32 L 272,224" fill="none" stroke="black"/>
                <path d="M 424,32 L 424,224" fill="none" stroke="black"/>
                <path d="M 8,32 L 120,32" fill="none" stroke="black"/>
                <path d="M 272,32 L 424,32" fill="none" stroke="black"/>
                <path d="M 128,78 L 264,78" fill="none" stroke="black"/>
                <path d="M 128,82 L 264,82" fill="none" stroke="black"/>
                <path d="M 128,110 L 264,110" fill="none" stroke="black"/>
                <path d="M 128,114 L 264,114" fill="none" stroke="black"/>
                <path d="M 8,160 L 120,160" fill="none" stroke="black"/>
                <path d="M 272,224 L 424,224" fill="none" stroke="black"/>
                <g class="text">
                  <text x="292" y="52">PE</text>
                  <text x="328" y="68">192.0.2.1</text>
                  <text x="60" y="84">eNodeB</text>
                  <text x="336" y="84">2001:db8::1</text>
                  <text x="220" y="100">VLAN</text>
                  <text x="248" y="100">1</text>
                  <text x="220" y="132">VLAN</text>
                  <text x="248" y="132">2</text>
                  <text x="156" y="148">Direct</text>
                  <text x="160" y="164">Routing</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
.-------------.                  .------------------.
|             |                  | PE               |
|             |                  |  192.0.2.1       |
|   eNodeB    |==================|  2001:db8::1     |
|             |          VLAN 1  |                  |
|             |==================|                  |
|             |          VLAN 2  |                  |
|             | Direct           |                  |
'-------------' Routing          |                  |
                                 |                  |
                                 |                  |
                                 |                  |
                                 '------------------'
]]></artwork>
          </artset>
        </figure>
        <t>An example of a request to create the ACs to service the eNodeB is shown in <xref target="two-acs-same-ce"/>. This example assumes that static addressing is used for both ACs.</t>
        <figure anchor="two-acs-same-ce">
          <name>Example of a Message Body to Request Two 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). A Network Function is deployed within each site in a dedicated IP Subnet.</t>
          </li>
          <li>
            <t>A 5G SMO is responsible for the deployment Network Functions and the indirect management of a local Gateway (i.e., CE device).</t>
          </li>
          <li>
            <t>An IETF Network Slice Controller is responsible for the deployment of IETF Network Slices across the TN.</t>
          </li>
        </ul>
        <t>Network Functions are deployed within each site.</t>
        <figure anchor="slice-vlan-1">
          <name>An Example of a Network Topology Used to Deploy Slices</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="368" width="520" viewBox="0 0 520 368" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 48,144 L 48,176" fill="none" stroke="black"/>
                <path d="M 64,184 L 64,240" fill="none" stroke="black"/>
                <path d="M 80,48 L 80,80" fill="none" stroke="black"/>
                <path d="M 96,144 L 96,208" fill="none" stroke="black"/>
                <path d="M 128,144 L 128,208" fill="none" stroke="black"/>
                <path d="M 168,184 L 168,304" fill="none" stroke="black"/>
                <path d="M 200,176 L 200,208" fill="none" stroke="black"/>
                <path d="M 216,112 L 216,136" fill="none" stroke="black"/>
                <path d="M 232,192 L 232,208" fill="none" stroke="black"/>
                <path d="M 280,64 L 280,80" fill="none" stroke="black"/>
                <path d="M 336,112 L 336,136" fill="none" stroke="black"/>
                <path d="M 384,184 L 384,304" fill="none" stroke="black"/>
                <path d="M 464,48 L 464,80" fill="none" stroke="black"/>
                <path d="M 480,184 L 480,240" fill="none" stroke="black"/>
                <path d="M 496,144 L 496,176" fill="none" stroke="black"/>
                <path d="M 32,80 L 128,80" fill="none" stroke="black"/>
                <path d="M 200,80 L 352,80" fill="none" stroke="black"/>
                <path d="M 424,80 L 504,80" fill="none" stroke="black"/>
                <path d="M 32,112 L 64,112" fill="none" stroke="black"/>
                <path d="M 216,112 L 336,112" fill="none" stroke="black"/>
                <path d="M 480,112 L 512,112" fill="none" stroke="black"/>
                <path d="M 32,144 L 64,144" fill="none" stroke="black"/>
                <path d="M 96,144 L 128,144" fill="none" stroke="black"/>
                <path d="M 200,144 L 232,144" fill="none" stroke="black"/>
                <path d="M 320,144 L 352,144" fill="none" stroke="black"/>
                <path d="M 424,144 L 456,144" fill="none" stroke="black"/>
                <path d="M 480,144 L 512,144" fill="none" stroke="black"/>
                <path d="M 32,176 L 96,176" fill="none" stroke="black"/>
                <path d="M 128,176 L 200,176" fill="none" stroke="black"/>
                <path d="M 352,176 L 424,176" fill="none" stroke="black"/>
                <path d="M 456,176 L 512,176" fill="none" stroke="black"/>
                <path d="M 96,208 L 128,208" fill="none" stroke="black"/>
                <path d="M 200,208 L 232,208" fill="none" stroke="black"/>
                <path d="M 320,208 L 352,208" fill="none" stroke="black"/>
                <path d="M 424,208 L 456,208" fill="none" stroke="black"/>
                <path d="M 216,240 L 336,240" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="512,80 500,74.4 500,85.6" fill="black" transform="rotate(0,504,80)"/>
                <polygon class="arrowhead" points="488,184 476,178.4 476,189.6" fill="black" transform="rotate(270,480,184)"/>
                <polygon class="arrowhead" points="432,80 420,74.4 420,85.6" fill="black" transform="rotate(180,424,80)"/>
                <polygon class="arrowhead" points="392,184 380,178.4 380,189.6" fill="black" transform="rotate(270,384,184)"/>
                <polygon class="arrowhead" points="360,80 348,74.4 348,85.6" fill="black" transform="rotate(0,352,80)"/>
                <polygon class="arrowhead" points="208,80 196,74.4 196,85.6" fill="black" transform="rotate(180,200,80)"/>
                <polygon class="arrowhead" points="176,184 164,178.4 164,189.6" fill="black" transform="rotate(270,168,184)"/>
                <polygon class="arrowhead" points="136,80 124,74.4 124,85.6" fill="black" transform="rotate(0,128,80)"/>
                <polygon class="arrowhead" points="72,184 60,178.4 60,189.6" fill="black" transform="rotate(270,64,184)"/>
                <polygon class="arrowhead" points="40,80 28,74.4 28,85.6" fill="black" transform="rotate(180,32,80)"/>
                <g class="text">
                  <text x="60" y="36">5G</text>
                  <text x="88" y="36">SMO</text>
                  <text x="252" y="36">IETF</text>
                  <text x="288" y="36">NSC</text>
                  <text x="444" y="36">5G</text>
                  <text x="472" y="36">SMO</text>
                  <text x="216" y="52">(TN</text>
                  <text x="288" y="52">Orchestrator)</text>
                  <text x="80" y="100">Site1</text>
                  <text x="240" y="100">Transport</text>
                  <text x="312" y="100">Network</text>
                  <text x="472" y="100">Site2</text>
                  <text x="48" y="132">│NF1│</text>
                  <text x="496" y="132">│NF2│</text>
                  <text x="200" y="164">│</text>
                  <text x="232" y="164">│</text>
                  <text x="320" y="164">│</text>
                  <text x="352" y="164">│</text>
                  <text x="424" y="164">│</text>
                  <text x="456" y="164">│</text>
                  <text x="112" y="180">GW1</text>
                  <text x="220" y="180">PE1│</text>
                  <text x="332" y="180">│PE2</text>
                  <text x="440" y="180">GW2</text>
                  <text x="320" y="196">│</text>
                  <text x="352" y="196">│</text>
                  <text x="424" y="196">│</text>
                  <text x="456" y="196">│</text>
                  <text x="216" y="228">│</text>
                  <text x="336" y="228">│</text>
                  <text x="60" y="260">LAN1</text>
                  <text x="484" y="260">LAN2</text>
                  <text x="64" y="276">198.51.100.0/24</text>
                  <text x="460" y="276">203.0.113.0/24</text>
                  <text x="132" y="324">Physical</text>
                  <text x="188" y="324">Link</text>
                  <text x="224" y="324">ID:</text>
                  <text x="356" y="324">Physical</text>
                  <text x="412" y="324">Link</text>
                  <text x="448" y="324">ID:</text>
                  <text x="168" y="340">bearerX@site1</text>
                  <text x="392" y="340">bearerX@site2</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
      5G SMO                 IETF NSC                 5G SMO
         |               (TN Orchestrator)               |
         |                        |                      |
   <-----+----->        <---------+-------->        <----+---->
       Site1             Transport Network              Site2
   .---.                  .--------------.                 .---.
   │NF1│                  |              |                 │NF2│
   '-+-'   .---.        .---.          .---.        .---.  '-+-'
     |     |   |        │   │          │   │        │   │    |
   --+-----+GW1+--------+PE1│          │PE2+--------+GW2+----+--
       ^   |   |    ^   |   |          │   │   ^    │   │  ^
       |   '---'    |   '-+-'          '-+-'   |    '---'  |
       |            |     │              │     |           |
       |            |     '--------------'     |           |
     LAN1           |                          |          LAN2
198.51.100.0/24     |                          |  203.0.113.0/24
                    |                          |
                    |                          |
            Physical Link ID:           Physical Link ID:
              bearerX@site1               bearerX@site2

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

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

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

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

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

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

       Physical Connection 1234-56789 is delivered and
                         connected to PE1

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

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

{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "ac--BXT-DC-customer-VPC-foo",
        "description": "Connection to Cloud Provider BXT on \
                                              connection 1234-56789",
        "requested-start": "2023-12-12T05:00:00.00Z",
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "tag-type": "ietf-vpn-common:c-vlan",
              "cvlan-id": 50
            }
          },
          "bearer-reference": "1243-56789"
        },
        "ip-connection": {
          "ipv4": {
            "local-address": "192.0.2.1",
            "prefix-length": 24,
            "address": [
              {
                "address-id": "1",
                "customer-address": "192.0.2.2"
              }
            ]
          }
        },
        "routing-protocols": {
          "routing-protocol": [
            {
              "id": "1",
              "type": "ietf-vpn-common:bgp-routing",
              "bgp": {
                "neighbor": [
                  {
                    "id": "1",
                    "peer-as": 65536,
                    "local-as": 65550,
                    "authentication": {
                      "keying-material": {
                        "md5-keychain": "nyxNER_c5sdn608fFQl3331d"
                      }
                    }
                  }
                ]
              }
            }
          ]
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to TBC for the comments.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="V." surname="Lopez" fullname="Victor Lopez">
        <organization>Nokia</organization>
        <address>
          <email>victor.lopez@nokia.com</email>
        </address>
      </contact>
      <contact initials="I." surname="Bykov" fullname="Ivan Bykov">
        <organization>Ribbon Communications</organization>
        <address>
          <email>Ivan.Bykov@rbbn.com</email>
        </address>
      </contact>
      <contact initials="Q." surname="Wu" fullname="Qin Wu">
        <organization>Huawei</organization>
        <address>
          <email>bill.wu@huawei.com</email>
        </address>
      </contact>
      <contact initials="K." surname="Ogaki" fullname="Kenichi Ogaki">
        <organization>KDDI</organization>
        <address>
          <email>ke-oogaki@kddi.com</email>
        </address>
      </contact>
      <contact initials="L. A." surname="Munoz" fullname="Luis Angel Munoz">
        <organization>Vodafone</organization>
        <address>
          <email>luis-angel.munoz@vodafone.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
mR8/fCiviVHq2jT5spzbworlg0dPnjwA/cMFDOZmeiuAqXHAzlxiHSyPeL1M
yKrCdMqF7VhqM8tE+CWDt2mlTR9XNlmSjnqhUBozGDpX6IgmEkbsOzEiLE5C
2UM5b72kM3+ZlVyS8SVlxOo084kmMBsxx9uU5LgXyOkjpZShuuF6AzhJ9JSU
sfiDpjP3j+XmCMHBMm+ckR1E/wui7Zzp3Nwmuqdxd0vnhfv+m/1jfuqmN4yC
xFNXlqKXBYq+K5x1BcKVUfCc4DjnqQEpG9xqPzUlHZP1DS1dKdeWKWmqVGe8
RXlofijmgS9NbgK92EStnY3yfjJaj42FIVGYoRFVRyf1r0lEJmvXmUC9Z3Xe
tFQjooJsQTka8qQJN0jENVILjjWUWOHQQFtJBlNtWOmEokBHw6F0tAfxbhDz
vC2N0VOkVgsL8nVrgEyHlGi4buhdqcV1x6dLiOfwHzN6ddZmZ1hUp9eS10P9
mzYbV1jUJKwigJ34iHQzsrwGFszIVlFjdZUedkMW3yTWEwjHcEW6ioKjlwnA
99SR8Zwj6sB+f1ozHAio416jTvG6ZpdTyZce82KximOQx9Sk6cCcIhmXVRRJ
Cv8FsoOubmLcII/2HdOZPmbrreSuKCub1EO1Vqbebk3QXIfCEzEZXTaYYTyq
5vD+MTWAyTc1Wwz4VdmblSs0qwWfjxbg+NsLV+SSM+mS8YrS+iMGLNYjFhvU
JqNFBBgvmoRHecztPOZ3oaXs6w08I3Y1I1gfXkyPQv46LuXH0nqDoEyJtwsR
1rSMxZvGWy4XWxYP3bpZ7NbNgrduFr21eIVSvwiuvw1ui0KqfuZK2S+bQt6g
AXApPHloIetaPXJubvxvnYo1xyfau98Utatjw/R9oaC/v8q/iLrLPyKrsP0a
+UCsccOiecUkDoefaMvA3MXnGdrArEysP79hc5JDYU2GlIjIv9L7aiRYwS2e
GrwndjyaVvMq1+9oehyvBp4uzaefd24eScF9Pzu2s3PVXbgPRzTbj+tKvNSE
d+RWHJnr7l2MF03i7sVhYD7WG0Jn9LIiHaOPo80X3FTWICxvWNd3/VviTyXx
t3nh2BmcUsiOqicWBJnEssoAD7h0lATkZpNzLGAtJiS8HvVMmxx2aurxcFTk
8AoISjYQwl+L9xFPAMxGNvRcCHf3KP8MLdCpiWtMPSYDdMWuEBSlSE/Ozss6
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
6aeYstXaU6R8GL5FdDbov487lN25M9QP+oO3lKyTilV5Q4rXkNb73TqH5G2C
hmbjwTMETnSRSjWMIp8WlC5iVw/5nIf04tl3nx+U6+o+Jrsr0SkB02HMaX7M
7b0cu5iL0iQ8ohUMdTFg4/uTeImVZxMAYVlxnNOro5fH6uX2j0eHtJgNnEH9
QW1ubG49WccQfM9nRio6Pext9x5KwbuH248lRbMnSdUzqQhw8yJ03ZFisFia
g0q9ljorTUppTbLyXKfc1bYRXblLYTE2nUDIFzpMVUMpijNERyonI42uvKZB
4+1uc9tWs+XNbSAkskrKphHXlwWd7B2pXW9u9ZoTPa3BT93d1+s6lfWjr7ce
XV/rVNfG14sxmRyIRuSShnmG6wVUXj17RCX9xDvJc8NyHKKMgxDdVq7udXBU
pgOqQmYTxfKSuJahTsJKGU7d/FRYU4gryupsI45Tn01snAsUYKu6hlfqOJ0B
4FwMBZ6rSCgwFlaDB341I6r3TbNPpTTMOBm6hXg5qbgzIuVXcebuqT/ml5hr
ZiMeeGB76upGA0qh4BDNfnqVk1egKQiJOPFk86uvEGpYrQRu6DGg0cEzdlxL
Bxfwp1f7bFNqn/H54z15LtRXNKI5tu5asW3PX08fqOttKWlhTKoZNo9bor1D
ua9cdSma+4pSNlnTM5tL8fbJog0ptwl4dk3atMTjEjvqaN4KJWeyjNzhyu+U
KLmMZkrOJ6mfTKfOlxwbsM81/DqiuKPQn7PXEgstOTCyidb4LzKTpV/mGmml
w2crrbf2X4eVdrWnuxupy7pTkSZ+bgEWbfMK/RP/OUuGTT3dx2H+RONU7EyL
DZ43MnWuZORc3rzJmjisuWsUyXk2NXch3YU2v5sorA0rW9LgdztT3+2MfDfU
Vheqqss7wdzU/eU2GurS6ulNddPbKKa/rKpZY02myCVytRsqm9S3SXLZWaTP
ydMzaiUbFBNKKpouhewoZZke2knnqZNbdTQtjfB8Whvl4zp4FjxTe6nu9Isz
KXjUhx5u6Z2/PE/G9JAevCvDoJWeAJtQZEVpqyrqCgXwUyEaAwVg4FpJZjxP
LrhCRx/U0GEOe6YMX2uutrXV+8ooJI9Q+KSetsUj+fXxo8daxozpQ7rsi1ae
fZ2lHJynY1aQsI7yxH3t19sz4pHyD56JeXjgrHbQCNj7YjuckYXph48ekQoi
0TeBKnVSJNlIl7OjYbakTs9XD76+vua/v3r41UMNEz2V/n7z8WOdkm85YdAc
eUwa1EErLA2amBW+BfzTXHFQenwWB721/1rFwU/JQnlb8VPoK33cbz6Lkp9F
yc+i5CcuSt5aOPRjkkM2JaIhs7gbyobc+ZcXDl2Dly8I8ApZKuNGDULU6lKU
hrfIUjyTFaY4lxkJI9qoahwJHeumHsS1QBqZiSsd1rtjZzI3x8i1ubz1dGnL
iku8k4i8xAHoB+LdKEG8jBX4/VxJSTf/LCh5a/+1Ckq/0EPsbWSiz9LNpyDd
fJZP/j3kk4UiR0jvTRDswQqOD6EAQU74dyQ9RCpWmhc3N0hkmHLKkNRMCVsg
iwW+/209fLSNlg7c1iFGhrxIJzrlj1qDLydn6866zDLEFKMHeYDliYXF/vjm
zREz1UiqVslLj/E5uBRbteJI8oSs4QDmffqrr5+AUJHrAsNogcKjC1jx+mde
/JkXf1RL9eqcW80l4P6ojQTc/L0iAQ/6rUoj7ermEfCg4YqLU8sTcEOUa1df
qDKSjLv2R7sLBVC0rLmEXB2iVwN5INA+xOdl21iVkQbqoQw17deSTQdK0lwt
iSZylCO7hEke6o9e6TUpCUKaI46yoWuiFGkrKycdrAJ3xbF/MBVNEwxHjhUw
ElX5oprG9s3ga3kz4D2vGzP3691X4vKQjJdLGgYN60nDsIJOJE0YDE8Z7Co/
S5jJPP6bzpRU56SfYllIzXNOh36S/9NhQ6JUDTyiVxh7uohdcq/zfDRExJUM
nDXD5nyavwzBvxG1vw2pX47O34jIryqiy3W5ixQ27v03T8lARlZgE3UHxFqO
uefPwpdHjFOux4VLNXpiK7VaYyXnbsOu+jck5oJsTM7lcVd0CC4uJXUdsSu2
HyJRxE5UEx7Yzijj4lLlKuwBRyO/NiF/nMlHn4vk8EkHy1FiahxSYlOwLEKO
TdE1kPilnUOXP5Nj/yZ8iuR4ucRUYrIi2wi9vzu0237dUJZCa6FIUyImLock
XqWFrg4fz2gbLkOOMkrb1/SPjfmiTSpfaTiHXIdtGxPo6uWHK2xkV7IYk+Cw
eTFmZ6ZtoxXO/ywyvi1Hp13qYLJ4yKVfSaaP0pTScyEOZVH9WOFgoBbPbUpN
uKGn6FTu1z8Fqm8rCGoab0wu9PQxuvIyMjROoSMgpDIPzCLZdm2Xdfw6m1zk
b1MTxOIMaHmGptNcEVCncbg0KdYCX3NTFNIvzuMT7/5l7b3jM9X9dVPdpWQp
/QNczGnarfIunFwfrstlNgS900tmNaFir4hn37kDWJlcugFQEZtAN/xb0NDM
p3/nH2LSZdB+Lcjcr2rEGMjZIHdSc6sYGYYWsDj4Xy/tqKpRYdPaqbP3ZHH7
rHCqxD1+uLhDv1ytQ7rqDOmqM0xXnWG6zAx0RDlaD+IHpAIQzhlKBcBbpmm6
/Kjp8qNOlx912jSqvX0Dun3TptsH5OLz9VvQ/vP1+3z94k3nX79/5qV31+Df
DXcMfnFFmWDKWhsslsJ/xbHds1DxV07viMxf78wyqE5W3nCTRdgZoIlby6rd
UVZWbiOn3Si6x4Y2DXsMT8DuEeTry6QYxp+ubED6pR+HbojiqppCTfJ1S0bE
XgfQcDOuZpG4RBHdX538QFaX/lWVlhvGt4oMKJ24JEUFFzpxOg8zAViaOtKP
oSuUlsUszbeBs2ot66WgZ6CBaJQnbpvTIh/rMuSsOIhWCpoKn51XgqLMqhQt
87K4ppWHixNWNW91s2nT2rzpJcLXk1tl1XptO+zDNg/wjesXja5Ip0VaIuoM
ddwyzroH5CDDUDjYIBzymHXJN2iTW9s7eKPLUey/w3vVqjfZpyYaOY7S5G1k
mCNoowuKFumsZGNfxyywi3yVY/ylXOnqZdE7QFPCeHiF1x+P5U/5sVxONk6C
tnplEy0yTkdIR+OAu3svFw7Y+kL9ZffwhXpFVtYS1Vkyrj7lYvKm0n2bdqYL
+MIRttfdfqL38s9ssRVzrrbfAkRLeqQKi7xiuMrXX2+aYJb/xgHpm0b95Q/Z
sFu/33v9bF893X9xcHj8rSI6Fizs+60HW9vdzc3u5naPukhwvN9MvW+xWbwr
5ubN3uY38B3qoOUU8w+0ZwWoWtBth+yg5c678WhnUu6QMT0EB3bljKPKfvsN
3opsTCkKqIPlbDS/6WK//4a+DtlNG2CiECgYW73HAxD4nyGtfEUWkVNjxtgi
SGqTRp0T/Hh0WNJ6r4PVgYIfW5z5es7a9uCzYG27xrqg9rR1oWkVcj7uEgic
jfP/GT47PK2grJ2+XDA//E9enCWT7Gdrpmwf7J88V6+Pjnd/eqHWXk9TyZ6B
oH2VTJIzMm1wMNlPwPWQHrxAwrBOoxKTGzBbb8MQP6X9Hfjz9+dVNS137t9H
JlcVyeBtWhDR6MEK7l+e3Wfacf9b3hx0fAmXGXr+fpxkoyrf4d+/ly7ftrjh
/jCr8gJneJWfAwYPgZDNBskwyYoQAWSkMTfs9aXh93mB70U9OGw9PQZh8ahv
ssE5SArqTd5Pi6omjMiYRcG/f/+P2SQDmPUmaVUb6zXmpVUv8snPySj9GaiB
epbljUPm2Lp3plsP0yG0/b5KR+lpjglMoqs9TsYZpq9NirNZNmoauSypWa/P
zf5+lhXJaJh/P8nfZvFxn+bqp1nTcCNAit7lrJ9/fz5LLtOMRiBccOrYMD4Q
XSRk1cTJvsKcoTNYNjC/6suDGW5L4+gEUEVBS1OaEt0BEmHMPY0Re/n0qsjO
ziu1NlhXSBQVofRJAVzdWGHhjEpKfGKTDSf6KBLatnmfGsBaegCM0UjRsJix
g6q9DWXGN3A26I7VnxlD74zzZZT5DJMm4zdYAasgJjQGeY0CLHONovgPTOoB
uzbu6xuUzQO96Yj5T2dFOcNy5VXOoYLlrP+PVF8zkVBGAIUJ8m/oVhppE9kN
Swlv0osMzcZPj5/B7aK23B9fwGBhsCRYs426HBg/dwO/TqlepmfJCF3o2LJa
CgxGXCgM1kLNn+WDGRIK/fua3P8Kh0lTe/f1qrsZCCbrAtL6e2iAOJlNq4Jk
8N27d98o9O+A5eoFwbdA6dLRKeHR6QzOb0RLn+QVTFn22sSlilTni7HsU5Pg
EHuRNk6yKoMhpFOvPYc0w5reIWtoIM6LafP9+zr7EZWmJ5aqlSuDtk5N0eZV
P8WUOqYrTut3RyDqG9Wzs5sOnEwJzSA8Q98O5y3gm0aoNc1GQ1FdNp6jF5se
ZfCPOznO0Dgz+g38KyBAqgbebA2KyHpYLfmIayDzjEwzwGzwBTCEyEq0pLcq
2smE2C82LPm4AY13t+hM1bi1fd0vNuZlVgDPLMtVx/xJ94uNqdlQ1xRIBNif
ZxNv3Y4tx74HDTOiadVV47S7igbiLE/k42DnkDxBwgVLWJAw5cxJB6Rf+c7S
HL56lwELuVp3tmG0OFOSOHN0wnnHCexZ+iinjyaC1rxhGr3XnevDwYAvc4uK
tC1ktHosBbQ6ObUrpLRK701fQjz2gP7GfBmbBKY5YrBIRj6aEYeL5rkHPXwM
2mI63HClHYan5rLbL46O1OGbV+rg9Z4WiIf7Izpfu/pr5W5DnOxvtgFJiKdr
OTP7R8NUtW7z3iHNuG8JGa3BXQJIUVUy6qIwc1M40ggkDi0/Lbr63HTCY+ob
mUqLBzSBU5zAPTEbkYBD4ws48OgzSQuXwC5mWOuA3FDdfsMcEAUEBK4gSqsv
G7Y2IO+kG+1sD7suDUO91jln53wLmmMCEmMxUZ2/7nb/x9/eb1137HquF65M
wyWyOBdM+++mVIaY0tsdHL9Wuy+P/rjb3WJhOdjGdY3wRB/ImynPntNIPGfh
bM0oHCnKRF0mJ1OQHd1AKDvt6oq7S1FocjxRbTsQMQ2zwThd01YoZ28BWQuG
Cw/VMaF7J7s0X/GPeox6TxuQek2nx+yiobObF12UjtcGswJE12ptfUO1PRXv
S9XuuO6tzDR5qrRDbiK1DreaAfPCaNNSZ3297e0dPiko2UV3DHgHJFe1X2Pu
QTE5STZGAwh/Iu/zpXueJYOnb7Px2bNa4r48k/lcXKNDdOSd+r22rLICHTyt
nK02THRCmqiZgpKfslkzOUvQuZ5VJG0BdTfPudbdXQ3Oc1RFeOru6Qgr/3jA
jq8BbyL3lNcGGpp1eErJ6E6isFQf4nJwjLRC7hicL181KbvqDTVvUbQwuXP1
zepZ8dqZiq7hxA3Ue6mp1dKHE8VIVGKzwQyTWDJQDp7VV+/gYf2f3j8I5slo
1BVRO9gqiyPwO4n6Ta00PNLx1KUoywBjCVDA7KxoROAh6+HSRB5LXH7rjAML
dh5v9IttXC9nzOKkKZyu36FCKLj7tn/LXwHXtbTGP+0Io32FuWBte7nmDhkL
BP15jLyBOzZSTLtJejGJDv2N3ppl8bw2MyWREId4RJeA28QNuE9GNVJN+OLR
ipVk9om1LBYiTfkSSiDlOQPddE5vDDGaNU1KQHaYr/5zmk/QaMf3w4NFPu1y
zujqhus7kCzNehidCVeCFs6TQoqi5fLqkHg27CpNxvwOcXmeDc7htlxpV9jT
2chgq1+KLHEH0LDQxdWgt44w29CmZh3g7Ki2bm+rk/dn2QidBzY4Ty/XlZvD
5K1jdJ5NlmD2ZDlxZIScU+JV9nkyfQd4iwZHhzJojBV7drd/5ZG3uaLlInuS
v7PmpSMaVmwKtz7KetQr5xJEZSzXP4Kdip2RMRu6P1FU1uz17nsg8EVOFDiN
MY9F2BuOUrcNdmoSazPDYOGVvLIHGFcAaklwcuQbbQ2BK52AxhESBydvRRGu
D6bpjm/blE+jRDRnVzZXv7mN+iQvMWiT77um2P10lE/OyubtEYGKmajmow7Z
UT8K4mhD9KeONnWx6cZIE5PB2Kzj2eTlc0coQyeY80mWdcwJpae7RSTWz4le
hxukegw3QR7FZ8+jrn7ekgAjG9YPm8ds3nvDkTRiAcVupCCGYtFOESEcSSYr
hVGbBK/nabBq4Xb3jWsXuzMB9+zmp+T5pMZpMiljmrYnExVYEqTEPOArm0lq
Jn4fMk1ato4l5woAenKhWNqsLo8NiKLuzuWhYT0u3wEuw/bxPINtBMpGdGXt
nxD3tH+YzsCSOQ5vEueOBVzUaZqUWT8buZEYqPSng7eyKSouAaPR8zSnChiQ
o5kOtqfSEnrbzhi6d5NFVMPcFjaxO3XMbu26Tcn0cBAiirlc20KdJqMyXQAy
7WyQlaa2yoQebmVthtoEfoiewBmVXRq2Ty5p2mGn6+Mk7YV/2anHGtnt33Cj
voeoCWdNnVIT7AypXzDmqgTG6WkHBH7UW9HLFd/5Pe3MtdrpWCuO6hUNDf//
Wnut7R8+O/7W8Wgzvna7e6GfHQMp6mMHP93Qv27Dc67bCKqYaOe7JZwYl/XJ
403M9cdzfL1u64unQYbdAqex1qfo5fZpewICXcerB7Aa+8ubwDdzFvZk+yEs
7FA/zO65dafULnmuStpMXmp0cqxL2WVM9ubG7+fMjUi+UwcJ8rJyw7rzRKc0
wbT+jObreVuG+7MTPYL/SK/UHvb+7Gf42c/wU/MznOtfaJmzkkBgz8dQrVFt
rvXPvoa/YV9DdLn+5JwNb+sHfv8esFUtOiILggtDoRMpKlMyI8J8UORlqSWx
Ut27j511h0gcfU0ZIFEYxWVXQp4mgA7t+40Scml+GshfKCG1rbAZBaAt3xnW
Wqzfc88WjYZLoUKgZ7NbnN6y40hlti35Ae5us16+gft3vllJ4lDfy7y0H4t2
ZQi32d38vA1iI/nSdrhIRtmwazKVWMtDrHFkrbaDNDKPQUtAjnbGQKtnvKA7
5NwE2S2QS2AhUcSIBlJ+alB0F3lH4HMjukKwzYNXNDfapwYvd5F3BS8nGdcq
8JoXxvqpgS2y1ruCnh36Fne1MZXtpwbIcKF3BUUpY3BzEDpZd24NwnkJfCJA
Cae2QIk0vhl8HEPhivC5fy/yASl2VtIjjrhFgjQV+dxvUSAIe1+LccPJ8NNy
HbrdNEHdPnVpFC9ljzKmyQJEMn9YUZclI9nkKWjeeZH9jA/2bJm2x1Rb5IVj
iE7GObQYz0ZVNh2hAdAYU+0LHsAzmZaz0RIu5Huer4pM7A0QeHTcxt/SG3fV
p4V9b1e+w0vdY2CYV5v/dBYz/+0JR9tQrisl9Q+fmhpffeyzIj+46eyKzmNI
lZydkXana5T7OjooSB2ecSXnyZNgULdzYIum0ZvB9c9schtoYfd/KbBowpVg
ZZxn/pRN/uTmp2yGGU7ig8z4hAFBeY466ir05K4oCT5HaM8QWTm/cOJzgEsz
fiuUwc9ckX6mEx+PTkyLDAuiXHX1OlcDnPemH/iuByN/RJCq0JO4E869EnCP
ApAsA+Vgws90+Q7osnHLB6IrouZcCnfiZANyyaYRVLUxy4QF9h13AO08wIV3
ySuR/Qyhy8utH48OqbjAlc67eUXNbGeZtZrBrCMTf2927AQCbnW5UW1LzREV
RvQOpnECIb1YpIMKjy4PPKMIARLpm5Xku5AVfnhHcDC11dYQG8n+aAsw1NkH
Byril6HDEOFe4GKbDb9ZBpl9nsBHIiBMpGCz9pZN/L7qAA7zrKDf32idDvnw
0yIbnuE/1g7ePF2P3/O6C/ki145VHTsibh0N2H07542460YNdpIPyFEIRUBi
jevgqEk48hKtLqts9euDRoiGkyJ3evFwEayxTXsuMLF0h42RihGp4CbgkLXd
uTqzt8LHS6zw8cIVPl51hY/nrNCTcpc8w8Wn92s7t0/5xOpn9cYaoLg6F6UH
dI8rTFjMLleNxyZBYUUwsC5Ylk8kZZ5ecl0NmKMEhCpAbW2uFnA9D5LidBgu
0yVKOtolrNJl1rNU3Msb38K3ONil0SZqOUYDF3/jvkGRN2VgXeS85HgODc6E
t1HHsnRlHYx8YjbIHQD/q2srNYYyA7qqpy+OzFurh6b9s6mTySse0Oz4B5lL
BDCBMevEZJrWA9aalF5nXGSSuEanuz1wxCb7gwNNwiTnwXEO0OR+BZNo58VZ
Ye8YZ5F3xZTyqqzSseqq2ST75ywdXbneESB52vHcXpS3oVmAQ8Dbjl3k8JQ5
wnYwWSVG3XpSBsGySVoBtZIGS8lrJ2aTwCNkZDJ3UCCgk7A/LSsQULPy3BuA
Y3sAjrAh963fol7Ddv0iAzG1go56kmZn5/18xUA594BlhLsLkbOLstb6BmJQ
pOMcAyfieTQaD2xOLDWP6J6WeH6kmAChUxqsFjcR/hzoVrx3zhXh+2WTa7v4
ZKNomo2TwvXEtulFndmlimZS1pfWAJQmNL4xTG6BwI3o6ychiRGc6KsQfthR
ote7D//nkBfn7/sBnVpsSSJvLLMIUgE4lpCOziJk6WgKCx2lI2QHYx1cyrP0
zV3eu1pzodfHR8/jbAjLXM7nQ9Jt0MiPcHTZf+gejsM7Ynfs59geF+/Q7I3r
q0c3h1U5b7s5Gr5hdzR+8+7o51vuDuvgRveG9YBvuTUcW4tcnnTrF5m8iZzr
j7CUgLtSGUtTwNLe21glS082Dg4H4XfLs6FiktHDobqgtzwdHH2uNx+WpNxZ
voCxL0rg50dT1xOlQK90568DHZzTb65QrSPjIsiw1CmzhcdoJkaFjeqcKxl4
nDcvchMIFVAvS1GoOd5MRltWyb2t2PYDyetuTKAY45r014BvRpX4uukYWGTw
cuCuYvk3BGS1espbPiWY88lKV09zNzgnr9YSGp8PgJjWN3fVy2t/hAWNGiB+
YlrgvMlX1wZDmnUzhRA/oVKIn5UVw+ZEKu6ZoFBzh4+GJCPdPXK6Qpu/s5Wx
MxxqgQwYgxmKSncIM5K87h5mnix4S6DVxlogW8agBhPeIdBQIrp7mIGQ2fMv
4/NcmLktWAiK1GwssajQxe8hcRdbogHf0RlEBGD8zJN68LNMkpSF0o+/9KVe
+ZaShPAzRxqqCcfuOuoYhoLsHaIYycV3j2O19AJLC8V3hEiurI6fXyEGzVGt
8NMoT7uraHAgW054Xiw2f5aQ+b+rSMio0BiVBD+3vcI84Ee4xHqlemAf++qw
uNV19aeKS9aDpBwkQwDRKMHIIYx4TpeUsV/uHirTo1YvypdCY2+zAuLqbH7L
x9GWzcS8ri3dBhF+ZToTgc9/dONPQdRFtRusx54BPczKE8/A4ZNlGV/sxrcd
8bPiMV/xEIv2Z2VjkbIh5vHfooLh6RR+94+vYDADZwN+M/B/NbJ3IG770PyX
y95s2tUGeB+6rmS6b2N32afWk0mdqGHtcdsonfpBBNo7PwgLNu4aPJb4t8gR
xP00/DTazYNql1MTGRiOLu+qzb9LkrE5Yd3fLIMtnkNPYqt2zlt7hKFRYlOT
DTW+G/N7mJzG2Y/5acf8hRtaait7Mn45I+wfkhpBYyyn+fC7gVS7b9J9MNhQ
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
AA==

-->

</rfc>
