<?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.4 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-opsawg-teas-attachment-circuit-04" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.19.0 -->
  <front>
    <title abbrev="ACaaS">YANG Data Models for Bearers and 'Attachment Circuits'-as-a-Service (ACaaS)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-teas-attachment-circuit-04"/>
    <author fullname="Mohamed Boucadair" role="editor">
      <organization>Orange</organization>
      <address>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <author fullname="Richard Roberts" role="editor">
      <organization>Juniper</organization>
      <address>
        <email>rroberts@juniper.net</email>
      </address>
    </author>
    <author fullname="Oscar Gonzalez de Dios">
      <organization>Telefonica</organization>
      <address>
        <email>oscar.gonzalezdedios@telefonica.com</email>
      </address>
    </author>
    <author fullname="Samier Barguil Giraldo">
      <organization>Nokia</organization>
      <address>
        <email>samier.barguil_giraldo@nokia.com</email>
      </address>
    </author>
    <author fullname="Bo Wu">
      <organization>Huawei Technologies</organization>
      <address>
        <email>lana.wubo@huawei.com</email>
      </address>
    </author>
    <date year="2024" month="January" day="15"/>
    <area>Operations and Management</area>
    <workgroup>OPSAWG</workgroup>
    <keyword>Slice Service</keyword>
    <keyword>L3VPN</keyword>
    <keyword>L2VPN</keyword>
    <abstract>
      <?line 87?>

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

<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"/>). Note that the AC model can be used between service providers for other interconnection purposes.</t>
          </li>
        </ul>
        <t>The examples provided in <xref target="examples"/> use the IPv4 address blocks reserved for documentation <xref target="RFC5737"/>, the IPv6 prefix reserved for documentation <xref target="RFC3849"/>, and the Autonomous System (AS) numbers reserved for documentation <xref target="RFC5398"/>.</t>
        <t>The YANG data models in this document conform to the Network Management Datastore Architecture (NMDA) defined in <xref target="RFC8342"/>.</t>
      </section>
      <section anchor="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 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) 2024 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

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

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

  revision 2023-11-13 {
    description
      "Initial revision.";
    reference
      "RFC xxxx: 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, "
          + "'bearer-svc:device-id') or "
          + "derived-from-or-self(../identified-by, "
          + "'bearer-svc:site-and-device-id')" {
            description
              "Only applicable if identified-by is device.";
          }
          description
            "Bearer is linked to device.";
          leaf device-id {
            type string;
            description
              "Identifier for the device where that bearer belongs.";
          }
          uses location-information;
        }
        container site {
          when
            "derived-from-or-self(../identified-by, "
          + "'bearer-svc:site-id') or "
          + "derived-from-or-self(../identified-by, "
          + "'bearer-svc:site-and-device-id')" {
            description
              "Only applicable if identified-by is site.";
          }
          description
            "Bearer is linked to a site.";
          leaf site-id {
            type string;
            description
              "Identifier for the site or sites where that bearer
               belongs.";
          }
          uses location-information;
        }
        leaf custom-id {
          when "derived-from-or-self(../identified-by, "
             + "'bearer-svc:custom')" {
            description
              "Only enabled id identified-by is custom.";
          }
          type string;
          description
            "The semantic of this identifier is shared between the
              customer/provider using out-of-band means.";
        }
      }
      leaf 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) 2024 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

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

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

  revision 2023-11-13 {
    description
      "Initial revision.";
    reference
      "RFC XXXX: YANG 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-svc:ac-group-profile"
         + "/ac-svc:name";
    }
    description
      "Defines a reference to an attachment circuit profile.";
  }

  typedef encryption-profile-reference {
    type leafref {
      path
        "/ac-svc:specific-provisioning-profiles"
      + "/ac-svc:valid-provider-identifiers"
      + "/ac-svc:encryption-profile-identifier/ac-svc:id";
    }
    description
      "Defines a 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="Instance-Data" target="https://github.com/boucadair/attachment-circuit-model/blob/main/xml-examples/svc-full-instance.xml">
          <front>
            <title>Example of AC SVC Instance Data</title>
            <author>
              <organization/>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="PYANG" target="https://github.com/mbj4668/pyang">
          <front>
            <title>pyang</title>
            <author>
              <organization/>
            </author>
            <date year="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="14" month="December" 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-04"/>
        </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 3060?>

<section anchor="examples">
      <name>Examples</name>
      <t>This section includes a non-exhaustive list of examples to illustrate the use of the service models defined in this document. An example instance data can also be found at <xref target="Instance-Data"/>.</t>
      <section anchor="ex-create-bearer">
        <name>Create A New Bearer</name>
        <t>An example of a request message body to create a bearer is shown in <xref target="create-bearer"/>.</t>
        <figure anchor="create-bearer">
          <name>Example of a Message Body to Create A New Bearer</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-bearer-svc:bearers": {
    "bearer": [
      {
        "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>The document leverages <xref target="RFC9182"/> and <xref target="RFC9291"/>.</t>
      <t>Thanks to Ebben Aries for the YANG Doctors review and for providing <xref target="Instance-Data"/>.</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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
BcnbBA3NxoNnCJzoIpVqGEU+LShdxK4e8jkP6cWz7z4/KNfVfUx2V6JTAqbD
mNP8mNt7OXYxF6VJeEQrGOoKvMb3J/ESK88mAMKy4jinV0cvj9XL7R+PDmkx
GziD+oPa3NjcerKOIfiez4yUUXrY2+49lCpzD7cfS4pmT5KqZ1IR4OZF6Loj
FVixNAfVVy11VpqU0ppk5blOuattI7pclsIKaDqBkC90mFKC2lMpGaIjlZOR
Rpc706Dxdre5bUvI8uY2EBJZJbXKiOvLgk72jtSuN7d6zYme1uCn7u7rdZ3K
+tHXW4+ur3Wqa+PrxZhMDkQjcknDPMP1Aiqvnj2iOnrineS5YTkOUcZBiG4r
l9Q6OCrTAZX+solieUlcQFAnYaUMp25+qiQ51mVcdbYRx6nPJjbOBQqwVV04
K3WczgBwLoYCz1UkFBgLq8EDp2gKzExFtmn2qZSGGSdDt/otJxV3RqT8Ks7c
PfXH/BJzzWzEAw9sT13diMrcu0Szn17l5BVoqjAiTjzZ/OorhBpWK4Ebegxo
dPCMHdfSwQX86RUc25SCY3z+eE+eC/UVjWiOrbtW4drz19MH6npbSloYk2qG
zeOWaO9Q7itXXYrmvqKUTdb0zOZSvH2yaEPKbQKeXZM2LfG4xI46mrdCyZks
I3e43DolSi6jmZLzSeon06nzJccG7HMNv3gn7ij05+y1xEJLDoxsojX+i8xk
6Ze5Rlrp8NlK663912GlXe3p7kbqsu5UpImfW4BF27xC/8R/zpJhU0/3cZg/
0TgVO9Nig+eNTJ0rGTmXN2+yJg5r7hpFcp5NzV1Id6HN7yYKa8PKljT43c7U
dzsj3w211YWq6vJOMDd1f7mNhrq0enpT3fQ2iukvq2rWWJOpLIlc7YbKJvVt
klx2Fulz8vSMWskGxYSSiqbrDztKWaaHdtJ56uRWHU1LIzyf1kb5uA6eBc/U
Xqo7/eJMCh71oYdbeucvz5MxPaQH78owaKUnwCYUWVHaqoq6QgH8VIjGQAEY
uFaSGc+TC67Q0Qc1dJjDninD15qrbW31vjIKySMUPqmnbfFIfn386LGWMWP6
kC77opVnX2cpB+fpmBUkLF48cV/79faMeKT8g9d16IMDZ7WDRsDeF9vhjCxM
P3z0iFQQib4JVKmTIslGupwdDbMldXq+evD19TX//dXDrx5qmOip9Pebjx/r
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
IQK/0/Gg8CqHHDbohwY4gIHuv0MJSwy7VAIA

-->

</rfc>
