<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.8 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-opsawg-teas-attachment-circuit-11" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.21.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-11"/>
    <author fullname="Mohamed Boucadair" role="editor">
      <organization>Orange</organization>
      <address>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <author fullname="Richard Roberts" role="editor">
      <organization>Juniper</organization>
      <address>
        <email>rroberts@juniper.net</email>
      </address>
    </author>
    <author fullname="Oscar Gonzalez de Dios">
      <organization>Telefonica</organization>
      <address>
        <email>oscar.gonzalezdedios@telefonica.com</email>
      </address>
    </author>
    <author fullname="Samier Barguil Giraldo">
      <organization>Nokia</organization>
      <address>
        <email>samier.barguil_giraldo@nokia.com</email>
      </address>
    </author>
    <author fullname="Bo Wu">
      <organization>Huawei Technologies</organization>
      <address>
        <email>lana.wubo@huawei.com</email>
      </address>
    </author>
    <date year="2024" month="April" day="19"/>
    <area>Operations and Management</area>
    <workgroup>OPSAWG</workgroup>
    <keyword>Slice Service</keyword>
    <keyword>L3VPN</keyword>
    <keyword>L2VPN</keyword>
    <abstract>
      <?line 116?>

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

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

<t>The meanings of the symbols in the YANG tree diagrams are defined in <xref target="RFC8340"/>.</t>
      <t>LxSM refers to both the L2SM and the L3SM.</t>
      <t>LxNM refers to both the L2NM and the L3NM.</t>
      <t>This document uses the following terms:</t>
      <dl>
        <dt>Bearer:</dt>
        <dd>
          <t>A physical or logical link that connects a customer node (or site) to a provider network. A bearer can be a wireless or wired link. One or multiple technologies can be used to build a bearer. The bearer type can be specified by a customer.</t>
        </dd>
        <dt/>
        <dd>
          <t>The operator allocates a unique bearer reference to identify a bearer within its network (e.g., customer line identifier). Such a reference can be retrieved by a customer and used in subsequent service placement requests to unambiguously identify where a service is to be bound.</t>
        </dd>
        <dt/>
        <dd>
          <t>The concept of bearer can be generalized to refer to the required underlying connection for the provisioning of an attachment circuit. One or multiple attachment circuits may be hosted over the same bearer (e.g., multiple VLANs on the same bearer that is provided by a physical link).</t>
        </dd>
        <dt>Network controller:</dt>
        <dd>
          <t>Denotes a functional entity responsible for the management of the service provider network.</t>
        </dd>
        <dt>Service orchestrator:</dt>
        <dd>
          <t>Refers to a functional entity that interacts with the customer of a network service. The service orchestrator is typically responsible for the attachment circuits, the PE selection, and requesting the activation of the requested service to a network controller.</t>
        </dd>
        <dt>Service provider network:</dt>
        <dd>
          <t>A network that is able to provide network services (e.g., Layer 2 VPN, Layer 3 VPN, or Network Slice Services).</t>
        </dd>
        <dt>Service provider:</dt>
        <dd>
          <t>A service provider that offers network services (e.g., Layer 2 VPN, Layer 3 VPN, or Network Slice Services).</t>
        </dd>
      </dl>
    </section>
    <section anchor="relationship-to-other-ac-data-models">
      <name>Relationship to Other AC Data Models</name>
      <t><xref target="ac-overview"/> depicts the relationship between the various AC data models:</t>
      <ul spacing="normal">
        <li>
          <t>"ietf-ac-common" (<xref target="I-D.ietf-opsawg-teas-common-ac"/>)</t>
        </li>
        <li>
          <t>"ietf-bearer-svc" (<xref target="sec-ac-module"/>)</t>
        </li>
        <li>
          <t>"ietf-ac-svc" (<xref target="sec-bearer-module"/>)</t>
        </li>
        <li>
          <t>"ietf-ac-ntw" (<xref target="I-D.ietf-opsawg-ntw-attachment-circuit"/>)</t>
        </li>
        <li>
          <t>"ietf-ac-glue" (<xref target="I-D.ietf-opsawg-ac-lxsm-lxnm-glue"/>)</t>
        </li>
      </ul>
      <figure anchor="ac-overview">
        <name>AC Data Models</name>
        <artset>
          <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="256" width="368" viewBox="0 0 368 256" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 32,144 L 32,240" fill="none" stroke="black"/>
              <path d="M 56,80 L 56,112" fill="none" stroke="black"/>
              <path d="M 72,144 L 72,176" fill="none" stroke="black"/>
              <path d="M 144,48 L 144,80" fill="none" stroke="black"/>
              <path d="M 192,40 L 192,112" fill="none" stroke="black"/>
              <path d="M 240,48 L 240,80" fill="none" stroke="black"/>
              <path d="M 328,80 L 328,160" fill="none" stroke="black"/>
              <path d="M 328,192 L 328,240" fill="none" stroke="black"/>
              <path d="M 56,80 L 144,80" fill="none" stroke="black"/>
              <path d="M 240,80 L 328,80" fill="none" stroke="black"/>
              <path d="M 104,128 L 128,128" fill="none" stroke="black"/>
              <path d="M 72,176 L 264,176" fill="none" stroke="black"/>
              <path d="M 32,240 L 120,240" fill="none" stroke="black"/>
              <path d="M 240,240 L 328,240" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="336,192 324,186.4 324,197.6" fill="black" transform="rotate(270,328,192)"/>
              <polygon class="arrowhead" points="248,48 236,42.4 236,53.6" fill="black" transform="rotate(270,240,48)"/>
              <polygon class="arrowhead" points="200,40 188,34.4 188,45.6" fill="black" transform="rotate(270,192,40)"/>
              <polygon class="arrowhead" points="152,48 140,42.4 140,53.6" fill="black" transform="rotate(270,144,48)"/>
              <polygon class="arrowhead" points="136,128 124,122.4 124,133.6" fill="black" transform="rotate(0,128,128)"/>
              <polygon class="arrowhead" points="112,128 100,122.4 100,133.6" fill="black" transform="rotate(180,104,128)"/>
              <polygon class="arrowhead" points="80,144 68,138.4 68,149.6" fill="black" transform="rotate(270,72,144)"/>
              <polygon class="arrowhead" points="40,144 28,138.4 28,149.6" fill="black" transform="rotate(270,32,144)"/>
              <g class="text">
                <text x="188" y="36">ietf-ac-common</text>
                <text x="48" y="132">ietf-ac-svc</text>
                <text x="200" y="132">ietf-bearer-svc</text>
                <text x="320" y="180">ietf-ac-ntw</text>
                <text x="180" y="244">ietf-ac-glue</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="center"><![CDATA[
                ietf-ac-common
                 ^     ^     ^
                 |     |     |
      +----------+     |     +----------+
      |                |                |
      |                |                |
ietf-ac-svc <--> ietf-bearer-svc        |
   ^    ^                               |
   |    |                               |
   |    +------------------------ ietf-ac-ntw
   |                                    ^
   |                                    |
   |                                    |
   +----------- ietf-ac-glue -----------+
]]></artwork>
        </artset>
      </figure>
      <t>"ietf-ac-common" is imported  by "ietf-bearer-svc", "ietf-ac-svc", and "ietf-ac-ntw".
Bearers managed using "ietf-bearer-svc" may be referenced in the service ACs managed using "ietf-ac-svc".
Similarly, a bearer managed using "ietf-bearer-svc" may list the set of ACs that use that bearer.
In order to ease correlation between an AC service requests and the actual AC provisioned in the network, "ietf-ac-ntw" uses the AC references exposed by "ietf-ac-svc".
To bind Layer 2 VPN or Layer 3 VPN services with ACs, "ietf-ac-glue" augments the LxSM and LxNM with AC service references exposed by "ietf-ac-svc" and AC network references exposed bt "ietf-ac-ntw".</t>
    </section>
    <section anchor="sample-uses-of-the-data-models">
      <name>Sample Uses of the Data Models</name>
      <section anchor="acs-terminated-by-one-or-multiple-customer-edges-ces">
        <name>ACs Terminated by One or Multiple Customer Edges (CEs)</name>
        <t><xref target="uc"/> depicts two target topology flavors that involve ACs. These topologies have the following characteristics:</t>
        <ul spacing="normal">
          <li>
            <t>A CE can be either a physical device or a logical entity. Such logical entity is typically a software component (e.g., a virtual service function that is hosted within the provider's network or a third-party infrastructure). A CE is seen by the network as a peer SAP.</t>
          </li>
          <li>
            <t>An AC service request may include one or multiple ACs, which may be associated to a single CE or multiple CEs.</t>
          </li>
          <li>
            <t>CEs may be either dedicated to one single connectivity service or host multiple connectivity services (e.g., CEs with roles of SFs <xref target="RFC7665"/>).</t>
          </li>
          <li>
            <t>A network provider may bind a single AC to one or multiple peer SAPs (e.g., CE#1 and CE#2 are tagged as peer SAPs for the same AC). For example, and as discussed in <xref target="RFC4364"/>, multiple CEs can be attached to a PE over the same attachment circuit. This scenario is typically implemented when the Layer 2 infrastructure between the CE and the network is a multipoint service.</t>
          </li>
          <li>
            <t>A single CE may terminate multiple ACs, which can be associated with the same bearer or distinct bearers.</t>
          </li>
          <li>
            <t>Customers may request protection schemes in which the ACs associated with their endpoints are terminated by the same PE (e.g., CE#3), distinct PEs (e.g., CE#34), etc. The network provider uses this request to decide where to terminate the AC in the network provider network and also whether to enable specific capabilities (e.g., Virtual Router Redundancy Protocol (VRRP) <xref target="RFC5798"/>). Note that placement constraints may also be requested during the instantiation of the underlying bearers (<xref target="sec-bearer"/>).</t>
          </li>
        </ul>
        <figure anchor="uc">
          <name>Examples of ACs</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="224" width="528" viewBox="0 0 528 224" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,80" fill="none" stroke="black"/>
                <path d="M 8,112 L 8,160" fill="none" stroke="black"/>
                <path d="M 72,32 L 72,80" fill="none" stroke="black"/>
                <path d="M 72,112 L 72,160" fill="none" stroke="black"/>
                <path d="M 128,48 L 128,144" fill="none" stroke="black"/>
                <path d="M 208,32 L 208,176" fill="none" stroke="black"/>
                <path d="M 304,176 L 304,208" fill="none" stroke="black"/>
                <path d="M 376,32 L 376,176" fill="none" stroke="black"/>
                <path d="M 456,32 L 456,80" fill="none" stroke="black"/>
                <path d="M 456,128 L 456,160" fill="none" stroke="black"/>
                <path d="M 496,160 L 496,208" fill="none" stroke="black"/>
                <path d="M 520,32 L 520,80" fill="none" stroke="black"/>
                <path d="M 520,128 L 520,160" fill="none" stroke="black"/>
                <path d="M 8,32 L 72,32" fill="none" stroke="black"/>
                <path d="M 208,32 L 376,32" fill="none" stroke="black"/>
                <path d="M 456,32 L 520,32" fill="none" stroke="black"/>
                <path d="M 72,48 L 128,48" fill="none" stroke="black"/>
                <path d="M 376,48 L 400,48" fill="none" stroke="black"/>
                <path d="M 424,48 L 456,48" fill="none" stroke="black"/>
                <path d="M 376,64 L 400,64" fill="none" stroke="black"/>
                <path d="M 424,64 L 456,64" fill="none" stroke="black"/>
                <path d="M 8,80 L 72,80" fill="none" stroke="black"/>
                <path d="M 456,80 L 520,80" fill="none" stroke="black"/>
                <path d="M 128,96 L 152,96" fill="none" stroke="black"/>
                <path d="M 176,96 L 208,96" fill="none" stroke="black"/>
                <path d="M 8,112 L 72,112" fill="none" stroke="black"/>
                <path d="M 456,128 L 520,128" fill="none" stroke="black"/>
                <path d="M 72,144 L 128,144" fill="none" stroke="black"/>
                <path d="M 376,144 L 400,144" fill="none" stroke="black"/>
                <path d="M 424,144 L 456,144" fill="none" stroke="black"/>
                <path d="M 8,160 L 72,160" fill="none" stroke="black"/>
                <path d="M 456,160 L 520,160" fill="none" stroke="black"/>
                <path d="M 208,176 L 376,176" fill="none" stroke="black"/>
                <path d="M 304,208 L 392,208" fill="none" stroke="black"/>
                <path d="M 416,208 L 496,208" fill="none" stroke="black"/>
                <g class="text">
                  <text x="412" y="52">AC</text>
                  <text x="36" y="68">CE#1</text>
                  <text x="412" y="68">AC</text>
                  <text x="484" y="68">CE#3</text>
                  <text x="164" y="100">AC</text>
                  <text x="280" y="100">Network</text>
                  <text x="36" y="148">CE#2</text>
                  <text x="412" y="148">AC</text>
                  <text x="484" y="148">CE#4</text>
                  <text x="404" y="212">AC</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
.-------.                .--------------------.         .-------.
|       +------.         |                    +---AC----+       |
| CE#1  |      |         |                    +---AC----+ CE#3  |
'-------'      |         |                    |         '-------'
               +---AC----+     Network        |
.-------.      |         |                    |
|       |      |         |                    |         .-------.
| CE#2  +------'         |                    +---AC----+ CE#4  |
'-------'                |                    |         '----+--'
                         '-----------+--------'              |
                                     |                       |
                                     '-----------AC----------'
]]></artwork>
          </artset>
        </figure>
      </section>
      <section anchor="separate-ac-provisioning-vs-actual-service-provisioning">
        <name>Separate AC Provisioning vs. Actual Service Provisioning</name>
        <t>The procedure to provision a service in a service provider network may depend on the practices adopted by a service provider. This includes the flow put in place for the provisioning of network services and how they are bound to an attachment circuit. For example, a single attachment circuit may be used to host multiple connectivity services. In order to avoid service interference and redundant information in various locations, a service provider may expose an interface to manage ACs network-wide. Customers can then request a bearer or an attachment circuit to be put in place, and then refer to that bearer or AC when requesting services that are bound to the bearer or AC. <xref target="I-D.ietf-opsawg-ac-lxsm-lxnm-glue"/> specifies augmentations to the L2SM and the L3SM to bind LxVPN services to ACs.</t>
        <t><xref target="_u-ex"/> shows the positioning of the AC service model is the overall service delivery process.</t>
        <figure anchor="_u-ex">
          <name>An Example of AC Model Usage</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="656" width="512" viewBox="0 0 512 656" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,560 L 8,592" fill="none" stroke="black"/>
                <path d="M 48,560 L 48,592" fill="none" stroke="black"/>
                <path d="M 96,432 L 96,480" fill="none" stroke="black"/>
                <path d="M 104,320 L 104,368" fill="none" stroke="black"/>
                <path d="M 120,544 L 120,608" fill="none" stroke="black"/>
                <path d="M 136,368 L 136,432" fill="none" stroke="black"/>
                <path d="M 136,480 L 136,536" fill="none" stroke="black"/>
                <path d="M 176,288 L 176,320" fill="none" stroke="black"/>
                <path d="M 176,432 L 176,480" fill="none" stroke="black"/>
                <path d="M 208,32 L 208,64" fill="none" stroke="black"/>
                <path d="M 208,112 L 208,160" fill="none" stroke="black"/>
                <path d="M 208,208 L 208,256" fill="none" stroke="black"/>
                <path d="M 208,376 L 208,496" fill="none" stroke="black"/>
                <path d="M 232,320 L 232,368" fill="none" stroke="black"/>
                <path d="M 272,64 L 272,80" 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="44" y="100">l2vpn-svc,</text>
                  <text x="132" y="100">l3vpn-svc,</text>
                  <text x="216" y="100">ietf-nss,</text>
                  <text x="288" y="100">ac-svc,</text>
                  <text x="356" y="100">ac-glue,</text>
                  <text x="408" y="100">and</text>
                  <text x="468" 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="92" y="196">l2vpn-ntw,</text>
                  <text x="180" y="196">l3vpn-ntw,</text>
                  <text x="244" y="196">sap,</text>
                  <text x="316" y="196">ac-glue,</text>
                  <text x="368" y="196">and</text>
                  <text x="412" 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  |
 l2vpn-svc, l3vpn-svc, ietf-nss, ac-svc, ac-glue, and bearer-svc
                          .-------+-------.
                          |    Service    |
                          | Orchestration |
                          '-------+-------'
           Network Model          |
       l2vpn-ntw, l3vpn-ntw, sap, | ac-glue, and ac-ntw
                          .-------+-------.
                          |   Network     |
                          | Orchestration |
                          '-------+-------'
    Network Configuration Model   |
                      .-----------+-----------.
                      |                       |
             .--------+------.       .--------+------.
             |    Domain     |       |     Domain    |
             | Orchestration |       | Orchestration |
             '---+-----------'       '--------+------'
  Device         |        |                   |
  Configuration  |        |                   |
  Model          |        |                   |
            .----+----.   |                   |
            | Config  |   |                   |
            | Manager |   |                   |
            '----+----'   |                   |
                 |        |                   |
                 | NETCONF/CLI..................
                 |        |                   |
               .--------------------------------.
 .----. Bearer |                                | Bearer .----.
 |CE#1+--------+            Network             +--------+CE#2|
 '----'        |                                |        '----'
               '--------------------------------'
  Site A                                                  Site B
]]></artwork>
          </artset>
        </figure>
        <t>In order to ease the mapping between the service model and underlying network models (e.g., the L3VPN Network Model (L3NM), SAP), the name conventions used in existing network data models are reused as much as possible. For example, "local-address" is used rather than "provider-address" (or similar) to refer to an IP address used in the provider network. This approach is consistent with the automation framework defined in <xref target="RFC8969"/>.</t>
      </section>
    </section>
    <section anchor="description-of-the-data-models">
      <name>Description of the Data Models</name>
      <section anchor="sec-bearer">
        <name>The Bearer Service ("ietf-bearer-svc") YANG Module</name>
        <t><xref target="bearer-st"/> shows the tree for managing the bearers (that is, the properties of an attachment that are below Layer 3). A bearer can be a physical or logical link (e.g., Link Aggregation Group (LAG) <xref target="IEEE802.1AX"/>). Also, a bearer can be a wireless or wired link. A reference to a bearer is generated by the operator.
Such a reference can be used, e.g., in a subsequent service request to create an AC. The anchoring of the AC can also be achieved by indicating (with or without a bearer reference), a peer SAP identifier (e.g., an identifier of an SF).</t>
        <figure anchor="bearer-st">
          <name>Bearer Service Tree Structure</name>
          <artwork align="center"><![CDATA[
module: ietf-bearer-svc

  +--rw locations
  |  +--rw customer-name?   string
  |  +--rw role?            identityref
  |  +--rw local-as?        inet:as-number
  |  +--rw peer-as?         inet:as-number
  |  +--ro location* [location-name]
  |     +--ro location-name    string
  |     +--ro address?         string
  |     +--ro postal-code?     string
  |     +--ro state?           string
  |     +--ro city?            string
  |     +--ro country-code?    string
  +--rw bearers
     +--rw customer-name?           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 placement-constraints
     |  +--rw constraint* [constraint-type]
     |          {vpn-common:placement-diversity}?
     |     +--rw constraint-type    identityref
     |     +--rw target
     |        +--rw (target-flavor)?
     |           +--:(id)
     |           |  +--rw group* [group-id]
     |           |     +--rw group-id    string
     |           +--:(all-bearers)
     |           |  +--rw all-other-bearers?   empty
     |           +--:(all-groups)
     |              +--rw all-other-groups?    empty
     +--rw bearer* [name]
        +--rw name                           string
        +--rw description?                   string
        +--rw customer-name?                 string
        +--rw groups
        |  +--rw group* [group-id]
        |     +--rw group-id    string
        +--rw op-comment?                    string
        +--rw bearer-parent-ref?             bearer-svc:bearer-ref
        +--ro bearer-lag-member*             bearer-svc:bearer-ref
        +--ro sync-phy-capable?              boolean
        +--rw sync-phy-enabled?              boolean
        +--rw sync-phy-type?                 identityref
        +--rw provider-location-reference?   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 type?                          identityref
        +--rw test-only?                     empty
        +--ro bearer-reference?              string
        |       {ac-common:server-assigned-reference}?
        +--ro ac-svc-ref*
        |       ac-svc:attachment-circuit-reference
        +--rw requested-start?               yang:date-and-time
        +--rw requested-stop?                yang:date-and-time
        +--ro actual-start?                  yang:date-and-time
        +--ro actual-stop?                   yang:date-and-time
        +--rw status
           +--rw admin-status
           |  +--rw status?        identityref
           |  +--ro last-change?   yang:date-and-time
           +--ro oper-status
              +--ro status?        identityref
              +--ro last-change?   yang:date-and-time
]]></artwork>
        </figure>
        <t>In some deployments, a customer may first retrieve a list of available presence locations before actually placing an order for a bearer creation. The request may be filtered based upon a customer name, role of the bearer, etc. The retrieved location name may be then referenced in the bearer creation request ("provider-location-reference").</t>
        <t>The same customer site (CE, SF, etc.) can terminate one or multiple bearers; each of them uniquely identified by a reference that is assigned by the network provider. These bearers can terminate on the same or distinct network nodes. CEs that terminate multiple bearers are called multi-homed CEs.</t>
        <t>A bearer can be created, modified, or discovered from the network. For example, the following deployment options can be considered:</t>
        <dl>
          <dt>Greenfield creation:</dt>
          <dd>
            <t>In this scenario, bearers are created from scratch using specific requests made to a network controller. This method  allows providers to tailor bearer creation to meet customer-specific needs. For example, a bearer request may indicate some hints about the placement constraints ('placement-constraints'). These constraints are used by a provider to determine how/where to terminate a bearer in the network side (e.g., Point of Presence (PoP) or PE selection).</t>
          </dd>
          <dt>Auto-discovery using network protocols:</dt>
          <dd>
            <t>Devices can use specific protocols (e.g., Link Layer Discovery Protocol (LLDP) <xref target="IEEE802.1AB"/>) to automatically discover and connect to available network resources. A network controller can use such reported information to expose discovered bearers from the network using the same bearer data model structure.</t>
          </dd>
        </dl>
        <t>A request to create a bearer may include a set of constraints ("placement-constraints") that are used by a controller to decide the network terminating side of a bearer (e.g., PE selection, PE redundancy, or PoP selection). Future placement criteria ("constraint-type") may be defined in the future to accommodate specific deployment contexts.</t>
        <t>The descriptions of the bearer data nodes are as follows:</t>
        <dl>
          <dt>'name':</dt>
          <dd>
            <t>Used to uniquely identify a bearer. This name is typically selected by the client when requesting a bearer.</t>
          </dd>
          <dt>'customer-name':</dt>
          <dd>
            <t>Indicates the name of the customer who ordered the bearer.</t>
          </dd>
          <dt>'description':</dt>
          <dd>
            <t>Includes a textual description of the bearer.</t>
          </dd>
          <dt>'group':</dt>
          <dd>
            <t>Tags a bearer with one ore more identifiers that are used to group a set of bearers.</t>
          </dd>
          <dt>'op-comment':</dt>
          <dd>
            <t>Includes operational comments that may be useful for managing the bearer (building, level, etc.). No structure is associated with this data node to accommodate all deployments.</t>
          </dd>
          <dt>'bearer-parent-ref':</dt>
          <dd>
            <t>Specifies the parent bearer. This data node can be used, e.g., if a bearer is a member of a LAG.</t>
          </dd>
          <dt>'bearer-lag-member':</dt>
          <dd>
            <t>Lists the bearers that are members of a LAG. Members can be declared as part of a LAG using 'bearer-parent-ref'.</t>
          </dd>
          <dt>'sync-phy-capable':</dt>
          <dd>
            <t>Reports whether a synchronization physical (Sync PHY) mechanism is supported for this bearer.</t>
          </dd>
          <dt>'sync-phy-enabled':</dt>
          <dd>
            <t>Indicates whether a Sync PHY mechanism is enabled for a bearer. Only applies when 'sync-phy-capable' is set to 'true'.</t>
          </dd>
          <dt>'sync-phy-type':</dt>
          <dd>
            <t>Specifies the Sync PHY mechanism (e.g., SynchE <xref target="ITU-T-G.781"/>) enabled for the bearer.</t>
          </dd>
          <dt>'provider-location-reference':</dt>
          <dd>
            <t>Indicates a location identified by a provider-assigned reference.</t>
          </dd>
          <dt>'customer-point':</dt>
          <dd>
            <t>Specifies the customer terminating point for the bearer. A bearer request can indicate a device, a site, a combination thereof, or a custom information when requesting a bearer. All these schemes are supported in the model.</t>
          </dd>
          <dt>'type':</dt>
          <dd>
            <t>Specifies the bearer type (Ethernet, wireless, LAG, etc.).</t>
          </dd>
          <dt>'test-only':</dt>
          <dd>
            <t>Indicates that a request is only for test and not for setting, even if there are no errors. This is used for feasibility checks. This data node is applicable only when the data model is used with protocols which do not natively support such option. For example, this data node is redundant with the "test-only" value of the <tt>&lt;test-option&gt;</tt> parameter in the NETCONF <tt>&lt;edit-config&gt;</tt> operation (<xref section="7.2" sectionFormat="of" target="RFC6241"/>).</t>
          </dd>
          <dt>'bearer-reference':</dt>
          <dd>
            <t>Returns an internal reference for the service provider to uniquely identify the bearer. This reference can be used when requesting services. <xref target="ex-create-bearer"/> provides an example about how this reference can be retrieved by a customer.</t>
          </dd>
          <dt/>
          <dd>
            <t>Whether the 'bearer-reference' mirrors the content of the 'name' is deployment-specific. The module does not assume nor preclude such schemes.</t>
          </dd>
          <dt>'ac-svc-ref':</dt>
          <dd>
            <t>Specifies the set of attachment circuits that are bound to the bearer.</t>
          </dd>
          <dt>'requested-start':</dt>
          <dd>
            <t>Specifies the requested date and time when the bearer is expected to be active.</t>
          </dd>
          <dt>'requested-stop':</dt>
          <dd>
            <t>Specifies the requested date and time when the bearer is expected to be disabled.</t>
          </dd>
          <dt>'actual-start':</dt>
          <dd>
            <t>Reports the actual date and time when the bearer actually was enabled.</t>
          </dd>
          <dt>'actual-stop':</dt>
          <dd>
            <t>Reports the actual date and time when the bearer actually was disabled.</t>
          </dd>
          <dt>'status':</dt>
          <dd>
            <t>Used to track the overall status of a given bearer. Both operational and administrative status are maintained together with a timestamp.</t>
          </dd>
          <dt/>
          <dd>
            <t>The "admin-status" attribute is typically configured by a network operator to indicate whether the service is enabled, disabled, or subjected to additional testing or pre-deployment checks. These additional options, such as 'admin-testing' and 'admin-pre-deployment', provide the operators the flexibility to conduct additional validations on the bearer before deploying services over that connection.</t>
          </dd>
          <dt>'oper-status':</dt>
          <dd>
            <t>The "oper-status" of a bearer reflects its operational state as observed. As a bearer can contain multiple services, the operational status should only reflect the status of the bearer connection. To obtain network-level service status, specific network models such as those in <xref section="7.3" sectionFormat="of" target="RFC9182"/>  or <xref section="7.3" sectionFormat="of" target="RFC9291"/> should be consulted.</t>
          </dd>
          <dt/>
          <dd>
            <t>It is important to note that the "admin-status" attribute should remain independent of the "oper-status". In other words, the setting of the intended administrative state (e.g., whether "admin-up" or "admin-testing") <bcp14>MUST NOT</bcp14> be influenced by the current operational state. If the bearer is administratively set to 'admin-down', it is expected that the bearer will also be operationally 'op-down' as a result of this administrative decision.</t>
          </dd>
          <dt/>
          <dd>
            <t>To assess the service delivery status for a given bearer comprehensively, it is recommended to consider both administrative and operational service status values in conjunction. This holistic approach  allows a network controller or operator to identify anomalies effectively.</t>
          </dd>
          <dt/>
          <dd>
            <t>For instance, when a bearer is administratively enabled but the "operational-status" of that bearer is reported as "op-down", it should be expected that the "oper-status" of services transported over that bearer is also down. These status values differing should trigger the detection of an anomaly condition.</t>
          </dd>
          <dt/>
          <dd>
            <t>See <xref target="RFC9181"/> for more details.</t>
          </dd>
        </dl>
      </section>
      <section anchor="the-attachment-circuit-service-ietf-ac-svc-yang-module">
        <name>The Attachment Circuit Service ("ietf-ac-svc") YANG Module</name>
        <t>The full tree diagram of the module can be generated using, e.g., the
"pyang" tool <xref target="PYANG"/>.  That tree is not included here because it is
too long (<xref section="3.4" sectionFormat="of" target="I-D.ietf-netmod-rfc8407bis"/>).  Instead, subtrees are provided
for the reader's convenience. The full tree of the 'ac-svc' is provided in <xref target="AC-svc-Tree"/>.</t>
        <section anchor="overall-structure">
          <name>Overall Structure</name>
          <t>The overall tree structure of the AC service module is shown in <xref target="o-svc-tree"/>.</t>
          <figure anchor="o-svc-tree">
            <name>Overall AC Service Tree Structure</name>
            <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        ...
        +--rw l2-connection  {ac-common:layer2-ac}?
        |  ...
        +--rw ip-connection  {ac-common:layer3-ac}?
        |  ...
        +--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>
          <t>Features are used to tag conditional protions of the model in order to accomodate various deployments (support of layer 2 ACs, Layer 3 ACs, IPv4, IPv6, routing protocols,  Bidirectional Forwarding Detection (BFD), etc.).</t>
        </section>
        <section anchor="sec-profiles">
          <name>Service Profiles</name>
          <section anchor="description">
            <name>Description</name>
            <t>The 'specific-provisioning-profiles' container (<xref target="gp-svc-tree"/>) can be used by a service provider to maintain a set of reusable profiles. The profiles definitions are similar to those defined in <xref target="RFC9181"/>, including: Quality of Service (QoS), 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 failure-detection-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  {ac-common:layer2-ac}? 
        |  ...
        +--rw ip-connection  {ac-common:layer3-ac}?
        |  ...
        +--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>'failure-detection-profile-identifier':</dt>
              <dd>
                <t>Refers to a set of failure detection policies (e.g., Bidirectional Forwarding Detection (BFD) policies <xref target="RFC5880"/>) that can be invoked when building an AC.</t>
              </dd>
              <dt>'forwarding-profile-identifier':</dt>
              <dd>
                <t>Refers to the policies that apply to the forwarding of packets conveyed within an AC. Such policies may consist, for example, of applying Access Control Lists (ACLs).</t>
              </dd>
              <dt>'routing-profile-identifier':</dt>
              <dd>
                <t>Refers to a set of routing policies that will be invoked (e.g., BGP policies) when building an AC.</t>
              </dd>
            </dl>
          </section>
          <section anchor="referencing-servicespecific-profiles">
            <name>Referencing Service/Specific Profiles</name>
            <t>All the abovementioned profiles are uniquely identified by the NETCONF/RESTCONF server by an identifier. To ease referencing these profiles by other data models, specific typedefs are defined for each of these profiles. Likewise, an attachment circuit reference typedef is defined when referencing a (global) attachment circuit by its name is required. These typedefs <bcp14>SHOULD</bcp14> be used when other modules need a reference to one of these profiles or attachment circuits.</t>
          </section>
        </section>
        <section anchor="sec-acp">
          <name>Attachment Circuits Profiles</name>
          <t>The 'ac-group-profile' defines reusable parameters for a set of ACs. Each profile is identified by 'name'. Some of the data nodes can be adjusted at the 'ac'.
These adjusted values take precedence over the global values.  The structure of 'ac-group-profile' is similar to the one used to model each 'ac' (<xref target="ac-svc-tree"/>).</t>
        </section>
        <section anchor="sec-pc">
          <name>AC Placement Contraints</name>
          <t>The 'placement-constraints' specifies the placement constraints of an AC. For example, this container can be used to request avoidance of connecting two ACs to the same PE. The full set of supported constraints is defined in <xref target="RFC9181"/> (see 'placement-diversity', in particular).</t>
          <t>The structure of 'placement-constraints' is shown in <xref target="precedence-tree"/>.</t>
          <figure anchor="precedence-tree">
            <name>Placement Constraints Subtree Structure</name>
            <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name] 
     |  ...                                
     +--rw placement-constraints
     |  +--rw constraint* [constraint-type]
     |     +--rw constraint-type    identityref
     |     +--rw target
     |        +--rw (target-flavor)?
     |           +--:(id)
     |           |  +--rw group* [group-id]
     |           |     +--rw group-id    string
     |           +--:(all-accesses)
     |           |  +--rw all-other-accesses?   empty
     |           +--:(all-groups)
     |              +--rw all-other-groups?     empty
     +--rw ac* [name]
        ...
]]></artwork>
          </figure>
        </section>
        <section anchor="attachment-circuits">
          <name>Attachment Circuits</name>
          <t>The structure of 'attachment-circuits' is shown in <xref target="ac-svc-tree"/>.</t>
          <figure anchor="ac-svc-tree">
            <name>Attachment Circuits Tree Structure</name>
            <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw customer-name?           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 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 role?                identityref
        +--rw peer-sap-id*         string
        +--rw ac-group-profile*    ac-group-reference
        +--rw ac-parent-ref?       ac-svc:attachment-circuit-reference
        +--ro child-ac-ref*        ac-svc:attachment-circuit-reference
        +--rw group* [group-id]
        |  +--rw group-id      string
        |  +--rw precedence?   identityref
        +--ro service-ref* [service-type service-id]
        |  +--ro service-type    identityref
        |  +--ro service-id      string
        +--ro server-reference?    string
        |       {ac-common:server-assigned-reference}?
        +--rw name                 string
        +--rw service-profile*     service-profile-reference     
        +--rw l2-connection  {ac-common:layer2-ac}?
        |  ...
        +--rw ip-connection  {ac-common:layer3-ac}?
        |  ...
        +--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 or a set of ACs.</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>'role':</dt>
            <dd>
              <t>Specifies whether an AC is used, e.g., as User-to-Network Interface (UNI) or Network-to-Network Interface (NNI).</t>
            </dd>
            <dt>'peer-sap-id':</dt>
            <dd>
              <t>Includes references to the remote endpoints of an attachment circuit <xref target="RFC9408"/>.</t>
            </dd>
            <dt>'ac-group-profile':</dt>
            <dd>
              <t>Indicates references to one or more profiles that are defined in <xref target="sec-acp"/>.</t>
            </dd>
            <dt>'ac-parent-ref':</dt>
            <dd>
              <t>Specifies an AC that is inherited by an attachment circuit.</t>
            </dd>
            <dt/>
            <dd>
              <t>In contexts where dynamic terminating points are managed for a given AC,
a parent AC can be defined with a set of stable and common information, while
"child" ACs are defined to track dynamic information. These "child" ACs are bound to the parent AC, which is exposed to services (as a stable reference).</t>
            </dd>
            <dt/>
            <dd>
              <t>Whenever a parent AC is deleted, all its "child" ACs <bcp14>MUST</bcp14> be deleted.</t>
            </dd>
            <dt>'child-ac-ref':</dt>
            <dd>
              <t>Lists one or more references of child ACs that rely upon this attachment circuit as a parent AC.</t>
            </dd>
            <dt>'group':</dt>
            <dd>
              <t>Lists the groups to which an AC belongs <xref target="RFC9181"/>. For example, the 'group-id' is used to associate redundancy or protection constraints of ACs. An example is provided in <xref target="sec-ex-prec"/>.</t>
            </dd>
            <dt>'service-ref':</dt>
            <dd>
              <t>Reports the set of services that are bound to the attachment circuit. The services are indexed by their type.</t>
            </dd>
            <dt>'server-reference':</dt>
            <dd>
              <t>Reports the internal reference that is assigned by the provider for this AC. This reference is used to accomodate deployment contexts (e.g., <xref section="9.1.2" sectionFormat="of" target="RFC8921"/>) where an identifier is generated by the provider to identify a service order locally.</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  {ac-common:layer2-ac}?
        |  +--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  {ac-common:layer3-ac}?
        |  ...
        +--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  {ac-common:layer3-ac}?
        |  +--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 failure-detection-profile? 
        |  |                             failure-detection-profile-reference
        |  |                             {vpn-common:bfd}?
        |  +--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  {ac-common:layer3-ac}?
        |  +--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
        |              +--rw failure-detection-profile? 
        |                                failure-detection-profile-reference
        |                                {vpn-common:bfd}?
        | ...
]]></artwork>
            </figure>
          </section>
          <section anchor="sec-rtg">
            <name>Routing</name>
            <t>As shown in the tree depicted in <xref target="rtg-svc-tree"/>, the 'routing-protocols' container defines the required parameters to enable the desired routing features for an AC. One or more routing protocols can be associated with an AC.  Such routing protocols will be then enabled between a PE and the customer terminating points. Each routing instance is uniquely identified by the combination of the 'id' and 'type' to accommodate scenarios where multiple instances of the same routing protocol have to be configured on the same link.</t>
            <t>In addition to static routing (<xref target="sec-static-rtg"/>), the module supports BGP (<xref target="sec-bgp-rtg"/>), OSPF (<xref target="sec-ospf-rtg"/>), IS-IS (<xref target="sec-isis-rtg"/>), and RIP (<xref target="sec-rip-rtg"/>). It also includes a reference to the 'routing-profile-identifier' defined in <xref target="sec-profiles"/>, so that additional constraints can be applied to a specific instance of each routing protocol. Moreover, the module supports VRRP (<xref target="sec-vrrp-rtg"/>).</t>
            <figure anchor="rtg-svc-tree">
              <name>Routing Tree Structure</name>
              <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        ...
        +--rw l2-connection  {ac-common:layer2-ac}?
        | ...
        +--rw ip-connection  {ac-common:layer3-ac}?
        |  ...
        +--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 {vpn-common:rtg-bgp}?
        |     |  ...
        |     +--rw ospf {vpn-common:rtg-ospf}?
        |     |  ...
        |     +--rw isis {vpn-common:rtg-isis}?
        |     |  ...
        |     +--rw rip {vpn-common:rtg-rip}?
        |     |  ...
        |     +--rw vrrp {vpn-common:rtg-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 failure-detection-profile?
        |     |     |  |       failure-detection-profile-reference
        |     |     |  |       {vpn-common:bfd}?
        |     |     |  +--rw status
        |     |     |     +--rw admin-status
        |     |     |     |  +--rw status?        identityref
        |     |     |     |  +--ro last-change?   yang:date-and-time
        |     |     |     +--ro oper-status
        |     |     |        +--ro status?        identityref
        |     |     |        +--ro last-change?   yang:date-and-time
        |     |     +--rw ipv6-lan-prefixes* [lan next-hop]
        |     |             {vpn-common:ipv6}?
        |     |        +--rw lan
        |     |        |       inet:ipv6-prefix
        |     |        +--rw lan-tag?                     string
        |     |        +--rw next-hop                     union
        |     |        +--rw metric?                      uint32
        |     |        +--rw failure-detection-profile?
        |     |        |       failure-detection-profile-reference
        |     |        |       {vpn-common:bfd}?
        |     |        +--rw status
        |     |           +--rw admin-status
        |     |           |  +--rw status?        identityref
        |     |           |  +--ro last-change?   yang:date-and-time
        |     |           +--ro oper-status
        |     |              +--ro status?        identityref
        |     |              +--ro last-change?   yang:date-and-time
        |     +--rw bgp {vpn-common:rtg-bgp}?
        |     |  ...
        |     +--rw ospf {vpn-common:rtg-ospf}?
        |     |  ...
        |     +--rw isis {vpn-common:rtg-isis}?
        |     |  ...
        |     +--rw rip {vpn-common:rtg-rip}?
        |     |  ...
        |     +--rw vrrp {vpn-common:rtg-vrrp}?
        |        ...
]]></artwork>
              </figure>
              <t>As depicted in <xref target="static-rtg-svc-tree"/>, the following data nodes can be defined for a given IP prefix:</t>
              <dl>
                <dt>'lan-tag':</dt>
                <dd>
                  <t>Indicates a local tag (e.g., "myfavorite-lan") that is used to enforce local policies.</t>
                </dd>
                <dt>'next-hop':</dt>
                <dd>
                  <t>Indicates the next hop to be used for the static route.</t>
                </dd>
                <dt/>
                <dd>
                  <t>It can be identified by an IP address, a predefined next-hop type (e.g., 'discard' or 'local-link'), etc.</t>
                </dd>
                <dt>'metric':</dt>
                <dd>
                  <t>Indicates the metric associated with the static route entry. This metric is used when the route is exported into an IGP.</t>
                </dd>
                <dt>'failure-detection-profile':</dt>
                <dd>
                  <t>Indicates a failure detection profile (e.g., BFD) that applies for this entry.</t>
                </dd>
                <dt>'status':</dt>
                <dd>
                  <t>Used to convey the status of a static route entry. This data node can also be used to control the (de)activation of individual static route entries.</t>
                </dd>
              </dl>
            </section>
            <section anchor="sec-bgp-rtg">
              <name>BGP</name>
              <t>The BGP tree structure is shown in <xref target="bgp-rtg-svc-tree"/>.</t>
              <figure anchor="bgp-rtg-svc-tree">
                <name>BGP Tree Structure</name>
                <artwork align="center"><![CDATA[
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  ...
        |     +--rw bgp {vpn-common:rtg-bgp}?
        |     |  +--rw peer-groups
        |     |  |  +--rw peer-group* [name]
        |     |  |     +--rw name              string
        |     |  |     +--rw local-as?         inet:as-number
        |     |  |     +--rw peer-as?          inet:as-number
        |     |  |     +--rw address-family?   identityref
        |     |  |     +--rw local-address?    inet:ip-address
        |     |  |     +--rw bgp-max-prefix
        |     |  |     |  +--rw max-prefix?   uint32
        |     |  |     +--rw authentication
        |     |  |        +--rw enabled?           boolean
        |     |  |        +--rw keying-material
        |     |  |           +--rw (option)?
        |     |  |              +--:(ao)
        |     |  |              |  +--rw enable-ao?          boolean
        |     |  |              |  +--rw ao-keychain?
        |     |  |              |          key-chain:key-chain-ref
        |     |  |              +--:(md5)
        |     |  |              |  +--rw md5-keychain?
        |     |  |              |          key-chain:key-chain-ref
        |     |  |              +--:(explicit)
        |     |  |                 +--rw key-id?             uint32
        |     |  |                 +--rw key?                string
        |     |  |                 +--rw crypto-algorithm?
        |     |  |                         identityref
        |     |  +--rw neighbor* [id]
        |     |     +--rw id                  string
        |     |     +--ro server-reference?   string
        |     |     |       {ac-common:server-assigned-reference}?
        |     |     +--rw remote-address?     inet:ip-address
        |     |     +--rw local-address?      inet:ip-address
        |     |     +--rw local-as?           inet:as-number
        |     |     +--rw peer-as?            inet:as-number
        |     |     +--rw address-family?     identityref
        |     |     +--rw bgp-max-prefix
        |     |     |  +--rw max-prefix?   uint32
        |     |     +--rw authentication
        |     |     |  +--rw enabled?           boolean
        |     |     |  +--rw keying-material
        |     |     |     +--rw (option)?
        |     |     |        +--:(ao)
        |     |     |        |  +--rw enable-ao?          boolean
        |     |     |        |  +--rw ao-keychain?
        |     |     |        |          key-chain:key-chain-ref
        |     |     |        +--:(md5)
        |     |     |        |  +--rw md5-keychain?
        |     |     |        |          key-chain:key-chain-ref
        |     |     |        +--:(explicit)
        |     |     |           +--rw key-id?             uint32
        |     |     |           +--rw key?                string
        |     |     |           +--rw crypto-algorithm?   identityref
        |     |     +--rw requested-start?    yang:date-and-time
        |     |     +--rw requested-stop?     yang:date-and-time
        |     |     +--ro actual-start?       yang:date-and-time
        |     |     +--ro actual-stop?        yang:date-and-time
        |     |     +--rw status
        |     |     |  +--rw admin-status
        |     |     |  |  +--rw status?        identityref
        |     |     |  |  +--ro last-change?   yang:date-and-time
        |     |     |  +--ro oper-status
        |     |     |     +--ro status?        identityref
        |     |     |     +--ro last-change?   yang:date-and-time
        |     |     +--rw peer-group?
        |     |     |       -> ../../peer-groups/peer-group/name
        |     |     +--rw failure-detection-profile? 
        |     |                   failure-detection-profile-reference
        |     |                   {vpn-common:bfd}?
        |     +--rw ospf {vpn-common:rtg-ospf}?
        |     |  ...
        |     +--rw isis {vpn-common:rtg-isis}?
        |     |  ...
        |     +--rw rip {vpn-common:rtg-rip}?
        |     |  ...
        |     +--rw vrrp {vpn-common:rtg-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 the provider's AS Number (ASN).</t>
                </dd>
                <dt>'peer-as':</dt>
                <dd>
                  <t>Indicates the customer's ASN.</t>
                </dd>
                <dt>'address-family':</dt>
                <dd>
                  <t>Indicates the address family of the peer. It can be set to 'ipv4', 'ipv6', or 'dual-stack'.</t>
                </dd>
                <dt/>
                <dd>
                  <t>This address family might be used together with the service type that uses an AC (e.g., 'vpn-type' <xref target="RFC9182"/>) to derive the appropriate Address Family Identifiers (AFIs) / Subsequent Address Family Identifiers (SAFIs) that will be part of the derived device configurations (e.g., unicast IPv4 MPLS L3VPN (AFI,SAFI = 1,128) as defined in <xref section="4.3.4" sectionFormat="of" target="RFC4364"/>).</t>
                </dd>
                <dt>'local-address':</dt>
                <dd>
                  <t>Specifies a provider's IP address to use when establishing the BGP transport session.</t>
                </dd>
                <dt>'bgp-max-prefix':</dt>
                <dd>
                  <t>Indicates the maximum number of BGP prefixes allowed in a session for this group.</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>'server-reference':</dt>
                <dd>
                  <t>Reports the internal reference that is assigned by the provider for this BGP session.</t>
                </dd>
                <dt>'remote-address':</dt>
                <dd>
                  <t>Specifies the customer's IP address used to establishing this BGP session.</t>
                </dd>
                <dt>'requested-start':</dt>
                <dd>
                  <t>Specifies the requested date and time when the BGP session is expected to be active.</t>
                </dd>
                <dt>'requested-stop':</dt>
                <dd>
                  <t>Specifies the requested date and time when the BGP session is expected to be disabled.</t>
                </dd>
                <dt>'actual-start':</dt>
                <dd>
                  <t>Reports the actual date and time when the BGP session actually was enabled.</t>
                </dd>
                <dt>'actual-stop':</dt>
                <dd>
                  <t>Reports the actual date and time when the BGP session actually was disabled.</t>
                </dd>
                <dt>'status':</dt>
                <dd>
                  <t>Indicates the status of the BGP routing instance.</t>
                </dd>
                <dt>'peer-group':</dt>
                <dd>
                  <t>Specifies 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>'failure-detection-profile':</dt>
                <dd>
                  <t>Indicates a failure detection profile (BFD) that applies for a BGP neighbor.</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 {vpn-common:rtg-bgp}?
        |     |  ...
        |     +--rw ospf {vpn-common:rtg-ospf}?
        |     |  +--rw address-family?   identityref
        |     |  +--rw area-id           yang:dotted-quad
        |     |  +--rw metric?           uint16
        |     |  +--rw authentication
        |     |  |  +--rw enabled?            boolean
        |     |  |  +--rw keying-material
        |     |  |     +--rw (option)?
        |     |  |        +--:(auth-key-chain)
        |     |  |        |  +--rw key-chain?
        |     |  |        |          key-chain:key-chain-ref
        |     |  |        +--:(auth-key-explicit)
        |     |  |           +--rw key-id?             uint32
        |     |  |           +--rw key?                string
        |     |  |           +--rw crypto-algorithm?   identityref
        |     |  +--rw status
        |     |     +--rw admin-status
        |     |     |  +--rw status?        identityref
        |     |     |  +--ro last-change?   yang:date-and-time
        |     |     +--ro oper-status
        |     |        +--ro status?        identityref
        |     |        +--ro last-change?   yang:date-and-time
        |     +--rw isis {vpn-common:rtg-isis}?
        |     |  ...
        |     +--rw rip {vpn-common:rtg-rip}?
        |     |  ...
        |     +--rw vrrp {vpn-common:rtg-vrrp}?
        |        ...
]]></artwork>
              </figure>
              <t>The following OSPF data nodes are supported:</t>
              <dl>
                <dt>'address-family':</dt>
                <dd>
                  <t>Indicates whether IPv4, IPv6, or both address families are to be activated.</t>
                </dd>
                <dt>'area-id':</dt>
                <dd>
                  <t>Indicates the OSPF Area ID.</t>
                </dd>
                <dt>'metric':</dt>
                <dd>
                  <t>Associates a metric with OSPF routes.</t>
                </dd>
                <dt>'sham-links':</dt>
                <dd>
                  <t>Used to create OSPF sham links between two ACs sharing the same area and having a backdoor link (<xref section="4.2.7" sectionFormat="of" target="RFC4577"/> and <xref section="5" sectionFormat="of" target="RFC6565"/>).</t>
                </dd>
                <dt>'authentication':</dt>
                <dd>
                  <t>Controls the authentication schemes to be enabled for the OSPF instance. The following options are supported: IPsec for OSPFv3 authentication <xref target="RFC4552"/>, and the Authentication Trailer for OSPFv2 <xref target="RFC5709"/><xref target="RFC7474"/> and OSPFv3 <xref target="RFC7166"/>.</t>
                </dd>
                <dt>'status':</dt>
                <dd>
                  <t>Indicates the status of the OSPF routing instance.</t>
                </dd>
              </dl>
            </section>
            <section anchor="sec-isis-rtg">
              <name>IS-IS</name>
              <t>The IS-IS tree structure is shown in <xref target="isis-rtg-svc-tree"/>.</t>
              <figure anchor="isis-rtg-svc-tree">
                <name>IS-IS Tree Structure</name>
                <artwork align="center"><![CDATA[
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  ...
        |     +--rw bgp {vpn-common:rtg-bgp}?
        |     |  ...
        |     +--rw ospf {vpn-common:rtg-ospf}?
        |     |  ...
        |     +--rw isis {vpn-common:rtg-isis}?
        |     |  +--rw address-family?   identityref
        |     |  +--rw area-address      area-address
        |     |  +--rw authentication
        |     |  |  +--rw enabled?            boolean
        |     |  |  +--rw keying-material
        |     |  |     +--rw (option)?
        |     |  |        +--:(auth-key-chain)
        |     |  |        |  +--rw key-chain?
        |     |  |        |          key-chain:key-chain-ref
        |     |  |        +--:(auth-key-explicit)
        |     |  |           +--rw key-id?             uint32
        |     |  |           +--rw key?                string
        |     |  |           +--rw crypto-algorithm?   identityref
        |     |  +--rw status
        |     |     +--rw admin-status
        |     |     |  +--rw status?        identityref
        |     |     |  +--ro last-change?   yang:date-and-time
        |     |     +--ro oper-status
        |     |        +--ro status?        identityref
        |     |        +--ro last-change?   yang:date-and-time
        |     +--rw rip {vpn-common:rtg-rip}?
        |     |  ...
        |     +--rw vrrp {vpn-common:rtg-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 {vpn-common:rtg-bgp}?
        |     |  ...
        |     +--rw ospf {vpn-common:rtg-ospf}?
        |     |  ...
        |     +--rw isis {vpn-common:rtg-isis}?
        |     |  ...
        |     +--rw rip {vpn-common:rtg-rip}?
        |     |  +--rw address-family?   identityref
        |     |  +--rw authentication
        |     |  |  +--rw enabled?            boolean
        |     |  |  +--rw keying-material
        |     |  |     +--rw (option)?
        |     |  |        +--:(auth-key-chain)
        |     |  |        |  +--rw key-chain?
        |     |  |        |          key-chain:key-chain-ref
        |     |  |        +--:(auth-key-explicit)
        |     |  |           +--rw key?                string
        |     |  |           +--rw crypto-algorithm?   identityref
        |     |  +--rw status
        |     |     +--rw admin-status
        |     |     |  +--rw status?        identityref
        |     |     |  +--ro last-change?   yang:date-and-time
        |     |     +--ro oper-status
        |     |        +--ro status?        identityref
        |     |        +--ro last-change?   yang:date-and-time
        |     +--rw vrrp {vpn-common:rtg-vrrp}?
        |      ...
]]></artwork>
              </figure>
              <t>'address-family' indicates whether IPv4, IPv6, or both address families are to be activated. For example, this parameter is used to determine whether RIPv2 <xref target="RFC2453"/>, RIP Next Generation (RIPng), or both are to be enabled <xref target="RFC2080"/>.</t>
            </section>
            <section anchor="sec-vrrp-rtg">
              <name>VRRP</name>
              <t>The model supports the Virtual Router Redundancy Protocol (VRRP) <xref target="RFC5798"/> on an AC (<xref target="vrrp-rtg-svc-tree"/>).</t>
              <figure anchor="vrrp-rtg-svc-tree">
                <name>VRRP Tree Structure</name>
                <artwork align="center"><![CDATA[
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  ...
        |     +--rw bgp {vpn-common:rtg-bgp}?
        |     |  ...
        |     +--rw ospf {vpn-common:rtg-ospf}?
        |     |  ...
        |     +--rw isis {vpn-common:rtg-isis}?
        |     |  ...
        |     +--rw rip {vpn-common:rtg-rip}?
        |     |  ...
        |     +--rw vrrp {vpn-common:rtg-vrrp}?
        |        +--rw address-family?   identityref
        |        +--rw status
        |           +--rw admin-status
        |           |  +--rw status?        identityref
        |           |  +--ro last-change?   yang:date-and-time
        |           +--ro oper-status
        |              +--ro status?        identityref
        |              +--ro last-change?   yang:date-and-time
]]></artwork>
              </figure>
              <t>The following data nodes are supported:</t>
              <dl>
                <dt>'address-family':</dt>
                <dd>
                  <t>Indicates whether IPv4, IPv6, or both address
    families are to be activated.  Note that VRRP version 3 <xref target="RFC5798"/>
    supports both IPv4 and IPv6.</t>
                </dd>
                <dt>'status':</dt>
                <dd>
                  <t>Indicates the status of the VRRP instance.</t>
                </dd>
              </dl>
              <t>Note that no authentication data node is included for VRRP, as there
isn't any type of VRRP authentication at this time (see <xref section="9" sectionFormat="of" target="RFC5798"/>).</t>
            </section>
          </section>
          <section anchor="sec-oam">
            <name>Operations, Administration, and Maintenance (OAM)</name>
            <t>As shown in the tree depicted in <xref target="oam-svc-tree"/>, the 'oam' container defines OAM-related parameters of an AC.</t>
            <figure anchor="oam-svc-tree">
              <name>OAM Tree Structure</name>
              <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        ...
        +--rw l2-connection  {ac-common:layer2-ac}?
        |  ...
        +--rw ip-connection  {ac-common:layer3-ac}?
        |  ...
        +--rw routing-protocols
        |  ...
        +--rw oam
        |  +--rw bfd {vpn-common:bfd}?
        |     +--rw session* [remote-address]
        |        +--rw local-address?    inet:ip-address
        |        +--rw remote-address    inet:ip-address
        |        +--rw profile?
        |        |       failure-detection-profile-reference
        |        +--rw holdtime?         uint32
        |        +--rw status
        |           +--rw admin-status
        |           |  +--rw status?        identityref
        |           |  +--ro last-change?   yang:date-and-time
        |           +--ro oper-status
        |              +--ro status?        identityref
        |              +--ro last-change?   yang:date-and-time
        +--rw security
        |  ...
        +--rw service
           ...
]]></artwork>
            </figure>
            <t>This version of the module supports BFD. The following BFD data nodes can be specified:</t>
            <dl>
              <dt>'local-address':</dt>
              <dd>
                <t>Indicates the provider's IP address used for a BFD session.</t>
              </dd>
              <dt>'remote-address':</dt>
              <dd>
                <t>Indicates the customer's IP address used for a BFD session.</t>
              </dd>
              <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 session.</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  {ac-common:layer2-ac}?
        |  ...
        +--rw ip-connection  {ac-common:layer3-ac}?
        |  ...
        +--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  {ac-common:layer2-ac}?
        |  ...
        +--rw ip-connection  {ac-common:layer3-ac}?
        |  ...
        +--rw routing-protocols
        |  ...
        +--rw oam
        |  ...
        +--rw security
        |  ...
        +--rw service
           +--rw mtu?      uint32
           +--rw svc-pe-to-ce-bandwidth {vpn-common:inbound-bw}?
           |  +--rw bandwidth* [bw-type]
           |     +--rw bw-type      identityref
           |     +--rw (type)?
           |        +--:(per-cos)
           |        |  +--rw cos* [cos-id]
           |        |     +--rw cos-id    uint8
           |        |     +--rw cir?      uint64
           |        |     +--rw cbs?      uint64
           |        |     +--rw eir?      uint64
           |        |     +--rw ebs?      uint64
           |        |     +--rw pir?      uint64
           |        |     +--rw pbs?      uint64
           |        +--:(other)
           |           +--rw cir?   uint64
           |           +--rw cbs?   uint64
           |           +--rw eir?   uint64
           |           +--rw ebs?   uint64
           |           +--rw pir?   uint64
           |           +--rw pbs?   uint64
           +--rw svc-ce-to-pe-bandwidth {vpn-common:outbound-bw}?
           |  +--rw bandwidth* [bw-type]
           |     +--rw bw-type      identityref
           |     +--rw (type)?
           |        +--:(per-cos)
           |        |  +--rw cos* [cos-id]
           |        |     +--rw cos-id    uint8
           |        |     +--rw cir?      uint64
           |        |     +--rw cbs?      uint64
           |        |     +--rw eir?      uint64
           |        |     +--rw ebs?      uint64
           |        |     +--rw pir?      uint64
           |        |     +--rw pbs?      uint64
           |        +--:(other)
           |           +--rw cir?   uint64
           |           +--rw cbs?   uint64
           |           +--rw eir?   uint64
           |           +--rw ebs?   uint64
           |           +--rw pir?   uint64
           |           +--rw pbs?   uint64
           +--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"/>, <xref target="RFC9181"/>, and <xref target="I-D.ietf-opsawg-teas-common-ac"/>.</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-inet-types {
    prefix inet;
    reference
      "RFC 6991: Common YANG Data Types, Section 4";
  }
  import ietf-vpn-common {
    prefix vpn-common;
    reference
      "RFC 9181: A Common YANG Data Model for Layer 2 and Layer 3
                 VPNs";
  }
  import ietf-ac-common {
    prefix ac-common;
    reference
      "RFC CCCC: A Common YANG Data Model for Attachment Circuits";
  }
  import ietf-ac-svc {
    prefix ac-svc;
    reference
      "RFC XXXX: YANG Data Models for Bearers and 'Attachment
                 Circuits'-as-a-Service (ACaaS)";
  }

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

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

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

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

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

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

  // Typedef to ease referencing cross-modules

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

  // Identities 

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

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

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

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

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

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

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

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

  identity lag {
    base bearer-type;
    description
      "Link Aggregation Group (LAG).";
  }

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

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

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

  // Reusabel groupings

  grouping location-information {
    description
      "Basic location information";

    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 locations {
    description
      "Retrieves the list of available provider locations for
       terminating bearers.";
    leaf customer-name {
      type string;
      description
        "Indicates the name of the customer that requested these
         bearers.";
    }
    leaf role {
      type identityref {
        base ac-common:role;
      }
      description
        "Indicates whether this bearer is used as UNI, NNI, etc.";
    }
    leaf local-as {
      type inet:as-number;
      description
        "Indicates a provider AS Number (ASN).";
    }
    leaf peer-as {
      type inet:as-number;
      description
        "Indicates the customer's ASN.";
    }
    list location {
      key "location-name";
      config false;
      description
        "Reports the list of available locations.";
      uses location-information;
    }
  }

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

    leaf customer-name {
      type string;
      description
        "Indicates the name of the customer that requested these
         bearers.";
    }
    uses ac-common:op-instructions;
    container placement-constraints {
      description
        "Diversity constraint type.";
      uses placement-constraints;
    }
    list bearer {
      key "name";
      description
        "Maintains a list of bearers.";
      leaf name {
        type string;
        description
          "A name that uniquely identifies a bearer for
           a given customer.";
      }
      leaf description {
        type string;
        description
          "A description of this bearer.";
      }
      leaf customer-name {
        type string;
        description
          "Indicates the name of the customer that requested this
           bearer.";
      }
      uses vpn-common:vpn-components-group;
      leaf op-comment {
        type string;
        description
          "Includes comments that can be shared with operational
           teams and which may be useful for the activation of a
           bearer. This may include, for example, information
           about the building, level, etc.";
      }
      leaf bearer-parent-ref {
        type bearer-svc:bearer-ref;
        description
          "Specifies the parent bearer. This can be used, e.g.,
           for a Link Aggregation Group (LAG).";
      }
      leaf-list bearer-lag-member {
        type bearer-svc:bearer-ref;
        config false;
        description
          "Reports LAG members.";
      }
      leaf sync-phy-capable {
        type boolean;
        config false;
        description
         "Indicates when set to true that a mechanism for physical
          layer synchronization is supported for this bearer. No such
          mechanism is supported if set to false.";
      }
      leaf sync-phy-enabled {
        type boolean;
        description
         "Indicates when set to true that a mechanism for physical
          layer synchronization is enabled for this bearer. No such
          mechanism is enabled if set to false.";
      }
      leaf sync-phy-type {
        when "../sync-phy-enabled='true'";
        type identityref {
          base syncPHY-type;
        }
        description
          "Type of the physical layer synchronization.";
      }
      leaf provider-location-reference {
        type string;
        description
          "Specifies the provider's location reference.";
      } 
      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.";
          }
          container location {
            description
              "Location of the node.";
             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.";
          }
          container location {
            description
              "Location of the node.";
             uses location-information;
          }
        }
        leaf custom-id {
          when "derived-from-or-self(../identified-by, "
             + "'bearer-svc:custom')" {
            description
              "Only enabled id identified-by is custom.";
          }
          type string;
          description
            "The semantic of this identifier is shared between the
              customer/provider using out-of-band means.";
        }
      }
      leaf type {
        type identityref {
          base bearer-type;
        }
        description
          "Type of the bearer (e.g., Ethernet or wireless).";
      }
      leaf test-only {
        type empty;
        description
         "When present, this indicates that this is a feasibility
          check request. No resources are commited for such bearer 
          requests.";
      }
      leaf bearer-reference {
        if-feature "ac-common:server-assigned-reference";
        type string;
        config false;
        description
          "This is an internal reference for the service provider
           to identify the bearers.";
      }
      leaf-list ac-svc-ref {
        type ac-svc:attachment-circuit-reference;
        config false;
        description
          "Specifies the set of ACes that are bound to the bearer.";
      }
      uses ac-common:op-instructions;
      uses ac-common:service-status;
    }
  }
}
<CODE ENDS>
]]></sourcecode>
      </section>
      <section anchor="sec-ac-module">
        <name>The AC Service ("ietf-ac-svc") YANG Module</name>
        <t>This module uses types defined in <xref target="RFC6991"/>, <xref target="RFC9181"/>, <xref target="RFC8177"/>, and <xref target="I-D.ietf-opsawg-teas-common-ac"/>.</t>
        <sourcecode type="yang"><![CDATA[
<CODE BEGINS> file "ietf-ac-svc@2023-11-13.yang"
module ietf-ac-svc {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-ac-svc";
  prefix ac-svc;

  import ietf-ac-common {
    prefix ac-common;
    reference
      "RFC CCCC: A Common YANG Data Model for Attachment Circuits";
  }
  import ietf-vpn-common {
    prefix vpn-common;
    reference
      "RFC 9181: A Common YANG Data Model for Layer 2 and Layer 3
                 VPNs";
  }
  import ietf-netconf-acm {
    prefix nacm;
    reference
      "RFC 8341: Network Configuration Access Control Model";
  }
  import ietf-inet-types {
    prefix inet;
    reference
      "RFC 6991: Common YANG Data Types, Section 4";
  }
  import ietf-key-chain {
    prefix key-chain;
    reference
      "RFC 8177: YANG Data Model for Key Chains";
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  // Full Layer 2 connection

  grouping l2-connection {
    description
      "Defines Layer 2 protocols and parameters that are used to
       enable AC connectivity.";
    container encapsulation {
      description
        "Container for Layer 2 encapsulation.";
      leaf type {
        type identityref {
          base vpn-common:encapsulation-type;
        }
        description
          "Indicates the encapsulation type.";
      }
      container dot1q {
        when "derived-from-or-self(../type, 'vpn-common:dot1q')" {
          description
            "Only applies when the type of the tagged interface
             is 'dot1q'.";
        }
        description
          "Tagged interface.";
        uses ac-common:dot1q;
      }
      container priority-tagged {
        when "derived-from-or-self(../type, "
           + "'vpn-common:priority-tagged')" {
          description
            "Only applies when the type of the tagged interface is
             'priority-tagged'.";
        }
        description
          "Priority-tagged interface.";
        uses ac-common:priority-tagged;
      }
      container qinq {
        when "derived-from-or-self(../type, 'vpn-common:qinq')" {
          description
            "Only applies when the type of the tagged interface
             is 'qinq'.";
        }
        description
          "Includes QinQ parameters.";
        uses ac-common:qinq;
      }
    }
    choice l2-service {
      description
        "The Layer 2 connectivity service can be provided by
         indicating a pointer to an L2VPN or by specifying a
         Layer 2 tunnel service.";
      container l2-tunnel-service {
        description
          "Defines a Layer 2 tunnel termination.
           It is only applicable when a tunnel is required.";
        uses ac-common:l2-tunnel-service;
      }
      case l2vpn {
        leaf l2vpn-id {
          type vpn-common:vpn-id;
          description
            "Indicates the L2VPN service associated with an
             Integrated Routing and Bridging (IRB) interface.";
        }
      }
    }
    leaf bearer-reference {
      if-feature "ac-common:server-assigned-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 {
        augment ac-svc:allocation-type/static-addresses/address {
          leaf failure-detection-profile {
            if-feature "vpn-common:bfd";
            type failure-detection-profile-reference;
            description
              "Points to a failure detection profile.";
          }
          description
            "Adds a failure detection profile.";
        }
      }
    }
    container ipv6 {
      if-feature "vpn-common:ipv6";
      description
        "IPv6-specific parameters.";
      uses ac-common:ipv6-connection {
        augment ac-svc:allocation-type/static-addresses/address {
          leaf failure-detection-profile {
            if-feature "vpn-common:bfd";
            type failure-detection-profile-reference;
            description
              "Points to a failure detection profile.";
          }
          description
            "Adds a failure detection profile.";
        }
      }
    }
  }

  // Routing protocol list

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

  // Static routing with BFD

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

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

  //  BGP Service 

  grouping bgp-neighbor-without-name {
    description
      "A grouping with generic parameters for configuring a BGP 
       neighbor.";
    leaf remote-address {
      type inet:ip-address;
      description
        "The remote IP address of this entry's BGP peer. This is
         a customer IP address.

         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 provider's IP address that will be used to establish
         the BGP session.";
    }
    uses ac-common:bgp-peer-group-without-name;
    container bgp-max-prefix {
      description
        "A container for the maximum number of BGP prefixes
         allowed in the BGP session.";
      leaf max-prefix {
        type uint32;
        description
          "Indicates the maximum number of BGP prefixes allowed
           in the BGP session.

           It allows control of how many prefixes can be received
           from a neighbor.";
        reference
          "RFC 4271: A Border Gateway Protocol 4 (BGP-4),
                     Section 8.2.2";
      }
    }
    uses ac-common:bgp-authentication;
    uses ac-common:op-instructions;
    uses ac-common:service-status;
  }

  grouping bgp-neighbor-with-name {
    description
      "A grouping with generic parameters for configuring a BGP 
       neighbor with an identifier.";
    leaf id {
      type string;
      description
        "A neighbor identifier.";
    }
    uses ac-svc:bgp-neighbor-without-name;
  }

  grouping bgp-neighbor-with-server-reference {
    description
      "A grouping with generic parameters for configuring a BGP 
       neighbor with a reference generated by the provider.";
    leaf server-reference {
      if-feature "ac-common:server-assigned-reference";
      type string;
      config false;
      description
        "This is an internal reference for the service provider
         to identify the BGP session.";
    }
    uses ac-svc:bgp-neighbor-without-name;
  }

  grouping bgp-neighbor-with-name-server-reference {
    description
      "A grouping with generic parameters for configuring a BGP 
       neighbor with an identifier and a reference generated by 
       the provider.";
    leaf id {
      type string;
      description
        "A neighbor identifier.";
    }
    uses ac-svc:bgp-neighbor-with-server-reference;
  }

  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 provider's local IP address that will be used to
             establish the BGP session.";
        }
        container bgp-max-prefix {
          description
            "A container for the maximum number of BGP prefixes
             allowed in the BGP session.";
          leaf max-prefix {
            type uint32;
            description
              "Indicates the maximum number of BGP prefixes allowed
               in the BGP session.

               It allows control of how many prefixes can be received
               from a neighbor.";
            reference
              "RFC 4271: A Border Gateway Protocol 4 (BGP-4),
                         Section 8.2.2";
          }
        }
        uses ac-common:bgp-authentication;
      }
    }
    list neighbor {
      key "id";
      description
        "List of BGP neighbors.";
      uses ac-svc:bgp-neighbor-with-name-server-reference;
      leaf peer-group {
        type leafref {
          path "../../peer-groups/peer-group/name";
        }
        description
          "The peer-group with which this neighbor is associated.";
      }
      leaf failure-detection-profile {
        if-feature "vpn-common:bfd";
        type failure-detection-profile-reference;
        description
          "Points to a failure detection profile.";
      }
    }
  }

  //  OSPF Service 

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

  //  IS-IS Service 

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

  //  RIP Service 

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

  //  VRRP Service 

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

  // Basic routing parameters

  grouping routing-basic {
    description
      "Defines basic parameters for routing protocols.";
    list routing-protocol {
      key "id";
      description
        "List of routing protocols used on the AC.";
      leaf id {
        type string;
        description
          "Unique identifier for the routing protocol.";
      }
      uses routing-protocol-list;
      container bgp {
        when
          "derived-from-or-self(../type, 'vpn-common:bgp-routing')" {
          description
            "Only applies when the protocol is BGP.";
        }
        if-feature "vpn-common:rtg-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.";
        }
        if-feature "vpn-common:rtg-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.";
        }
       if-feature "vpn-common:rtg-isis";
        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.";
        }
        if-feature "vpn-common:rtg-rip";
        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).";
        }
        if-feature "vpn-common:rtg-vrrp";
        description
          "Configuration specific to VRRP.";
        leaf address-family {
          type identityref {
            base vpn-common:address-family;
          }
          description
            "Indicates whether IPv4, IPv6, or both address families
             are to be enabled.";
        }
      }
    }
  }

  // Full routing parameters

  grouping routing {
    description
      "Defines routing protocols.";
    list routing-protocol {
      key "id";
      description
        "List of routing protocols used on the AC.";
      leaf id {
        type string;
        description
          "Unique identifier for the routing protocol.";
      }
      uses routing-protocol-list;
      container static {
        when "derived-from-or-self(../type, "
           + "'vpn-common:static-routing')" {
          description
            "Only applies when the protocol is static routing
             protocol.";
        }
        description
          "Configuration specific to static routing.";
        container cascaded-lan-prefixes {
          description
            "LAN prefixes from the customer.";
          uses ipv4-static-rtg-with-bfd;
          uses ipv6-static-rtg-with-bfd;
        }
      }
      container bgp {
        when "derived-from-or-self(../type, "
           + "'vpn-common:bgp-routing')" {
          description
            "Only applies when the protocol is BGP.";
        }
        if-feature "vpn-common:rtg-bgp";
        description
          "Configuration specific to BGP.";
        uses bgp-svc;
      }
      container ospf {
        when "derived-from-or-self(../type, "
           + "'vpn-common:ospf-routing')" {
          description
            "Only applies when the protocol is OSPF.";
        }
        if-feature "vpn-common:rtg-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.";
        }
        if-feature "vpn-common:rtg-isis";
        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.";
        }
        if-feature "vpn-common:rtg-rip";
        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).";
        }
        if-feature "vpn-common:rtg-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 name {
      type string;
      description
        "A name that uniquely identifies the AC.";
    }
    container l2-connection {
      if-feature "ac-common:layer2-ac";
      description
        "Defines Layer 2 protocols and parameters that are required 
         to enable AC connectivity.";
      uses l2-connection-basic;
    }
    container ip-connection {
      if-feature "ac-common:layer3-ac";
      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 {
      if-feature "ac-common:layer2-ac";
      description
        "Defines Layer 2 protocols and parameters that are required 
         to enable AC connectivity.";
      uses l2-connection;
    }
    container ip-connection {
      if-feature "ac-common:layer3-ac";
      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.";
        list session {
          key "remote-address";
          description
            "List of IP sessions.";
           leaf local-address {
             type inet:ip-address;
             description
               "Provider's IP address of the BFD session.";
          }
          leaf remote-address {
             type inet:ip-address;
             description
               "Customer's IP address of the BFD session.";
          }
          leaf profile {
            type failure-detection-profile-reference;
            description
              "Points to a BFD profile.";
          }
          uses ac-common:bfd;
          uses ac-common:service-status;
        } 
      }
    }
    container security {
      description
        "AC-specific security parameters.";
      uses ac-security-basic;
    }
    container service {
      description
        "AC-specific bandwith parameters.";
      leaf mtu {
        type uint32;
        units "bytes";
        description
          "Layer 2 MTU.";
      }
      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.";
            }
          }
        }
      }
    }
  }

  // Parent and Child ACs

  grouping ac-hierarchy {
    description
      "Container for parent and child AC references.";
    leaf ac-parent-ref {
      type ac-svc:attachment-circuit-reference;
      description
        "Specifies the parent AC that is inherited by an AC.
         In contexts where dynamic terminating points are 
         bound to the same AC, a parent AC with stable
         information is created with a set of child ACs
         to track dynamic AC information.";
    }
    leaf-list child-ac-ref {
      type ac-svc:attachment-circuit-reference;
      config false;
      description
        "Specifies a child AC that relies upon a parent AC.";
    }
  }

  /******************** 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;
    }
    leaf customer-name {
      type string;
      description
        "Indicates the name of the customer that requested these
         ACs.";
    }
    uses ac-common:op-instructions;
    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 role {
        type identityref {
          base ac-common:role;
        }
        description
          "Indicates whether this AC is used as UNI, NNI, etc.";
      }
      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.";
      }
      uses ac-hierarchy;
      uses ac-common:redundancy-group;
      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 or 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.";
        }
      }
      leaf server-reference {
        if-feature "ac-common:server-assigned-reference";
        type string;
        config false;
        description
          "Reports an internal reference for the service provider
           to identify the AC.";
      }
      uses ac;
    }
  }
}
<CODE ENDS>
]]></sourcecode>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This section uses the template described in Section 3.7 of <xref target="I-D.ietf-netmod-rfc8407bis"/>.</t>
      <t>The YANG modules specified in this document define schema for data
   that is designed to be accessed via network management protocols such
   as NETCONF <xref target="RFC6241"/> or RESTCONF <xref target="RFC8040"/>.  The lowest NETCONF layer
   is the secure transport layer, and the mandatory-to-implement secure
   transport is Secure Shell (SSH) <xref target="RFC6242"/>.  The lowest RESTCONF layer
   is HTTPS, and the mandatory-to-implement secure transport is TLS
   <xref target="RFC8446"/>.</t>
      <t>The Network Configuration Access Control Model (NACM) <xref target="RFC8341"/>
   provides the means to restrict access for particular NETCONF or
   RESTCONF users to a preconfigured subset of all available NETCONF or
   RESTCONF protocol operations and content.</t>
      <t>There are a number of data nodes defined in these YANG modules that are
   writable/creatable/deletable (i.e., config true, which is the
   default).  These data nodes may be considered sensitive or vulnerable
   in some network environments.  Write operations (e.g., edit-config)
   and delete operations to these data nodes without proper protection
   or authentication can have a negative effect on network operations.
   Specifically, the following subtrees and data nodes have particular
sensitivities/vulnerabilities in the "ietf-bearer-svc" module:</t>
      <dl>
        <dt>'placement-constraints':</dt>
        <dd>
          <t>An attacker who is able to access this data node can modify the
   attributes to influence how a service is delivered to a customer, and
   this leads to Service Level Agreement (SLA) violations.</t>
        </dd>
        <dt>'bearer':</dt>
        <dd>
          <t>An attacker who is able to access this data node can modify
   the attributes of bearer and, thus, hinder how ACs are built.</t>
        </dd>
        <dt/>
        <dd>
          <t>In addition, an attacker could attempt to add a new bearer or
   delete existing ones. An attacker may also change the requested
   type or the activation scheduling.</t>
        </dd>
      </dl>
      <t>The following subtrees and data nodes have particular
sensitivities/vulnerabilities in the "ietf-ac-svc" module:</t>
      <dl>
        <dt>'specific-provisioning-profiles':</dt>
        <dd>
          <t>This container includes a set of sensitive data that influence
 how an AC will be delivered. For example, an attacker who has access
 to these data nodes may be able to manipulate routing policies, QoS
 policies, or encryption properties.</t>
        </dd>
        <dt/>
        <dd>
          <t>These profiles are defined with "nacm:default-deny-write"
 tagging <xref target="I-D.ietf-opsawg-teas-common-ac"/>.</t>
        </dd>
        <dt>'service-provisioning-profiles':</dt>
        <dd>
          <t>An attacker who has access to these data nodes may be able
   to manipulate service-specific policies to be applied for an AC.</t>
        </dd>
        <dt/>
        <dd>
          <t>This container is defined with "nacm:default-deny- write" tagging.</t>
        </dd>
        <dt>'ac':</dt>
        <dd>
          <t>An attacker who is able to access this data node can modify
   the attributes of an AC (e.g., QoS, bandwidth, routing protocols,
   keying material), leading to malfunctioning of services that will
   be delivered over that AC and therefore to SLA violations.
   In addition, an attacker could attempt to add a new AC.</t>
        </dd>
      </dl>
      <t>Some of the readable data nodes in these YANG modules may be considered
   sensitive or vulnerable in some network environments.  It is thus
   important to control read access (e.g., via get, get-config, or
   notification) to these data nodes. Specifically, the following subtrees and data nodes have particular
sensitivities/vulnerabilities in the "ietf-bearer-svc" module:</t>
      <dl>
        <dt>'customer-point':</dt>
        <dd>
          <t>An attacker can retrieve privacy-related information about location from where
 the customer is connected. Disclosing such information may be used to infer
 the identity of the customer.</t>
        </dd>
      </dl>
      <t>The following subtrees and data nodes have particular
sensitivities/vulnerabilities in the "ietf-ac-svc" module:</t>
      <dl>
        <dt>'customer-name', 'l2-connection', and 'ip-connection':</dt>
        <dd>
          <t>An attacker can retrieve privacy-related information, which can be used to track a
 customer.  Disclosing such information may be considered a
 violation of the customer-provider trust relationship.</t>
        </dd>
        <dt>'keying-material':</dt>
        <dd>
          <t>An attacker can retrieve the cryptographic keys
 protecting the underlying connectivity services (routing, in
 particular).  These keys could be used to inject spoofed routing
 advertisements.</t>
        </dd>
      </dl>
      <t>Several data nodes ('bgp', 'ospf', 'isis', and 'rip') rely
   upon <xref target="RFC8177"/> for authentication purposes.  As such, the AC service module
   inherits the security considerations discussed in Section 5 of
   <xref target="RFC8177"/>.  Also, these data nodes support supplying explicit keys as
   strings in ASCII format.  The use of keys in hexadecimal string
   format would afford greater key entropy with the same number of key-
   string octets.  However, such a format is not included in this
   version of the AC service model because it is not supported by the underlying
   device modules (e.g., <xref target="RFC8695"/>).</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to register the following URIs in the "ns" subregistry within
   the "IETF XML Registry" <xref target="RFC3688"/>:</t>
      <artwork><![CDATA[
   URI:  urn:ietf:params:xml:ns:yang:ietf-bearer-svc
   Registrant Contact:  The IESG.
   XML:  N/A; the requested URI is an XML namespace.

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

   Name:  ietf-ac-svc
   Maintained by IANA?  N
   Namespace:  urn:ietf:params:xml:ns:yang:ietf-ac-svc
   Prefix:  ac-svc
   Reference:  RFC xxxx
]]></artwork>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC4364">
          <front>
            <title>BGP/MPLS IP Virtual Private Networks (VPNs)</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <date month="February" year="2006"/>
            <abstract>
              <t>This document describes a method by which a Service Provider may use an IP backbone to provide IP Virtual Private Networks (VPNs) for its customers. This method uses a "peer model", in which the customers' edge routers (CE routers) send their routes to the Service Provider's edge routers (PE routers); there is no "overlay" visible to the customer's routing algorithm, and CE routers at different sites do not peer with each other. Data packets are tunneled through the backbone, so that the core routers do not need to know the VPN routes. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4364"/>
          <seriesInfo name="DOI" value="10.17487/RFC4364"/>
        </reference>
        <reference anchor="RFC9408">
          <front>
            <title>A YANG Network Data Model for Service Attachment Points (SAPs)</title>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="O. Gonzalez de Dios" initials="O." surname="Gonzalez de Dios"/>
            <author fullname="S. Barguil" initials="S." surname="Barguil"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <author fullname="V. Lopez" initials="V." surname="Lopez"/>
            <date month="June" year="2023"/>
            <abstract>
              <t>This document defines a YANG data model for representing an abstract view of the provider network topology that contains the points from which its services can be attached (e.g., basic connectivity, VPN, network slices). Also, the model can be used to retrieve the points where the services are actually being delivered to customers (including peer networks).</t>
              <t>This document augments the 'ietf-network' data model defined in RFC 8345 by adding the concept of Service Attachment Points (SAPs). The SAPs are the network reference points to which network services, such as Layer 3 Virtual Private Network (L3VPN) or Layer 2 Virtual Private Network (L2VPN), can be attached. One or multiple services can be bound to the same SAP. Both User-to-Network Interface (UNI) and Network-to-Network Interface (NNI) are supported in the SAP data model.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9408"/>
          <seriesInfo name="DOI" value="10.17487/RFC9408"/>
        </reference>
        <reference anchor="RFC8342">
          <front>
            <title>Network Management Datastore Architecture (NMDA)</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="P. Shafer" initials="P." surname="Shafer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Wilton" initials="R." surname="Wilton"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>Datastores are a fundamental concept binding the data models written in the YANG data modeling language to network management protocols such as the Network Configuration Protocol (NETCONF) and RESTCONF. This document defines an architectural framework for datastores based on the experience gained with the initial simpler model, addressing requirements that were not well supported in the initial model. This document updates RFC 7950.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8342"/>
          <seriesInfo name="DOI" value="10.17487/RFC8342"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="I-D.ietf-opsawg-teas-common-ac">
          <front>
            <title>A Common YANG Data Model for Attachment Circuits</title>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Richard Roberts" initials="R." surname="Roberts">
              <organization>Juniper</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Samier Barguil" initials="S." surname="Barguil">
              <organization>Nokia</organization>
            </author>
            <author fullname="Bo Wu" initials="B." surname="Wu">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="11" month="April" year="2024"/>
            <abstract>
              <t>   The document specifies a common Attachment Circuits (ACs) YANG
   module, which is designed with the intent to be reusable by other
   models.  For example, this common model can be reused by service
   models to expose ACs as a service, service models that require
   binding a service to a set of ACs, network and device models to
   provision ACs, etc.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-teas-common-ac-09"/>
        </reference>
        <reference anchor="RFC5798">
          <front>
            <title>Virtual Router Redundancy Protocol (VRRP) Version 3 for IPv4 and IPv6</title>
            <author fullname="S. Nadas" initials="S." role="editor" surname="Nadas"/>
            <date month="March" year="2010"/>
            <abstract>
              <t>This memo defines the Virtual Router Redundancy Protocol (VRRP) for IPv4 and IPv6. It is version three (3) of the protocol, and it is based on VRRP (version 2) for IPv4 that is defined in RFC 3768 and in "Virtual Router Redundancy Protocol for IPv6". VRRP specifies an election protocol that dynamically assigns responsibility for a virtual router to one of the VRRP routers on a LAN. The VRRP router controlling the IPv4 or IPv6 address(es) associated with a virtual router is called the Master, and it forwards packets sent to these IPv4 or IPv6 addresses. VRRP Master routers are configured with virtual IPv4 or IPv6 addresses, and VRRP Backup routers infer the address family of the virtual addresses being carried based on the transport protocol. Within a VRRP router, the virtual routers in each of the IPv4 and IPv6 address families are a domain unto themselves and do not overlap. The election process provides dynamic failover in the forwarding responsibility should the Master become unavailable. For IPv4, the advantage gained from using VRRP is a higher-availability default path without requiring configuration of dynamic routing or router discovery protocols on every end-host. For IPv6, the advantage gained from using VRRP for IPv6 is a quicker switchover to Backup routers than can be obtained with standard IPv6 Neighbor Discovery mechanisms. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5798"/>
          <seriesInfo name="DOI" value="10.17487/RFC5798"/>
        </reference>
        <reference anchor="RFC6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6241"/>
          <seriesInfo name="DOI" value="10.17487/RFC6241"/>
        </reference>
        <reference anchor="RFC9182">
          <front>
            <title>A YANG Network Data Model for Layer 3 VPNs</title>
            <author fullname="S. Barguil" initials="S." surname="Barguil"/>
            <author fullname="O. Gonzalez de Dios" initials="O." role="editor" surname="Gonzalez de Dios"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="L. Munoz" initials="L." surname="Munoz"/>
            <author fullname="A. Aguado" initials="A." surname="Aguado"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>As a complement to the Layer 3 Virtual Private Network Service Model (L3SM), which is used for communication between customers and service providers, this document defines an L3VPN Network Model (L3NM) that can be used for the provisioning of Layer 3 Virtual Private Network (L3VPN) services within a service provider network. The model provides a network-centric view of L3VPN services.</t>
              <t>The L3NM is meant to be used by a network controller to derive the configuration information that will be sent to relevant network devices. The model can also facilitate communication between a service orchestrator and a network controller/orchestrator.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9182"/>
          <seriesInfo name="DOI" value="10.17487/RFC9182"/>
        </reference>
        <reference anchor="RFC9291">
          <front>
            <title>A YANG Network Data Model for Layer 2 VPNs</title>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="O. Gonzalez de Dios" initials="O." role="editor" surname="Gonzalez de Dios"/>
            <author fullname="S. Barguil" initials="S." surname="Barguil"/>
            <author fullname="L. Munoz" initials="L." surname="Munoz"/>
            <date month="September" year="2022"/>
            <abstract>
              <t>This document defines an L2VPN Network Model (L2NM) that can be used to manage the provisioning of Layer 2 Virtual Private Network (L2VPN) services within a network (e.g., a service provider network). The L2NM complements the L2VPN Service Model (L2SM) by providing a network-centric view of the service that is internal to a service provider. The L2NM is particularly meant to be used by a network controller to derive the configuration information that will be sent to relevant network devices.</t>
              <t>Also, this document defines a YANG module to manage Ethernet segments and the initial versions of two IANA-maintained modules that include a set of identities of BGP Layer 2 encapsulation types and pseudowire types.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9291"/>
          <seriesInfo name="DOI" value="10.17487/RFC9291"/>
        </reference>
        <reference anchor="RFC9181">
          <front>
            <title>A Common YANG Data Model for Layer 2 and Layer 3 VPNs</title>
            <author fullname="S. Barguil" initials="S." surname="Barguil"/>
            <author fullname="O. Gonzalez de Dios" initials="O." role="editor" surname="Gonzalez de Dios"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>This document defines a common YANG module that is meant to be reused by various VPN-related modules such as Layer 3 VPN and Layer 2 VPN network models.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9181"/>
          <seriesInfo name="DOI" value="10.17487/RFC9181"/>
        </reference>
        <reference anchor="RFC5880">
          <front>
            <title>Bidirectional Forwarding Detection (BFD)</title>
            <author fullname="D. Katz" initials="D." surname="Katz"/>
            <author fullname="D. Ward" initials="D." surname="Ward"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>This document describes a protocol intended to detect faults in the bidirectional path between two forwarding engines, including interfaces, data link(s), and to the extent possible the forwarding engines themselves, with potentially very low latency. It operates independently of media, data protocols, and routing protocols. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5880"/>
          <seriesInfo name="DOI" value="10.17487/RFC5880"/>
        </reference>
        <reference anchor="RFC8177">
          <front>
            <title>YANG Data Model for Key Chains</title>
            <author fullname="A. Lindem" initials="A." role="editor" surname="Lindem"/>
            <author fullname="Y. Qu" initials="Y." surname="Qu"/>
            <author fullname="D. Yeung" initials="D." surname="Yeung"/>
            <author fullname="I. Chen" initials="I." surname="Chen"/>
            <author fullname="J. Zhang" initials="J." surname="Zhang"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>This document describes the key chain YANG data model. Key chains are commonly used for routing protocol authentication and other applications requiring symmetric keys. A key chain is a list containing one or more elements containing a Key ID, key string, send/accept lifetimes, and the associated authentication or encryption algorithm. By properly overlapping the send and accept lifetimes of multiple key chain elements, key strings and algorithms may be gracefully updated. By representing them in a YANG data model, key distribution can be automated.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8177"/>
          <seriesInfo name="DOI" value="10.17487/RFC8177"/>
        </reference>
        <reference anchor="RFC4577">
          <front>
            <title>OSPF as the Provider/Customer Edge Protocol for BGP/MPLS IP Virtual Private Networks (VPNs)</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="P. Psenak" initials="P." surname="Psenak"/>
            <author fullname="P. Pillay-Esnault" initials="P." surname="Pillay-Esnault"/>
            <date month="June" year="2006"/>
            <abstract>
              <t>Many Service Providers offer Virtual Private Network (VPN) services to their customers, using a technique in which customer edge routers (CE routers) are routing peers of provider edge routers (PE routers). The Border Gateway Protocol (BGP) is used to distribute the customer's routes across the provider's IP backbone network, and Multiprotocol Label Switching (MPLS) is used to tunnel customer packets across the provider's backbone. This is known as a "BGP/MPLS IP VPN". The base specification for BGP/MPLS IP VPNs presumes that the routing protocol on the interface between a PE router and a CE router is BGP. This document extends that specification by allowing the routing protocol on the PE/CE interface to be the Open Shortest Path First (OSPF) protocol.</t>
              <t>This document updates RFC 4364. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4577"/>
          <seriesInfo name="DOI" value="10.17487/RFC4577"/>
        </reference>
        <reference anchor="RFC6565">
          <front>
            <title>OSPFv3 as a Provider Edge to Customer Edge (PE-CE) Routing Protocol</title>
            <author fullname="P. Pillay-Esnault" initials="P." surname="Pillay-Esnault"/>
            <author fullname="P. Moyer" initials="P." surname="Moyer"/>
            <author fullname="J. Doyle" initials="J." surname="Doyle"/>
            <author fullname="E. Ertekin" initials="E." surname="Ertekin"/>
            <author fullname="M. Lundberg" initials="M." surname="Lundberg"/>
            <date month="June" year="2012"/>
            <abstract>
              <t>Many Service Providers (SPs) offer Virtual Private Network (VPN) services to their customers using a technique in which Customer Edge (CE) routers are routing peers of Provider Edge (PE) routers. The Border Gateway Protocol (BGP) is used to distribute the customer's routes across the provider's IP backbone network, and Multiprotocol Label Switching (MPLS) is used to tunnel customer packets across the provider's backbone. Support currently exists for both IPv4 and IPv6 VPNs; however, only Open Shortest Path First version 2 (OSPFv2) as PE-CE protocol is specified. This document extends those specifications to support OSPF version 3 (OSPFv3) as a PE-CE routing protocol. The OSPFv3 PE-CE functionality is identical to that of OSPFv2 except for the differences described in this document. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6565"/>
          <seriesInfo name="DOI" value="10.17487/RFC6565"/>
        </reference>
        <reference anchor="RFC4552">
          <front>
            <title>Authentication/Confidentiality for OSPFv3</title>
            <author fullname="M. Gupta" initials="M." surname="Gupta"/>
            <author fullname="N. Melam" initials="N." surname="Melam"/>
            <date month="June" year="2006"/>
            <abstract>
              <t>This document describes means and mechanisms to provide authentication/confidentiality to OSPFv3 using an IPv6 Authentication Header/Encapsulating Security Payload (AH/ESP) extension header. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4552"/>
          <seriesInfo name="DOI" value="10.17487/RFC4552"/>
        </reference>
        <reference anchor="RFC5709">
          <front>
            <title>OSPFv2 HMAC-SHA Cryptographic Authentication</title>
            <author fullname="M. Bhatia" initials="M." surname="Bhatia"/>
            <author fullname="V. Manral" initials="V." surname="Manral"/>
            <author fullname="M. Fanto" initials="M." surname="Fanto"/>
            <author fullname="R. White" initials="R." surname="White"/>
            <author fullname="M. Barnes" initials="M." surname="Barnes"/>
            <author fullname="T. Li" initials="T." surname="Li"/>
            <author fullname="R. Atkinson" initials="R." surname="Atkinson"/>
            <date month="October" year="2009"/>
            <abstract>
              <t>This document describes how the National Institute of Standards and Technology (NIST) Secure Hash Standard family of algorithms can be used with OSPF version 2's built-in, cryptographic authentication mechanism. This updates, but does not supercede, the cryptographic authentication mechanism specified in RFC 2328. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5709"/>
          <seriesInfo name="DOI" value="10.17487/RFC5709"/>
        </reference>
        <reference anchor="RFC7474">
          <front>
            <title>Security Extension for OSPFv2 When Using Manual Key Management</title>
            <author fullname="M. Bhatia" initials="M." surname="Bhatia"/>
            <author fullname="S. Hartman" initials="S." surname="Hartman"/>
            <author fullname="D. Zhang" initials="D." surname="Zhang"/>
            <author fullname="A. Lindem" initials="A." role="editor" surname="Lindem"/>
            <date month="April" year="2015"/>
            <abstract>
              <t>The current OSPFv2 cryptographic authentication mechanism as defined in RFCs 2328 and 5709 is vulnerable to both inter-session and intra- session replay attacks when using manual keying. Additionally, the existing cryptographic authentication mechanism does not cover the IP header. This omission can be exploited to carry out various types of attacks.</t>
              <t>This document defines changes to the authentication sequence number mechanism that will protect OSPFv2 from both inter-session and intra- session replay attacks when using manual keys for securing OSPFv2 protocol packets. Additionally, we also describe some changes in the cryptographic hash computation that will eliminate attacks resulting from OSPFv2 not protecting the IP header.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7474"/>
          <seriesInfo name="DOI" value="10.17487/RFC7474"/>
        </reference>
        <reference anchor="RFC7166">
          <front>
            <title>Supporting Authentication Trailer for OSPFv3</title>
            <author fullname="M. Bhatia" initials="M." surname="Bhatia"/>
            <author fullname="V. Manral" initials="V." surname="Manral"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <date month="March" year="2014"/>
            <abstract>
              <t>Currently, OSPF for IPv6 (OSPFv3) uses IPsec as the only mechanism for authenticating protocol packets. This behavior is different from authentication mechanisms present in other routing protocols (OSPFv2, Intermediate System to Intermediate System (IS-IS), RIP, and Routing Information Protocol Next Generation (RIPng)). In some environments, it has been found that IPsec is difficult to configure and maintain and thus cannot be used. This document defines an alternative mechanism to authenticate OSPFv3 protocol packets so that OSPFv3 does not depend only upon IPsec for authentication.</t>
              <t>The OSPFv3 Authentication Trailer was originally defined in RFC 6506. This document obsoletes RFC 6506 by providing a revised definition, including clarifications and refinements of the procedures.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7166"/>
          <seriesInfo name="DOI" value="10.17487/RFC7166"/>
        </reference>
        <reference anchor="RFC6991">
          <front>
            <title>Common YANG Data Types</title>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document introduces a collection of common data types to be used with the YANG data modeling language. This document obsoletes RFC 6021.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6991"/>
          <seriesInfo name="DOI" value="10.17487/RFC6991"/>
        </reference>
        <reference anchor="RFC8040">
          <front>
            <title>RESTCONF Protocol</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8040"/>
          <seriesInfo name="DOI" value="10.17487/RFC8040"/>
        </reference>
        <reference anchor="RFC6242">
          <front>
            <title>Using the NETCONF Protocol over Secure Shell (SSH)</title>
            <author fullname="M. Wasserman" initials="M." surname="Wasserman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>This document describes a method for invoking and running the Network Configuration Protocol (NETCONF) within a Secure Shell (SSH) session as an SSH subsystem. This document obsoletes RFC 4742. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6242"/>
          <seriesInfo name="DOI" value="10.17487/RFC6242"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC8341">
          <front>
            <title>Network Configuration Access Control Model</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability. There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. This document defines such an access control model.</t>
              <t>This document obsoletes RFC 6536.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="91"/>
          <seriesInfo name="RFC" value="8341"/>
          <seriesInfo name="DOI" value="10.17487/RFC8341"/>
        </reference>
        <reference anchor="RFC3688">
          <front>
            <title>The IETF XML Registry</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <date month="January" year="2004"/>
            <abstract>
              <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="81"/>
          <seriesInfo name="RFC" value="3688"/>
          <seriesInfo name="DOI" value="10.17487/RFC3688"/>
        </reference>
        <reference anchor="RFC6020">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6020"/>
          <seriesInfo name="DOI" value="10.17487/RFC6020"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="AC-svc-Tree" target="https://github.com/boucadair/attachment-circuit-model/blob/main/yang/full-trees/ac-svc-without-groupings.txt">
          <front>
            <title>Full ACaaS Tree Structure</title>
            <author>
              <organization/>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="Instance-Data" target="https://github.com/boucadair/attachment-circuit-model/blob/main/xml-examples/svc-full-instance.xml">
          <front>
            <title>Example of AC SVC Instance Data</title>
            <author>
              <organization/>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="PYANG" target="https://github.com/mbj4668/pyang">
          <front>
            <title>pyang</title>
            <author>
              <organization/>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="IEEE802.1AB" target="https://standards.ieee.org/ieee/802.1AB/6047/">
          <front>
            <title>IEEE Standard for Local and metropolitan area networks - Station and Media Access Control Connectivity Discovery</title>
            <author>
              <organization>IEEE</organization>
            </author>
            <date year="2016" month="January"/>
          </front>
        </reference>
        <reference anchor="IEEE802.1AX" target="https://doi.org/10.1109/IEEESTD.2020.9105034">
          <front>
            <title>IEEE Standard for Local and Metropolitan Area Networks--Link Aggregation</title>
            <author>
              <organization>IEEE</organization>
            </author>
            <date year="2020" month="May"/>
          </front>
        </reference>
        <reference anchor="ITU-T-G.781" target="https://www.itu.int/rec/T-REC-G.781">
          <front>
            <title>Synchronization layer functions for frequency synchronization based on the physical layer</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2024" month="January"/>
          </front>
        </reference>
        <reference anchor="RFC7665">
          <front>
            <title>Service Function Chaining (SFC) Architecture</title>
            <author fullname="J. Halpern" initials="J." role="editor" surname="Halpern"/>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro"/>
            <date month="October" year="2015"/>
            <abstract>
              <t>This document describes an architecture for the specification, creation, and ongoing maintenance of Service Function Chains (SFCs) in a network. It includes architectural concepts, principles, and components used in the construction of composite services through deployment of SFCs, with a focus on those to be standardized in the IETF. This document does not propose solutions, protocols, or extensions to existing protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7665"/>
          <seriesInfo name="DOI" value="10.17487/RFC7665"/>
        </reference>
        <reference anchor="RFC9543">
          <front>
            <title>A Framework for Network Slices in Networks Built from IETF Technologies</title>
            <author fullname="A. Farrel" initials="A." role="editor" surname="Farrel"/>
            <author fullname="J. Drake" initials="J." role="editor" surname="Drake"/>
            <author fullname="R. Rokui" initials="R." surname="Rokui"/>
            <author fullname="S. Homma" initials="S." surname="Homma"/>
            <author fullname="K. Makhijani" initials="K." surname="Makhijani"/>
            <author fullname="L. Contreras" initials="L." surname="Contreras"/>
            <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
            <date month="March" year="2024"/>
            <abstract>
              <t>This document describes network slicing in the context of networks built from IETF technologies. It defines the term "IETF Network Slice" to describe this type of network slice and establishes the general principles of network slicing in the IETF context.</t>
              <t>The document discusses the general framework for requesting and operating IETF Network Slices, the characteristics of an IETF Network Slice, the necessary system components and interfaces, and the mapping of abstract requests to more specific technologies. The document also discusses related considerations with monitoring and security.</t>
              <t>This document also provides definitions of related terms to enable consistent usage in other IETF documents that describe or use aspects of IETF Network Slices.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9543"/>
          <seriesInfo name="DOI" value="10.17487/RFC9543"/>
        </reference>
        <reference anchor="I-D.ietf-opsawg-ntw-attachment-circuit">
          <front>
            <title>A Network YANG Data Model for Attachment Circuits</title>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Richard Roberts" initials="R." surname="Roberts">
              <organization>Juniper</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Samier Barguil" initials="S." surname="Barguil">
              <organization>Nokia</organization>
            </author>
            <author fullname="Bo Wu" initials="B." surname="Wu">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="11" month="April" year="2024"/>
            <abstract>
              <t>   This document specifies a network model for attachment circuits.  The
   model can be used for the provisioning of attachment circuits prior
   or during service provisioning (e.g., VPN, Network Slice Service).  A
   companion service model is specified in I-D.ietf-opsawg-teas-
   attachment-circuit.

   The module augments the 'ietf-network' and the Service Attachment
   Point (SAP) models 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-08"/>
        </reference>
        <reference anchor="I-D.ietf-opsawg-ac-lxsm-lxnm-glue">
          <front>
            <title>A YANG Data Model for Augmenting VPN Service and Network Models with Attachment Circuits</title>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Richard Roberts" initials="R." surname="Roberts">
              <organization>Juniper</organization>
            </author>
            <author fullname="Samier Barguil" initials="S." surname="Barguil">
              <organization>Nokia</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <date day="11" month="April" year="2024"/>
            <abstract>
              <t>   The document specifies a module that updates existing service (i.e.,
   the Layer 2 Service Model (L2SM) and the Layer 3 Service Model
   (L3SM)) and network ((i.e., the Layer 2 Network Model (L2NM) and the
   Layer 3 Network Model (L3NM))) Virtual Private Network (VPN) modules
   with the required information to bind specific VPN services to ACs
   that are created using the Attachment Circuit (AC) service ("ietf-ac-
   svc") and network ("ietf-ac-ntw") models.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-ac-lxsm-lxnm-glue-09"/>
        </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="RFC8921">
          <front>
            <title>Dynamic Service Negotiation: The Connectivity Provisioning Negotiation Protocol (CPNP)</title>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="C. Jacquenet" initials="C." surname="Jacquenet"/>
            <author fullname="D. Zhang" initials="D." surname="Zhang"/>
            <author fullname="P. Georgatsos" initials="P." surname="Georgatsos"/>
            <date month="October" year="2020"/>
            <abstract>
              <t>This document defines the Connectivity Provisioning Negotiation Protocol (CPNP), which is designed to facilitate the dynamic negotiation of service parameters.</t>
              <t>CPNP is a generic protocol that can be used for various negotiation purposes that include (but are not necessarily limited to) connectivity provisioning services, storage facilities, Content Delivery Networks, etc.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8921"/>
          <seriesInfo name="DOI" value="10.17487/RFC8921"/>
        </reference>
        <reference anchor="I-D.ramseyer-grow-peering-api">
          <front>
            <title>Peering API</title>
            <author fullname="Carlos Aguado" initials="C." surname="Aguado">
              <organization>Amazon</organization>
            </author>
            <author fullname="Matt Griswold" initials="M." surname="Griswold">
              <organization>FullCtl</organization>
            </author>
            <author fullname="Jenny Ramseyer" initials="J." surname="Ramseyer">
              <organization>Meta</organization>
            </author>
            <author fullname="Arturo L. Servin" initials="A. L." surname="Servin">
              <organization>Google</organization>
            </author>
            <author fullname="Tom Strickx" initials="T." surname="Strickx">
              <organization>Cloudflare</organization>
            </author>
            <date day="16" month="March" year="2024"/>
            <abstract>
              <t>   We propose an API standard for BGP Peering, also known as interdomain
   interconnection through global Internet Routing.  This API offers a
   standard way to request public (settlement-free) peering, verify the
   status of a request or BGP session, and list potential connection
   locations.  The API is backed by PeeringDB OIDC, the industry
   standard for peering authentication.  We also propose future work to
   cover private peering, and alternative authentication methods.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ramseyer-grow-peering-api-04"/>
        </reference>
        <reference anchor="RFC5737">
          <front>
            <title>IPv4 Address Blocks Reserved for Documentation</title>
            <author fullname="J. Arkko" initials="J." surname="Arkko"/>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="L. Vegoda" initials="L." surname="Vegoda"/>
            <date month="January" year="2010"/>
            <abstract>
              <t>Three IPv4 unicast address blocks are reserved for use in examples in specifications and other documents. This document describes the use of these blocks. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5737"/>
          <seriesInfo name="DOI" value="10.17487/RFC5737"/>
        </reference>
        <reference anchor="RFC3849">
          <front>
            <title>IPv6 Address Prefix Reserved for Documentation</title>
            <author fullname="G. Huston" initials="G." surname="Huston"/>
            <author fullname="A. Lord" initials="A." surname="Lord"/>
            <author fullname="P. Smith" initials="P." surname="Smith"/>
            <date month="July" year="2004"/>
            <abstract>
              <t>To reduce the likelihood of conflict and confusion when relating documented examples to deployed systems, an IPv6 unicast address prefix is reserved for use in examples in RFCs, books, documentation, and the like. Since site-local and link-local unicast addresses have special meaning in IPv6, these addresses cannot be used in many example situations. The document describes the use of the IPv6 address prefix 2001:DB8::/32 as a reserved prefix for use in documentation. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3849"/>
          <seriesInfo name="DOI" value="10.17487/RFC3849"/>
        </reference>
        <reference anchor="RFC5398">
          <front>
            <title>Autonomous System (AS) Number Reservation for Documentation Use</title>
            <author fullname="G. Huston" initials="G." surname="Huston"/>
            <date month="December" year="2008"/>
            <abstract>
              <t>To reduce the likelihood of conflict and confusion when relating documented examples to deployed systems, two blocks of Autonomous System numbers (ASNs) are reserved for use in examples in RFCs, books, documentation, and the like. This document describes the reservation of two blocks of ASNs as reserved numbers for use in documentation. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5398"/>
          <seriesInfo name="DOI" value="10.17487/RFC5398"/>
        </reference>
        <reference anchor="RFC8969">
          <front>
            <title>A Framework for Automating Service and Network Management with YANG</title>
            <author fullname="Q. Wu" initials="Q." role="editor" surname="Wu"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="D. Lopez" initials="D." surname="Lopez"/>
            <author fullname="C. Xie" initials="C." surname="Xie"/>
            <author fullname="L. Geng" initials="L." surname="Geng"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>Data models provide a programmatic approach to represent services and networks. Concretely, they can be used to derive configuration information for network and service components, and state information that will be monitored and tracked. Data models can be used during the service and network management life cycle (e.g., service instantiation, service provisioning, service optimization, service monitoring, service diagnosing, and service assurance). Data models are also instrumental in the automation of network management, and they can provide closed-loop control for adaptive and deterministic service creation, delivery, and maintenance.</t>
              <t>This document describes a framework for service and network management automation that takes advantage of YANG modeling technologies. This framework is drawn from a network operator perspective irrespective of the origin of a data model; thus, it can accommodate YANG modules that are developed outside the IETF.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8969"/>
          <seriesInfo name="DOI" value="10.17487/RFC8969"/>
        </reference>
        <reference anchor="RFC8349">
          <front>
            <title>A YANG Data Model for Routing Management (NMDA Version)</title>
            <author fullname="L. Lhotka" initials="L." surname="Lhotka"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <author fullname="Y. Qu" initials="Y." surname="Qu"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document specifies three YANG modules and one submodule. Together, they form the core routing data model that serves as a framework for configuring and managing a routing subsystem. It is expected that these modules will be augmented by additional YANG modules defining data models for control-plane protocols, route filters, and other functions. The core routing data model provides common building blocks for such extensions -- routes, Routing Information Bases (RIBs), and control-plane protocols.</t>
              <t>The YANG modules in this document conform to the Network Management Datastore Architecture (NMDA). This document obsoletes RFC 8022.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8349"/>
          <seriesInfo name="DOI" value="10.17487/RFC8349"/>
        </reference>
        <reference anchor="I-D.ietf-idr-bgp-model">
          <front>
            <title>YANG Model for Border Gateway Protocol (BGP-4)</title>
            <author fullname="Mahesh Jethanandani" initials="M." surname="Jethanandani">
              <organization>Kloud Services</organization>
            </author>
            <author fullname="Keyur Patel" initials="K." surname="Patel">
              <organization>Arrcus</organization>
            </author>
            <author fullname="Susan Hares" initials="S." surname="Hares">
              <organization>Huawei</organization>
            </author>
            <author fullname="Jeffrey Haas" initials="J." surname="Haas">
              <organization>Juniper Networks</organization>
            </author>
            <date day="5" month="July" year="2023"/>
            <abstract>
              <t>   This document defines a YANG data model for configuring and managing
   BGP, including protocol, policy, and operational aspects, such as
   RIB, based on data center, carrier, and content provider operational
   requirements.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-bgp-model-17"/>
        </reference>
        <reference anchor="RFC8340">
          <front>
            <title>YANG Tree Diagrams</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="L. Berger" initials="L." role="editor" surname="Berger"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document captures the current syntax used in YANG module tree diagrams. The purpose of this document is to provide a single location for this definition. This syntax may be updated from time to time based on the evolution of the YANG language.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="215"/>
          <seriesInfo name="RFC" value="8340"/>
          <seriesInfo name="DOI" value="10.17487/RFC8340"/>
        </reference>
        <reference anchor="I-D.ietf-netmod-rfc8407bis">
          <front>
            <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
            <author fullname="Andy Bierman" initials="A." surname="Bierman">
              <organization>YumaWorks</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <date day="18" month="April" year="2024"/>
            <abstract>
              <t>   This memo provides guidelines for authors and reviewers of
   specifications containing YANG modules, including IANA-maintained
   modules.  Recommendations and procedures are defined, which are
   intended to increase interoperability and usability of Network
   Configuration Protocol (NETCONF) and RESTCONF protocol
   implementations that utilize YANG modules.  This document obsoletes
   RFC 8407.

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-rfc8407bis-11"/>
        </reference>
        <reference anchor="RFC3644">
          <front>
            <title>Policy Quality of Service (QoS) Information Model</title>
            <author fullname="Y. Snir" initials="Y." surname="Snir"/>
            <author fullname="Y. Ramberg" initials="Y." surname="Ramberg"/>
            <author fullname="J. Strassner" initials="J." surname="Strassner"/>
            <author fullname="R. Cohen" initials="R." surname="Cohen"/>
            <author fullname="B. Moore" initials="B." surname="Moore"/>
            <date month="November" year="2003"/>
            <abstract>
              <t>This document presents an object-oriented information model for representing Quality of Service (QoS) network management policies. This document is based on the IETF Policy Core Information Model and its extensions. It defines an information model for QoS enforcement for differentiated and integrated services using policy. It is important to note that this document defines an information model, which by definition is independent of any particular data storage mechanism and access protocol.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3644"/>
          <seriesInfo name="DOI" value="10.17487/RFC3644"/>
        </reference>
        <reference anchor="RFC5925">
          <front>
            <title>The TCP Authentication Option</title>
            <author fullname="J. Touch" initials="J." surname="Touch"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <author fullname="R. Bonica" initials="R." surname="Bonica"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>This document specifies the TCP Authentication Option (TCP-AO), which obsoletes the TCP MD5 Signature option of RFC 2385 (TCP MD5). TCP-AO specifies the use of stronger Message Authentication Codes (MACs), protects against replays even for long-lived TCP connections, and provides more details on the association of security with TCP connections than TCP MD5. TCP-AO is compatible with either a static Master Key Tuple (MKT) configuration or an external, out-of-band MKT management mechanism; in either case, TCP-AO also protects connections when using the same MKT across repeated instances of a connection, using traffic keys derived from the MKT, and coordinates MKT changes between endpoints. The result is intended to support current infrastructure uses of TCP MD5, such as to protect long-lived connections (as used, e.g., in BGP and LDP), and to support a larger set of MACs with minimal other system and operational changes. TCP-AO uses a different option identifier than TCP MD5, even though TCP-AO and TCP MD5 are never permitted to be used simultaneously. TCP-AO supports IPv6, and is fully compatible with the proposed requirements for the replacement of TCP MD5. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5925"/>
          <seriesInfo name="DOI" value="10.17487/RFC5925"/>
        </reference>
        <reference anchor="RFC2453">
          <front>
            <title>RIP Version 2</title>
            <author fullname="G. Malkin" initials="G." surname="Malkin"/>
            <date month="November" year="1998"/>
            <abstract>
              <t>This document specifies an extension of the Routing Information Protocol (RIP) to expand the amount of useful information carried in RIP messages and to add a measure of security. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="56"/>
          <seriesInfo name="RFC" value="2453"/>
          <seriesInfo name="DOI" value="10.17487/RFC2453"/>
        </reference>
        <reference anchor="RFC2080">
          <front>
            <title>RIPng for IPv6</title>
            <author fullname="G. Malkin" initials="G." surname="Malkin"/>
            <author fullname="R. Minnear" initials="R." surname="Minnear"/>
            <date month="January" year="1997"/>
            <abstract>
              <t>This document specifies a routing protocol for an IPv6 internet. It is based on protocols and algorithms currently in wide use in the IPv4 Internet [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2080"/>
          <seriesInfo name="DOI" value="10.17487/RFC2080"/>
        </reference>
        <reference anchor="RFC8695">
          <front>
            <title>A YANG Data Model for the Routing Information Protocol (RIP)</title>
            <author fullname="X. Liu" initials="X." surname="Liu"/>
            <author fullname="P. Sarda" initials="P." surname="Sarda"/>
            <author fullname="V. Choudhary" initials="V." surname="Choudhary"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document describes a data model for the management of the Routing Information Protocol (RIP). Both RIP version 2 and RIPng are covered. The data model includes definitions for configuration, operational state, and Remote Procedure Calls (RPCs).</t>
              <t>The YANG data model in this document conforms to the Network Management Datastore Architecture (NMDA).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8695"/>
          <seriesInfo name="DOI" value="10.17487/RFC8695"/>
        </reference>
        <reference anchor="I-D.ietf-teas-ietf-network-slice-nbi-yang">
          <front>
            <title>A YANG Data Model for the RFC 9543 Network Slice Service</title>
            <author fullname="Bo Wu" initials="B." surname="Wu">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Dhruv Dhody" initials="D." surname="Dhody">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Reza Rokui" initials="R." surname="Rokui">
              <organization>Ciena</organization>
            </author>
            <author fullname="Tarek Saad" initials="T." surname="Saad">
              <organization>Cisco Systems, Inc</organization>
            </author>
            <author fullname="John Mullooly" initials="J." surname="Mullooly">
              <organization>Cisco Systems, Inc</organization>
            </author>
            <date day="16" month="March" year="2024"/>
            <abstract>
              <t>   This document defines a YANG data model for RFC 9543 Network Slice
   Service.  The model can be used in the Network Slice Service
   interface between a customer and a provider that offers RFC 9543
   Network Slice Services.

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

<section anchor="examples">
      <name>Examples</name>
      <t>This section includes a non-exhaustive list of examples to illustrate the use of the service models defined in this document. An example instance data can also be found at <xref target="Instance-Data"/>.</t>
      <section anchor="ex-create-bearer">
        <name>Create A New Bearer</name>
        <t>An example of a request message body to create a bearer is shown in <xref target="create-bearer"/>.</t>
        <figure anchor="create-bearer">
          <name>Example of a Message Body to Create A New Bearer</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-bearer-svc:bearers": {
    "bearer": [
      {
        "name": "a-name-choosen-by-client",
        "description": "A bearer example",
        "customer-point": {
          "identified-by": "ietf-bearer-svc:device-id",
          "device": {
            "device-id": "CE_X_SITE_Y"
          }
        },
        "type": "ietf-bearer-svc:ethernet"
      }
    ]
  }
}
]]></sourcecode>
        </figure>
        <t>A "bearer-reference" is then generated by the controller for this bearer. <xref target="get-bearer"/> shows the example of a response message body that is sent by the controller to reply to a GET request:</t>
        <figure anchor="get-bearer">
          <name>Example of a Response Message Body with the Bearer Reference</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-bearer-svc:bearers": {
    "bearer": [
      {
        "name": "a-name-choosen-by-client",
        "description": "A bearer example",
        "sync-phy-capable": true,
        "customer-point": {
          "identified-by": "ietf-bearer-svc:device-id",
          "device": {
            "device-id": "CE_X_SITE_Y"
          }
        },
        "type": "ietf-bearer-svc:ethernet",
        "bearer-reference": "line-156"
      }
    ]
  }
}
  
]]></sourcecode>
        </figure>
        <t>Note that the response also indicates that Sync Phy mechanism is supported for this bearer.</t>
      </section>
      <section anchor="ac-bearer-exist">
        <name>Create An AC over An Existing Bearer</name>
        <t>An example of a request message body to create a simple AC over an existing bearer is shown in <xref target="ac-b"/>. The bearer reference is assumed to be known to both the customer and the network provider. Such a reference can be retrieved, e.g., following the example described in <xref target="ex-create-bearer"/> or using other means (including, exchanged out-of-band or via proprietary APIs).</t>
        <figure anchor="ac-b">
          <name>Example of a Message Body to Request an AC over an Existing Bearer</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "ac4585",
        "description": "An AC on an existing bearer",
        "requested-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",
        "actual-start": "2023-12-12T05:00:00.00Z",
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "tag-type": "ietf-vpn-common:c-vlan",
              "cvlan-id": 550
            }
          },
          "bearer-reference": "line-156"
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="ac-no-bearer-peer-sap">
        <name>Create An AC for a Known Peer SAP</name>
        <t>An example of a request to create a simple AC, when the peer SAP is known, is shown in <xref target="ac-known-ps"/>. In this example, the peer SAP identifier points to an identifier of an SF. The (topological) location of that SF is assumed to be known to the network controller. For example, this can be determined as part of an on-demand procedure to instantiate an SF in a cloud. That instantiated SF can be granted a connectivity service via the provider network.</t>
        <figure anchor="ac-known-ps">
          <name>Example of a Message Body to Request an AC with a Peer SAP</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "ac4585",
        "description": "An AC for a known peer SAP",
        "requested-start": "2025-12-12T05:00:00.00Z",
        "peer-sap-id": [
          "nf-termination-ip"
        ]
      }
    ]
  }
}
]]></sourcecode>
        </figure>
        <t><xref target="ac-known-ps-res"/> shows the received response with the required informaiton to connect the SF.</t>
        <figure anchor="ac-known-ps-res">
          <name>Example of a Message Body of a Response to Create an AC with a Peer SAP</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "ac4585",
        "description": "An AC for a known peer SAP",
        "actual-start": "2025-12-12T05:00:00.00Z",
        "peer-sap-id": [
          "nf-termination-ip"
        ],
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "tag-type": "ietf-vpn-common:c-vlan",
              "cvlan-id": 550
            }
          }
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="sec-ex-one-ce-multi-acs">
        <name>One CE, Two ACs</name>
        <t>Let us consider the example of an eNodeB (CE) that is directly connected to the access routers of the mobile backhaul (see <xref target="enodeb"/>). In this example, two ACs are needed to service the eNodeB (e.g., distinct VLANs for Control and User Planes).</t>
        <figure anchor="enodeb">
          <name>Example of a CE-PE ACs</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="240" width="432" viewBox="0 0 432 240" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,160" fill="none" stroke="black"/>
                <path d="M 120,32 L 120,160" fill="none" stroke="black"/>
                <path d="M 272,32 L 272,224" fill="none" stroke="black"/>
                <path d="M 424,32 L 424,224" fill="none" stroke="black"/>
                <path d="M 8,32 L 120,32" fill="none" stroke="black"/>
                <path d="M 272,32 L 424,32" fill="none" stroke="black"/>
                <path d="M 128,62 L 264,62" fill="none" stroke="black"/>
                <path d="M 128,66 L 264,66" 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="192" y="52">ac1</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="220" y="84">VLAN</text>
                  <text x="248" y="84">1</text>
                  <text x="336" y="84">2001:db8::1</text>
                  <text x="220" y="100">VLAN</text>
                  <text x="248" y="100">2</text>
                  <text x="192" y="132">ac2</text>
                  <text x="156" y="148">Direct</text>
                  <text x="160" y="164">Routing</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
.-------------.                  .------------------.
|             |       ac1        | PE               |
|             |==================|  192.0.2.1       |
|   eNodeB    |          VLAN 1  |  2001:db8::1     |
|             |          VLAN 2  |                  |
|             |==================|                  |
|             |       ac2        |                  |
|             | 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": [
      {
        "name": "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-group-profile": [
      {
        "name": "simple-node-profile"
      }
    ],
    "ac": [
      {
        "name": "ac3",
        "description": "a third AC with a same peer node",
        "ac-group-profile": [
          "simple-node-profile"
        ],
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "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[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "ac1",
        "description": "An example to illustrate AC precedence usage\
                                                                   ",
        "group": [
          {
            "group-id": "1",
            "precedence": "ietf-ac-common:primary"
          }
        ],
        "l2-connection": {
          "bearer-reference": "bearerX@site1"
        }
      },
      {
        "name": "ac2",
        "description": "An AC 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="80" y="52">ac1</text>
                  <text x="424" y="52">ac3</text>
                  <text x="32" y="68">CE1</text>
                  <text x="480" y="68">CE3</text>
                  <text x="256" y="100">Network</text>
                  <text x="80" y="116">ac2</text>
                  <text x="424" y="116">ac4</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[
                   .----------------------------------.
      .----.  ac1  |                                  |  ac3  .----.
      | CE1+-------+                                  +-------+ CE3|
      '----'       |                                  |       '----'
                   |              Network             |
      .----.  ac2  |                                  |  ac4  .----.
      |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": [
      {
        "name": "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 the IETF Network Slice model <xref target="I-D.ietf-teas-ietf-network-slice-nbi-yang"/> to connect a site to a Slice Service.</t>
        <t>First, <xref target="slice-vlan-1"/> describes the end-to-end network topology as well the orchestration scopes:</t>
        <ul spacing="normal">
          <li>
            <t>The topology is made up of two sites ("site1" and "site2"), interconnected via a Transport Network (e.g., IP/MPLS network). An SF is deployed within each site in a dedicated IP subnet.</t>
          </li>
          <li>
            <t>A 5G Service Management and Orchestration (SMO) is responsible for the deployment of SFs and the indirect management of a local Gateway (i.e., CE).</t>
          </li>
          <li>
            <t>An IETF Network Slice Controller (NSC) <xref target="RFC9543"/> is responsible for the deployment of IETF Network Slices across the Transport Network.</t>
          </li>
        </ul>
        <t>SFs are deployed within each site.</t>
        <figure anchor="slice-vlan-1">
          <name>An Example of a Network Topology Used to Deploy Slices</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="368" width="520" viewBox="0 0 520 368" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 32,112 L 32,144" fill="none" stroke="black"/>
                <path d="M 48,144 L 48,176" fill="none" stroke="black"/>
                <path d="M 64,112 L 64,144" fill="none" stroke="black"/>
                <path d="M 64,184 L 64,240" fill="none" stroke="black"/>
                <path d="M 80,48 L 80,80" fill="none" stroke="black"/>
                <path d="M 96,144 L 96,208" fill="none" stroke="black"/>
                <path d="M 128,144 L 128,208" fill="none" stroke="black"/>
                <path d="M 168,184 L 168,304" fill="none" stroke="black"/>
                <path d="M 200,144 L 200,208" fill="none" stroke="black"/>
                <path d="M 216,112 L 216,136" fill="none" stroke="black"/>
                <path d="M 216,208 L 216,240" fill="none" stroke="black"/>
                <path d="M 232,144 L 232,208" fill="none" stroke="black"/>
                <path d="M 280,64 L 280,80" fill="none" stroke="black"/>
                <path d="M 320,144 L 320,208" fill="none" stroke="black"/>
                <path d="M 336,112 L 336,136" fill="none" stroke="black"/>
                <path d="M 336,208 L 336,240" fill="none" stroke="black"/>
                <path d="M 352,144 L 352,208" fill="none" stroke="black"/>
                <path d="M 384,184 L 384,304" fill="none" stroke="black"/>
                <path d="M 424,144 L 424,208" fill="none" stroke="black"/>
                <path d="M 456,144 L 456,208" fill="none" stroke="black"/>
                <path d="M 464,48 L 464,80" fill="none" stroke="black"/>
                <path d="M 480,112 L 480,144" fill="none" stroke="black"/>
                <path d="M 480,184 L 480,240" fill="none" stroke="black"/>
                <path d="M 496,144 L 496,176" fill="none" stroke="black"/>
                <path d="M 512,112 L 512,144" fill="none" stroke="black"/>
                <path d="M 32,80 L 128,80" fill="none" stroke="black"/>
                <path d="M 200,80 L 352,80" fill="none" stroke="black"/>
                <path d="M 424,80 L 504,80" fill="none" stroke="black"/>
                <path d="M 32,112 L 64,112" fill="none" stroke="black"/>
                <path d="M 216,112 L 336,112" fill="none" stroke="black"/>
                <path d="M 480,112 L 512,112" fill="none" stroke="black"/>
                <path d="M 32,144 L 64,144" fill="none" stroke="black"/>
                <path d="M 96,144 L 128,144" fill="none" stroke="black"/>
                <path d="M 200,144 L 232,144" fill="none" stroke="black"/>
                <path d="M 320,144 L 352,144" fill="none" stroke="black"/>
                <path d="M 424,144 L 456,144" fill="none" stroke="black"/>
                <path d="M 480,144 L 512,144" fill="none" stroke="black"/>
                <path d="M 32,176 L 96,176" fill="none" stroke="black"/>
                <path d="M 128,176 L 200,176" fill="none" stroke="black"/>
                <path d="M 352,176 L 424,176" fill="none" stroke="black"/>
                <path d="M 456,176 L 512,176" fill="none" stroke="black"/>
                <path d="M 96,208 L 128,208" fill="none" stroke="black"/>
                <path d="M 200,208 L 232,208" fill="none" stroke="black"/>
                <path d="M 320,208 L 352,208" fill="none" stroke="black"/>
                <path d="M 424,208 L 456,208" fill="none" stroke="black"/>
                <path d="M 216,240 L 336,240" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="512,80 500,74.4 500,85.6" fill="black" transform="rotate(0,504,80)"/>
                <polygon class="arrowhead" points="488,184 476,178.4 476,189.6" fill="black" transform="rotate(270,480,184)"/>
                <polygon class="arrowhead" points="432,80 420,74.4 420,85.6" fill="black" transform="rotate(180,424,80)"/>
                <polygon class="arrowhead" points="392,184 380,178.4 380,189.6" fill="black" transform="rotate(270,384,184)"/>
                <polygon class="arrowhead" points="360,80 348,74.4 348,85.6" fill="black" transform="rotate(0,352,80)"/>
                <polygon class="arrowhead" points="208,80 196,74.4 196,85.6" fill="black" transform="rotate(180,200,80)"/>
                <polygon class="arrowhead" points="176,184 164,178.4 164,189.6" fill="black" transform="rotate(270,168,184)"/>
                <polygon class="arrowhead" points="136,80 124,74.4 124,85.6" fill="black" transform="rotate(0,128,80)"/>
                <polygon class="arrowhead" points="72,184 60,178.4 60,189.6" fill="black" transform="rotate(270,64,184)"/>
                <polygon class="arrowhead" points="40,80 28,74.4 28,85.6" fill="black" transform="rotate(180,32,80)"/>
                <g class="text">
                  <text x="60" y="36">5G</text>
                  <text x="88" y="36">SMO</text>
                  <text x="252" y="36">IETF</text>
                  <text x="288" y="36">NSC</text>
                  <text x="444" y="36">5G</text>
                  <text x="472" y="36">SMO</text>
                  <text x="216" y="52">(TN</text>
                  <text x="288" y="52">Orchestrator)</text>
                  <text x="80" y="100">Site1</text>
                  <text x="240" y="100">Transport</text>
                  <text x="312" y="100">Network</text>
                  <text x="472" y="100">Site2</text>
                  <text x="48" y="132">SF1</text>
                  <text x="496" y="132">SF2</text>
                  <text x="112" y="180">GW1</text>
                  <text x="216" y="180">PE1</text>
                  <text x="336" y="180">PE2</text>
                  <text x="440" y="180">GW2</text>
                  <text x="60" y="260">LAN1</text>
                  <text x="484" y="260">LAN2</text>
                  <text x="64" y="276">198.51.100.0/24</text>
                  <text x="460" y="276">203.0.113.0/24</text>
                  <text x="132" y="324">Physical</text>
                  <text x="188" y="324">Link</text>
                  <text x="224" y="324">ID:</text>
                  <text x="356" y="324">Physical</text>
                  <text x="412" y="324">Link</text>
                  <text x="448" y="324">ID:</text>
                  <text x="168" y="340">bearerX@site1</text>
                  <text x="392" y="340">bearerX@site2</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
      5G SMO                 IETF NSC                 5G SMO
         |               (TN Orchestrator)               |
         |                        |                      |
   <-----+----->        <---------+-------->        <----+---->
       Site1             Transport Network              Site2
   .---.                  .--------------.                 .---.
   |SF1|                  |              |                 |SF2|
   '-+-'   .---.        .---.          .---.        .---.  '-+-'
     |     |   |        |   |          |   |        |   |    |
   --+-----+GW1+--------+PE1|          |PE2+--------+GW2+----+--
       ^   |   |    ^   |   |          |   |   ^    |   |  ^
       |   '---'    |   '-+-'          '-+-'   |    '---'  |
       |            |     |              |     |           |
       |            |     '--------------'     |           |
     LAN1           |                          |          LAN2
198.51.100.0/24     |                          |  203.0.113.0/24
                    |                          |
                    |                          |
            Physical Link ID:           Physical Link ID:
              bearerX@site1               bearerX@site2

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

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

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

{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "ac1",
        "description": "Connection to site1 on vlan 100",
        "requested-start": "2023-12-12T05:00:00.00Z",
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "tag-type": "ietf-vpn-common:c-vlan"
            }
          },
          "bearer-reference": "bearerX@site1"
        },
        "ip-connection": {
          "ipv4": {
            "address-allocation-type": "ietf-ac-common:static-\
                                                             address"
          }
        },
        "routing-protocols": {
          "routing-protocol": [
            {
              "id": "1",
              "type": "ietf-vpn-common:static-routing",
              "static": {
                "cascaded-lan-prefixes": {
                  "ipv4-lan-prefixes": [
                    {
                      "lan": "198.51.100.0/24",
                      "next-hop": "192.0.2.1",
                      "lan-tag": "primary_UP_slice"
                    }
                  ]
                }
              }
            }
          ]
        }
      },
      {
        "name": "ac2",
        "description": "Connection to site2 on vlan 200",
        "requested-start": "2023-12-12T05:00:00.00Z",
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "tag-type": "ietf-vpn-common:c-vlan"
            }
          },
          "bearer-reference": "bearerY@site2"
        },
        "ip-connection": {
          "ipv4": {
            "address-allocation-type": "ietf-ac-common:static-\
                                                             address"
          }
        },
        "routing-protocols": {
          "routing-protocol": [
            {
              "id": "1",
              "type": "ietf-vpn-common:bgp-routing",
              "bgp": {
                "neighbor": [
                  {
                    "id": "1",
                    "peer-as": 65550
                  }
                ]
              }
            }
          ]
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
        <t><xref target="slice-acs-res"/> shows the message body of a response received from the controller.</t>
        <figure anchor="slice-acs-res">
          <name>Example of a Message Body of a Response Indicating the Creation of the ACs</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "ac1",
        "description": "Connection to site1 on vlan 100",
        "actual-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",
        "actual-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 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.</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",
          "description": "Lowest possible latency forwarding \
                                                            behavior"
        }
      ]
    },
    "slice-service": [
      {
        "id": "Slice URLLC_UP",
        "description": "Dedicated TN Slice for URLLC-UP",
        "slo-sle-template": "low-latency-template",
        "status": {},
        "sdps": {
          "sdp": [
            {
              "id": "sdp1",
              "ac-svc-name": [
                "ac1"
              ]
            },
            {
              "id": "sdp2",
              "ac-svc-name": [
                "ac2"
              ]
            }
          ]
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="sec-ex-cloud">
        <name>Connecting a Virtualized Environment Running in a Cloud Provider</name>
        <t>This example (<xref target="cloud-provider-1"/>) shows how the AC service model can be used to connect a Cloud Infrastructure to a service provider network. This example makes the following assumptions:</t>
        <ol spacing="normal" type="1"><li>
            <t>A customer (e.g., Mobile Network Team or partner) has a virtualized infrastructure running in a Cloud Provider. A simplistic deployment is represented here with a set of Virtual Machines running in a Virtual Private Environment. The deployment and management of this infrastructure is achieved via private APIs that are supported by the Cloud Provider: this realization is out of the scope of this document.</t>
          </li>
          <li>
            <t>The connectivity to the Data Center is achieved thanks to a service based on direct attachment (physical connection), which is delivered upon ordering via an API exposed by the Cloud Provider. When ordering that connection, a unique "Connection Identifier" is generated and returned via the API.</t>
          </li>
          <li>
            <t>The customer provisions the networking logic within the Cloud Provider based on that unique connection identifier (i.e., logical interfaces, IP addressing, and routing).</t>
          </li>
        </ol>
        <figure anchor="cloud-provider-1">
          <name>An Example of Realization for Connecting a Cloud Site</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="560" width="496" viewBox="0 0 496 560" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 32,32 L 32,272" fill="none" stroke="black"/>
                <path d="M 32,384 L 32,528" fill="none" stroke="black"/>
                <path d="M 56,80 L 56,112" fill="none" stroke="black"/>
                <path d="M 72,112 L 72,144" fill="none" stroke="black"/>
                <path d="M 88,80 L 88,112" fill="none" stroke="black"/>
                <path d="M 104,80 L 104,112" fill="none" stroke="black"/>
                <path d="M 120,112 L 120,144" fill="none" stroke="black"/>
                <path d="M 136,80 L 136,112" fill="none" stroke="black"/>
                <path d="M 152,80 L 152,112" fill="none" stroke="black"/>
                <path d="M 168,112 L 168,144" fill="none" stroke="black"/>
                <path d="M 168,176 L 168,240" fill="none" stroke="black"/>
                <path d="M 176,400 L 176,464" fill="none" stroke="black"/>
                <path d="M 184,80 L 184,112" fill="none" stroke="black"/>
                <path d="M 200,144 L 200,176" fill="none" stroke="black"/>
                <path d="M 200,240 L 200,400" fill="none" stroke="black"/>
                <path d="M 216,248 L 216,304" fill="none" stroke="black"/>
                <path d="M 216,336 L 216,392" fill="none" stroke="black"/>
                <path d="M 224,400 L 224,464" fill="none" stroke="black"/>
                <path d="M 240,176 L 240,240" fill="none" stroke="black"/>
                <path d="M 488,32 L 488,272" fill="none" stroke="black"/>
                <path d="M 488,384 L 488,528" fill="none" stroke="black"/>
                <path d="M 32,32 L 488,32" fill="none" stroke="black"/>
                <path d="M 56,80 L 88,80" fill="none" stroke="black"/>
                <path d="M 104,80 L 136,80" fill="none" stroke="black"/>
                <path d="M 152,80 L 184,80" fill="none" stroke="black"/>
                <path d="M 56,112 L 88,112" fill="none" stroke="black"/>
                <path d="M 104,112 L 136,112" fill="none" stroke="black"/>
                <path d="M 152,112 L 184,112" fill="none" stroke="black"/>
                <path d="M 64,144 L 384,144" fill="none" stroke="black"/>
                <path d="M 168,176 L 240,176" fill="none" stroke="black"/>
                <path d="M 168,240 L 240,240" fill="none" stroke="black"/>
                <path d="M 32,272 L 192,272" fill="none" stroke="black"/>
                <path d="M 224,272 L 488,272" fill="none" stroke="black"/>
                <path d="M 32,384 L 192,384" fill="none" stroke="black"/>
                <path d="M 224,384 L 488,384" fill="none" stroke="black"/>
                <path d="M 176,400 L 224,400" fill="none" stroke="black"/>
                <path d="M 176,464 L 224,464" fill="none" stroke="black"/>
                <path d="M 32,528 L 488,528" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="224,392 212,386.4 212,397.6" fill="black" transform="rotate(90,216,392)"/>
                <polygon class="arrowhead" points="224,248 212,242.4 212,253.6" fill="black" transform="rotate(270,216,248)"/>
                <g class="text">
                  <text x="360" y="52">Cloud</text>
                  <text x="420" y="52">Provider</text>
                  <text x="468" y="52">DC</text>
                  <text x="72" y="100">VM1</text>
                  <text x="120" y="100">VM2</text>
                  <text x="168" y="100">VM3</text>
                  <text x="232" y="100">Virtual</text>
                  <text x="296" y="100">Private</text>
                  <text x="352" y="100">Cloud</text>
                  <text x="84" y="132">.2</text>
                  <text x="132" y="132">.5</text>
                  <text x="184" y="132">.12</text>
                  <text x="304" y="132">198.51.100.0/24</text>
                  <text x="212" y="164">.1</text>
                  <text x="200" y="196">Cloud</text>
                  <text x="284" y="196">BGP_ASN:</text>
                  <text x="344" y="196">65536</text>
                  <text x="204" y="212">Provider</text>
                  <text x="264" y="212">BGP</text>
                  <text x="300" y="212">md5:</text>
                  <text x="204" y="228">GW</text>
                  <text x="372" y="228">"nyxNER_c5sdn608fFQl3331d"</text>
                  <text x="236" y="260">.2</text>
                  <text x="208" y="276">-</text>
                  <text x="28" y="308">Direct</text>
                  <text x="120" y="308">Interconnection</text>
                  <text x="60" y="324">connection_id:</text>
                  <text x="216" y="324">BGP</text>
                  <text x="324" y="324">vlan-id:50</text>
                  <text x="60" y="340">1234-56789</text>
                  <text x="332" y="340">192.0.2.0/24</text>
                  <text x="236" y="372">.1</text>
                  <text x="208" y="388">-</text>
                  <text x="156" y="404">If-A</text>
                  <text x="312" y="404">Service</text>
                  <text x="380" y="404">Provider</text>
                  <text x="448" y="404">Network</text>
                  <text x="200" y="436">PE1</text>
                  <text x="268" y="436">BGP_ASN:</text>
                  <text x="328" y="436">65550</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
    .--------------------------------------------------------.
    |                                      Cloud Provider DC |
    |                                                        |
    |  .---. .---. .---.                                     |
    |  |VM1| |VM2| |VM3|  Virtual Private Cloud              |
    |  '-+-' '-+-' '-+-'                                     |
    |    |.2   |.5   |.12      198.51.100.0/24               |
    |   -+-----+-----+---+-----------------------            |
    |                    |.1                                 |
    |                .---+----.                              |
    |                | Cloud  | BGP_ASN: 65536               |
    |                |Provider| BGP md5:                     |
    |                |   GW   |   "nyxNER_c5sdn608fFQl3331d" |
    |                '---+----'                              |
    |                    | ^ .2                              |
    '--------------------|-|---------------------------------'
                         | |
 Direct Interconnection  | |
 connection_id:          |BGP       vlan-id:50
   1234-56789            | |        192.0.2.0/24
                         | |
                         | | .1
    .--------------------|-v---------------------------------.
    |             If-A.--+--.       Service Provider Network |
    |                 |     |                                |
    |                 | PE1 | BGP_ASN: 65550                 |
    |                 |     |                                |
    |                 '-----'                                |
    |                                                        |
    |                                                        |
    |                                                        |
    '--------------------------------------------------------'
]]></artwork>
          </artset>
        </figure>
        <t><xref target="cloud-provider-2"/> illustrates the pre-provisioning logic for the physical connection to the Cloud Provider. After this connection is delivered to the service provider, the network inventory is updated with "bearer-reference" set to the value of the "Connection Identifier".</t>
        <figure anchor="cloud-provider-2">
          <name>Illustration of Pre-provisioning</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="288" width="584" viewBox="0 0 584 288" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 136,64 L 520,64" fill="none" stroke="black"/>
                <path d="M 128,112 L 512,112" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="528,64 516,58.4 516,69.6" fill="black" transform="rotate(0,520,64)"/>
                <polygon class="arrowhead" points="136,112 124,106.4 124,117.6" fill="black" transform="rotate(180,128,112)"/>
                <g class="text">
                  <text x="52" y="36">Customer</text>
                  <text x="544" y="36">Cloud</text>
                  <text x="56" y="52">Orchestration</text>
                  <text x="188" y="52">DIRECT</text>
                  <text x="280" y="52">INTERCONNECTION</text>
                  <text x="380" y="52">ORDERING</text>
                  <text x="440" y="52">(API)</text>
                  <text x="548" y="52">Provider</text>
                  <text x="164" y="100">Connection</text>
                  <text x="240" y="100">Created</text>
                  <text x="292" y="100">with</text>
                  <text x="360" y="100">"Connection</text>
                  <text x="468" y="100">ID:1234-56789"</text>
                  <text x="328" y="132">x</text>
                  <text x="328" y="148">x</text>
                  <text x="328" y="164">x</text>
                  <text x="328" y="180">x</text>
                  <text x="92" y="212">Physical</text>
                  <text x="172" y="212">Connection</text>
                  <text x="260" y="212">1234-56789</text>
                  <text x="316" y="212">is</text>
                  <text x="368" y="212">delivered</text>
                  <text x="424" y="212">and</text>
                  <text x="240" y="228">connected</text>
                  <text x="292" y="228">to</text>
                  <text x="320" y="228">PE1</text>
                  <text x="88" y="260">Network</text>
                  <text x="160" y="260">Inventory</text>
                  <text x="232" y="260">Updated</text>
                  <text x="288" 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="476" 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 by:</t>
        <ul spacing="normal">
          <li>
            <t>The Cloud Provider for the configuration per Step (3) above.</t>
          </li>
          <li>
            <t>The Service provider network via the ACaaS model. This request can be used in conjunction with additional requests based on the L3SM (VPN provisioning) or Network Slice Service model (5G hybrid Cloud deployment).</t>
          </li>
        </ul>
        <t><xref target="cloud-provider-ac"/> shows the message body of the request to create the required ACs to connect the Cloud Provider Virtualized (VM) using the Attachment Circuit module.</t>
        <figure anchor="cloud-provider-ac">
          <name>Message Body of a Request to Create the ACs for Connecting to the Cloud Provider</name>
          <sourcecode type="json"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

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

{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "ac--BXT-DC-customer-VPC-foo",
        "description": "Connection to Cloud Provider BXT on \
                                              connection 1234-56789",
        "actual-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": {
                      "enabled": true,
                      "keying-material": {
                        "md5-keychain": "nyxNER_c5sdn608fFQl3331d"
                      }
                    }
                  }
                ]
              }
            }
          ]
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="connect-customer-network-through-bgp">
        <name>Connect Customer Network Through BGP</name>
        <t>CE-PE routing using BGP is a common scenario in the context of MPLS VPNs and is widely used in enterprise networks. In the example depicted in <xref target="provider-network"/>, the CE routers are customer-owned devices belonging to an AS (ASN 65536). CEs are located at the edge of the provider's network (PE, or Provider Edge) and use point-to-point interfaces to establish BGP sessions. The point-to-point interfaces rely upon a physical bearer ("line-113") to reach the provider network.</t>
        <figure anchor="provider-network">
          <name>Illustration of Provider Network Scenario</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="368" width="552" viewBox="0 0 552 368" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,352" fill="none" stroke="black"/>
                <path d="M 80,80 L 80,176" fill="none" stroke="black"/>
                <path d="M 80,208 L 80,240" fill="none" stroke="black"/>
                <path d="M 80,304 L 80,336" fill="none" stroke="black"/>
                <path d="M 184,80 L 184,176" fill="none" stroke="black"/>
                <path d="M 184,208 L 184,240" fill="none" stroke="black"/>
                <path d="M 184,304 L 184,336" fill="none" stroke="black"/>
                <path d="M 208,32 L 208,88" fill="none" stroke="black"/>
                <path d="M 208,104 L 208,352" fill="none" stroke="black"/>
                <path d="M 392,32 L 392,80" fill="none" stroke="black"/>
                <path d="M 392,112 L 392,144" fill="none" stroke="black"/>
                <path d="M 464,80 L 464,112" fill="none" stroke="black"/>
                <path d="M 544,32 L 544,144" fill="none" stroke="black"/>
                <path d="M 8,32 L 208,32" fill="none" stroke="black"/>
                <path d="M 392,32 L 544,32" fill="none" stroke="black"/>
                <path d="M 80,80 L 184,80" fill="none" stroke="black"/>
                <path d="M 408,80 L 464,80" fill="none" stroke="black"/>
                <path d="M 184,96 L 352,96" fill="none" stroke="black"/>
                <path d="M 408,112 L 464,112" fill="none" stroke="black"/>
                <path d="M 392,144 L 544,144" fill="none" stroke="black"/>
                <path d="M 80,176 L 184,176" fill="none" stroke="black"/>
                <path d="M 80,208 L 184,208" fill="none" stroke="black"/>
                <path d="M 80,240 L 184,240" fill="none" stroke="black"/>
                <path d="M 80,304 L 184,304" fill="none" stroke="black"/>
                <path d="M 80,336 L 184,336" fill="none" stroke="black"/>
                <path d="M 8,352 L 208,352" fill="none" stroke="black"/>
                <g class="text">
                  <text x="60" y="52">Provider</text>
                  <text x="128" y="52">Network</text>
                  <text x="436" y="52">Customer</text>
                  <text x="504" y="52">Network</text>
                  <text x="300" y="68">CE-PE-AC</text>
                  <text x="220" y="84">.2</text>
                  <text x="372" y="84">.1</text>
                  <text x="504" y="84">ASN</text>
                  <text x="132" y="100">PE1(VRF11)</text>
                  <text x="384" y="100">sap#113</text>
                  <text x="432" y="100">CE1</text>
                  <text x="504" y="100">65536</text>
                  <text x="296" y="116">Bearer=line-113</text>
                  <text x="132" y="132">PE1(VRF12)</text>
                  <text x="300" y="132">192.0.2.1/30</text>
                  <text x="132" y="164">PE1(VRF1n)</text>
                  <text x="32" y="196">AS1</text>
                  <text x="132" y="228">PE2(VRF21)</text>
                  <text x="128" y="260">.</text>
                  <text x="128" y="276">.</text>
                  <text x="128" y="292">.</text>
                  <text x="132" y="324">PEm(VRFmn)</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
.------------------------.                      .------------------.
|  Provider Network      |                      | Customer Network |
|                        |       CE-PE-AC       |                  |
|        .------------.  |.2                 .1 | .------.   ASN   |
|        | PE1(VRF11) +---------------------sap#113 CE1  |  65536  |
|        |            |  |   Bearer=line-113    | '------'         |
|        | PE1(VRF12) |  |     192.0.2.1/30     |                  |
|        |            |  |                      '------------------'
|        | PE1(VRF1n) |  |
|        '------------'  |
| AS1                    |
|        .------------.  |
|        | PE2(VRF21) |  |
|        '------------'  |
|              .         |
|              .         |
|              .         |
|        .------------.  |
|        | PEm(VRFmn) |  |
|        '------------'  |
'------------------------'
]]></artwork>
          </artset>
        </figure>
        <t>The attachment circuit in this case use a SAP identifier to refer to the physical interface used for the connection between the PE and the CE. The attachment circuit includes all the additional logical attributes to describe the connection between the two ends, including VLAN information and IP addressing. Also, the configuration details of the BGP session makes use of peer group details instead of defining the entire configuration inside the 'neighbor' data node.</t>
        <figure anchor="add-attachment-circuit-bgp-routing">
          <name>Message Body of a Request to Create ACs for Connecting CEs to a Provider Network</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "CE-PE-AC",
        "customer-name": "Customer-4875",
        "description": "An AC between a CP and a PE",
        "peer-sap-id": [
          "sap#113"
        ],
        "ip-connection": {
          "ipv4": {
            "prefix-length": 30,
            "address": [
              {
                "address-id": "1",
                "customer-address": "192.0.2.1"
              }
            ]
          }
        },
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q"
          },
          "bearer-reference": "line-113"
        },
        "routing-protocols": {
          "routing-protocol": [
            {
              "id": "BGP-Single-Access",
              "type": "ietf-vpn-common:bgp-routing",
              "bgp": {
                "peer-groups": {
                  "peer-group": [
                    {
                      "name": "first-peer-group",
                      "peer-as": 65536,
                      "address-family": "ietf-vpn-common:ipv4"
                    }
                  ]
                },
                "neighbor": [
                  {
                    "id": "session#57",
                    "remote-address": "192.0.2.1",
                    "peer-group": "first-peer-group",
                    "status": {
                      "admin-status": {
                        "status": "ietf-vpn-common:admin-up"
                      }
                    }
                  }
                ]
              }
            }
          ]
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
        <t>This scenario allows the provider to maintain a list of ACs belonging to the same customer without requiring the full service configuration.</t>
      </section>
      <section anchor="sec-peering">
        <name>Interconnection via Internet eXchange Points (IXPs)</name>
        <t>This section illustrates how to use the AC service model for interconnection purposes. To that aim, the document assumes a simplified Internet eXchange Point (IXP) configuration without zooming into IXP deployment specifics. Let us assume that networks are interconnected via a Layer 2 facility. BGP is used to exchange routing information and reachability announcements between those networks. The same approach can be used to negotiate interconnection between two networks and without involving an IXP.</t>
        <t>The following subsections exemplify a deployment flow, but BGP sessions can be managed without having to execute systematically all the steps detailed hereafter.</t>
        <section anchor="retrieve-interconnection-locations">
          <name>Retrieve Interconnection Locations</name>
          <t><xref target="ex-retrieve-locations"/> shows an example a message body of a request to retrieve a list of interconnection locations. The request includes optional information such as customer name, peer ASN, etc. to filter out the locations.</t>
          <figure anchor="ex-retrieve-locations">
            <name>Message Body of a Request to Retrieve Interconnection Locations</name>
            <sourcecode type="json"><![CDATA[
{
  "ietf-bearer-svc:locations": {
    "customer-name": "a future peer",
    "role": "ietf-ac-common:nni",
    "peer-as": 65536
  }  
}
]]></sourcecode>
          </figure>
          <t><xref target="ex-retrieve-locations-res"/> provides an example of a response received from the server with a list of available interconnection locations.</t>
          <figure anchor="ex-retrieve-locations-res">
            <name>Message Body of a Response to Retrieve Interconnection Locations</name>
            <sourcecode type="json"><![CDATA[
{
  "ietf-bearer-svc:locations": {
    "customer-name": "a future peer",
    "role": "ietf-ac-common:nni",
    "peer-as": 65536,
    "location": [
      {
        "location-name": "Location-X",
        "_comment": "other location attributes"        
      },
      {
        "_comment": "other locations"
      }
    ]
  }  
}
]]></sourcecode>
          </figure>
        </section>
        <section anchor="create-bearers-and-retrieve-bearer-references">
          <name>Create Bearers and Retrieve Bearer References</name>
          <t>A peer can then use the location information and select the ones where it can request new bearers. As shown in <xref target="ex-create-bearer-parent-ref"/>, the request includes a location reference which is known to the server (returned in <xref target="ex-retrieve-locations-res"/>).</t>
          <figure anchor="ex-create-bearer-parent-ref">
            <name>Message Body of a Request to Create a Bearer using a Provider-Assigned Reference</name>
            <sourcecode type="json"><![CDATA[
{
  "ietf-bearer-svc:bearers": {
    "bearer": [
      {
        "name": "a-name-choosen-by-client",
        "provider-location-reference": "Location-X",
        "customer-point": {
          "identified-by": "ietf-bearer-svc:device-id",
          "device": {
            "device-id": "ASBR_1_Location_X"
          }
        },
        "type": "ietf-bearer-svc:ethernet"
      }
    ]
  }
}
]]></sourcecode>
          </figure>
          <t>The bearer is then activated by the server as shown in <xref target="ex-create-bearer-parent-ref-res"/>. A "bearer-reference" is also returned. That reference can be used for subsequent AC activation requests.</t>
          <figure anchor="ex-create-bearer-parent-ref-res">
            <name>Message Body of a Response to Create a Bearer in a Specific Location</name>
            <sourcecode type="json"><![CDATA[
{
  "ietf-bearer-svc:bearers": {
    "bearer": [
      {
        "name": "a-name-choosen-by-client"
        "provider-location-reference": "Location-X",
        "customer-point": {
          "identified-by": "ietf-bearer-svc:device-id",
          "device": {
            "device-id": "ASBR_1_Location_X"
          }
        },
        "type": "ietf-bearer-svc:ethernet",
        "bearer-reference": "Location-X-Line-114",
        "status": {
          "oper-status": {
            "status": "ietf-vpn-common:op-up"
          }
        }
      }
    ]
  }
}
]]></sourcecode>
          </figure>
        </section>
        <section anchor="sec-manage-ac-bgp">
          <name>Manage ACs and BGP Sessions</name>
          <t>As depicted in <xref target="bgp-peer-network"/>, each network connects to the IXP switch via a bearer over which an AC is created.</t>
          <figure anchor="bgp-peer-network">
            <name>Simple Interconnection Topology</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="432" width="472" viewBox="0 0 472 432" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,32 L 8,176" fill="none" stroke="black"/>
                  <path d="M 8,272 L 8,416" fill="none" stroke="black"/>
                  <path d="M 24,96 L 24,144" fill="none" stroke="black"/>
                  <path d="M 24,336 L 24,384" fill="none" stroke="black"/>
                  <path d="M 152,112 L 152,144" fill="none" stroke="black"/>
                  <path d="M 152,336 L 152,384" fill="none" stroke="black"/>
                  <path d="M 192,32 L 192,104" fill="none" stroke="black"/>
                  <path d="M 192,160 L 192,176" fill="none" stroke="black"/>
                  <path d="M 192,272 L 192,344" fill="none" stroke="black"/>
                  <path d="M 192,360 L 192,416" fill="none" stroke="black"/>
                  <path d="M 248,208 L 248,240" fill="none" stroke="black"/>
                  <path d="M 312,112 L 312,208" fill="none" stroke="black"/>
                  <path d="M 312,240 L 312,352" fill="none" stroke="black"/>
                  <path d="M 368,208 L 368,240" fill="none" stroke="black"/>
                  <path d="M 8,32 L 192,32" fill="none" stroke="black"/>
                  <path d="M 24,96 L 152,96" fill="none" stroke="black"/>
                  <path d="M 160,112 L 312,112" fill="none" stroke="black"/>
                  <path d="M 24,144 L 152,144" fill="none" stroke="black"/>
                  <path d="M 8,176 L 192,176" fill="none" stroke="black"/>
                  <path d="M 248,208 L 304,208" fill="none" stroke="black"/>
                  <path d="M 320,208 L 368,208" fill="none" stroke="black"/>
                  <path d="M 176,224 L 248,224" fill="none" stroke="black"/>
                  <path d="M 368,224 L 424,224" fill="none" stroke="black"/>
                  <path d="M 248,240 L 304,240" fill="none" stroke="black"/>
                  <path d="M 320,240 L 368,240" fill="none" stroke="black"/>
                  <path d="M 8,272 L 192,272" fill="none" stroke="black"/>
                  <path d="M 24,336 L 152,336" fill="none" stroke="black"/>
                  <path d="M 160,352 L 312,352" fill="none" stroke="black"/>
                  <path d="M 24,384 L 152,384" fill="none" stroke="black"/>
                  <path d="M 8,416 L 192,416" fill="none" stroke="black"/>
                  <circle cx="144" cy="112" r="6" class="closeddot" fill="black"/>
                  <circle cx="144" cy="352" r="6" class="closeddot" fill="black"/>
                  <circle cx="152" cy="112" r="6" class="closeddot" fill="black"/>
                  <circle cx="152" cy="352" r="6" class="closeddot" fill="black"/>
                  <circle cx="312" cy="208" r="6" class="closeddot" fill="black"/>
                  <circle cx="312" cy="240" r="6" class="closeddot" fill="black"/>
                  <g class="text">
                    <text x="60" y="52">Provider</text>
                    <text x="128" y="52">Network</text>
                    <text x="168" y="52">A</text>
                    <text x="56" y="68">BGP</text>
                    <text x="112" y="68">ASN:65536</text>
                    <text x="284" y="68">Attachment-Circuit</text>
                    <text x="368" y="68">1</text>
                    <text x="332" y="84">Bearer=Location-X-Line-114</text>
                    <text x="68" y="116">ASBR-A-1</text>
                    <text x="220" y="132">192.0.2.1/24</text>
                    <text x="216" y="148">vlan-id:114</text>
                    <text x="152" y="228">...</text>
                    <text x="288" y="228">IXP</text>
                    <text x="316" y="228">SW</text>
                    <text x="448" y="228">...</text>
                    <text x="60" y="292">Provider</text>
                    <text x="128" y="292">Network</text>
                    <text x="168" y="292">B</text>
                    <text x="56" y="308">BGP</text>
                    <text x="112" y="308">ASN:65537</text>
                    <text x="232" y="340">.2/24</text>
                    <text x="68" y="356">ASBR-B-1</text>
                    <text x="268" y="372">Attachment-Circuit</text>
                    <text x="352" y="372">2</text>
                    <text x="308" y="388">Bearer=Location-X-Line-448</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
.----------------------.                       
|  Provider Network A  |                       
|    BGP ASN:65536     |  Attachment-Circuit 1 
|                      |    Bearer=Location-X-Line-114    
| .---------------.    |        
| | ASBR-A-1     **-------------------+
| |               |  192.0.2.1/24     |
| '---------------'  vlan-id:114      |
|                      |              |           
'----------------------'              |
                                      | 
                              .-------*------.  
                 ... ---------+   IXP SW     +------- ...
                              '-------*------'
                                      |
.----------------------.              |
|  Provider Network B  |              |
|    BGP ASN:65537     |              |
|                      |              |
| +---------------+    |  .2/24       |
| | ASBR-B-1     **-------------------+
| |               |    |Attachment-Circuit 2
| '---------------'    | Bearer=Location-X-Line-448
|                      |
'----------------------'
]]></artwork>
            </artset>
          </figure>
          <t>The AC configuration (<xref target="bgp-peer-network-add-attachment-circuit"/>) includes parameters such as VLAN configuration, IP addresses, MTU, and any additional settings required for connectivity. The peering location is inferred from the "bearer-reference".</t>
          <figure anchor="bgp-peer-network-add-attachment-circuit">
            <name>Message Body of a Request to Create an AC to Connect to an IXP</name>
            <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "Attachment Circuit 1",
        "customer-name": "Network A",
        "description": "An AC to IXP SW in Location X",
        "requested-start": "2025-12-12T05:00:00.00Z",
        "peer-sap-id": [
          "asbr-1-interface"
        ],
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q"
          },
          "bearer-reference": "Location-X-Line-114"
        }
      }
    ]
  }
}
]]></sourcecode>
          </figure>
          <t><xref target="bgp-peer-network-response"/> shows the received response with the required information for the activation of the AC.</t>
          <figure anchor="bgp-peer-network-response">
            <name>Message Body of a Response to an AC Request to Connect to an IXP</name>
            <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "Attachment Circuit 1",
        "customer-name": "Network A",
        "description": "An AC to IXP SW in Location X",
        "role": "ietf-ac-common:public-nni",
        "actual-start": "2025-12-12T05:00:00.00Z",
        "peer-sap-id": [
          "asbr-1-interface"
        ],
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "tag-type": "ietf-vpn-common:c-vlan",
              "cvlan-id": 114
            }
          },
          "bearer-reference": "Location-X-Line-114"
        },
        "ip-connection": {
          "ipv4": {
            "prefix-length": 24,
            "address": [
              {
                "address-id": "1",
                "customer-address": "192.0.2.1"
              }
            ]
          }
        }
      }
    ]
  }
}
]]></sourcecode>
          </figure>
          <t>Once the ACs are established, BGP peering sessions can be configured between routers of the participating networks. BGP sessions can be established via a route server or between two networks. For the sake of illustration, let us assume that BGP sessions are established directly between two network. <xref target="bgp-peer-network-add-bgp-attachment-circuit"/> shows an example of a request to add a BGP session to an existing AC. The properties of that AC are not repeated in this request because that information is already communicated during the creation of the AC.</t>
          <figure anchor="bgp-peer-network-add-bgp-attachment-circuit">
            <name>Message Body of a Request to Create a BGP Session over an AC</name>
            <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "Attachment Circuit 1",
        "routing-protocols": {
          "routing-protocol": [
            {
              "id": "BGP",
              "type": "ietf-vpn-common:bgp-routing",
              "bgp": {
                "neighbor": [
                  {
                    "id": "Session-Network-B",
                    "remote-address": "192.0.2.1",
                    "local-as": 65537,
                    "peer-as": 65536,
                    "address-family": "ietf-vpn-common:ipv4",
                    "authentication": {
                      "enabled": true,
                      "keying-material": {
                        "key-id": 1,
                        "key": "test##"
                      }
                    },
                    "status": {
                      "admin-status": {
                        "status": "ietf-vpn-common:admin-up"
                      }
                    }
                  }
                ]
              }
            }
          ]
        }
      }
    ]
  }
}
]]></sourcecode>
          </figure>
          <t><xref target="bgp-awaiting-validation"/> provides the example of a response which indicates that the request is awaiting validation. The response includes also a server-assigned reference for this BGP session.</t>
          <figure anchor="bgp-awaiting-validation">
            <name>Message Body of a Response for a BGP Session Awaiting Validation</name>
            <sourcecode type="json"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "Attachment Circuit 1",
        "role": "ietf-ac-common:public-nni",
        "routing-protocols": {
          "routing-protocol": [
            {
              "id": "BGP",
              "type": "ietf-vpn-common:bgp-routing",
              "bgp": {
                "neighbor": [
                  {
                    "id": "Session-Network-B",
                    "server-reference": "peering-svc-45857",
                    "local-address": "192.0.2.2",
                    "remote-address": "192.0.2.1",
                    "local-as": 65537,
                    "peer-as": 65536,
                    "address-family": "ietf-vpn-common:ipv4",
                    "authentication": {
                      "enabled": true,
                      "keying-material": {
                        "key-id": 1,
                        "key": "test##"
                      }
                    },
                    "status": {
                      "admin-status": {
                        "status": "ietf-ac-common:awaiting-\
                                                          validation"
                      }
                    }
                  }
                ]
              }
            }
          ]
        }
      }
    ]
  }
}
]]></sourcecode>
          </figure>
          <t>Once validation is accomplished, a status update is communicated back to the requestor. The BGP session can then be established over the AC. The BGP session configuration includes parameters such as neighbor IP addresses, ASNs, authentication settings (if required), etc. The configuration is triggered at each side of the BGP connection.</t>
          <figure anchor="bgp-peering-all-sessions">
            <name>Message Body of a Response to Report All Active BGP sessions over an AC</name>
            <sourcecode type="json"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "ietf-ac-svc:routing-protocols": {
    "routing-protocol": [
      {
        "id": "BGP",
        "type": "ietf-vpn-common:bgp-routing",
        "bgp": {
          "neighbor": [
            {
              "id": "Session-Network-B",
              "server-reference": "peering-svc-45857",
              "local-address": "192.0.2.2",
              "remote-address": "192.0.2.1",
              "local-as": 65537,
              "peer-as": 65536,
              "address-family": "ietf-vpn-common:ipv4",
              "authentication": {
                "enabled": true,
                "keying-material": {
                  "key-id": 1,
                  "key": "test##"
                }
              },
              "status": {
                "admin-status": {
                  "status": "ietf-ac-common:up"
                }
              }
            },
            {
              "id": "Session-Network-C",
              "server-reference": "peering-svc-7866",
              "local-address": "192.0.2.3",
              "remote-address": "192.0.2.1",
              "local-as": 65538,
              "peer-as": 65536,
              "address-family": "ietf-vpn-common:ipv4",
              "authentication": {
                "enabled": true,
                "keying-material": {
                  "key-id": 1,
                  "key": "##test##"
                }
              },
              "status": {
                "admin-status": {
                  "status": "ietf-ac-common:up"
                }
              }
            },
            {
              "_comment": "list of other active BGP sessions over \
                                                             this AC"
            }
          ]
        }
      }
    ]
  }
}
]]></sourcecode>
          </figure>
        </section>
      </section>
      <section anchor="sec-cloudified-nfs">
        <name>Connectivity of Cloud Network Functions</name>
        <section anchor="scope">
          <name>Scope</name>
          <t>This section demonstrates how the AC service model permits to manage connectivity requirements for complex Network Functions (NFs) - containerized or virtualized -  that are typically deployed in Telco networks. This integration leverages the concept of "parent AC" to decouple physical and logical connectivity so that several ACs can shares Layer 2 and Layer 3 resources. This approach provides flexibility, scalability, and API stability.</t>
          <ul empty="true">
            <li>
              <t>NF is used to refer to the SF defined <xref target="RFC7665"/>. NF is used here as this term is widely used outside the IETF.</t>
            </li>
          </ul>
          <t>The NFs have the following characteristics:</t>
          <ul spacing="normal">
            <li>
              <t>The NF is distributed on a set of compute nodes with scaled-out and redundant instances.</t>
            </li>
            <li>
              <t>The NF has two distinct type of instances: user plane ("nf-up") and routing control plane ("nf-cp").</t>
            </li>
            <li>
              <t>The User plane component can be distributed among the first 8 compute nodes ("compute-01" to "compute-08") to achieve high performance.</t>
            </li>
            <li>
              <t>The Control plane is deployed in a redundant fashion on two instances running on distinct compute nodes ("compute-09" and "compute-10").</t>
            </li>
            <li>
              <t>The NF is attached to distinct networks, each making use of a dedicated VLAN. These VLANs are therefore instantiated as separate ACs. From a realization standpoint, the NF interface connectivity is generally provided thanks to MacVLAN or Single Root I/O Virtualization (SR-IOV). For the sake of simplicity only two VLANs are presented in this example, additional VLANs are configured following a similar logic.</t>
            </li>
          </ul>
        </section>
        <section anchor="physical-infrastructure">
          <name>Physical Infrastructure</name>
          <t><xref target="cloud-parent-infra"/> describes the physical infrastructure. The compute nodes (customer) are attached to the provider infrastructure thanks to a set of physical links on which attachment circuits are provisioned (i.e., "compute-XX-nicY"). The provider infrastructure can be realized in multiple ways, such as IP Fabric, Layer 2/Layer 3 Edge Routers. This document does not intend to detail these aspects.</t>
          <figure anchor="cloud-parent-infra">
            <name>Example Physical Topology for Cloud Deployment</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="368" width="552" viewBox="0 0 552 368" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 376,48 L 432,48" fill="none" stroke="black"/>
                  <path d="M 128,80 L 312,80" fill="none" stroke="black"/>
                  <path d="M 376,80 L 432,80" fill="none" stroke="black"/>
                  <path d="M 376,96 L 432,96" fill="none" stroke="black"/>
                  <path d="M 464,96 L 520,96" fill="none" stroke="black"/>
                  <path d="M 376,128 L 432,128" fill="none" stroke="black"/>
                  <path d="M 464,128 L 520,128" fill="none" stroke="black"/>
                  <path d="M 376,144 L 432,144" fill="none" stroke="black"/>
                  <path d="M 464,144 L 520,144" fill="none" stroke="black"/>
                  <path d="M 128,160 L 312,160" fill="none" stroke="black"/>
                  <path d="M 376,176 L 432,176" fill="none" stroke="black"/>
                  <path d="M 464,176 L 520,176" fill="none" stroke="black"/>
                  <path d="M 376,192 L 432,192" fill="none" stroke="black"/>
                  <path d="M 376,224 L 432,224" fill="none" stroke="black"/>
                  <path d="M 128,304 L 312,304" fill="none" stroke="black"/>
                  <g class="text">
                    <text x="320" y="36">┌</text>
                    <text x="336" y="36">-</text>
                    <text x="352" y="36">-</text>
                    <text x="368" y="36">-</text>
                    <text x="384" y="36">-</text>
                    <text x="400" y="36">-</text>
                    <text x="416" y="36">-</text>
                    <text x="432" y="36">-</text>
                    <text x="448" y="36">-</text>
                    <text x="464" y="36">-</text>
                    <text x="480" y="36">-</text>
                    <text x="496" y="36">-</text>
                    <text x="512" y="36">-</text>
                    <text x="528" y="36">-</text>
                    <text x="544" y="36">┐</text>
                    <text x="16" y="52">┌</text>
                    <text x="32" y="52">-</text>
                    <text x="48" y="52">-</text>
                    <text x="64" y="52">-</text>
                    <text x="80" y="52">-</text>
                    <text x="96" y="52">-</text>
                    <text x="112" y="52">-</text>
                    <text x="204" y="52">bearer</text>
                    <text x="240" y="52">=</text>
                    <text x="368" y="52">┌</text>
                    <text x="440" y="52">┐</text>
                    <text x="120" y="68">|</text>
                    <text x="216" y="68">compute-01-nic1</text>
                    <text x="320" y="68">|</text>
                    <text x="368" y="68">│</text>
                    <text x="440" y="68">│</text>
                    <text x="544" y="68">|</text>
                    <text x="16" y="84">|</text>
                    <text x="68" y="84">compute-01</text>
                    <text x="368" y="84">└</text>
                    <text x="440" y="84">┘</text>
                    <text x="120" y="100">|</text>
                    <text x="320" y="100">|</text>
                    <text x="368" y="100">┌</text>
                    <text x="440" y="100">┐</text>
                    <text x="456" y="100">┌</text>
                    <text x="528" y="100">┐</text>
                    <text x="544" y="100">|</text>
                    <text x="16" y="116">└</text>
                    <text x="32" y="116">-</text>
                    <text x="48" y="116">-</text>
                    <text x="64" y="116">-</text>
                    <text x="80" y="116">-</text>
                    <text x="96" y="116">-</text>
                    <text x="112" y="116">-</text>
                    <text x="368" y="116">│</text>
                    <text x="440" y="116">│</text>
                    <text x="456" y="116">│</text>
                    <text x="528" y="116">│</text>
                    <text x="16" y="132">┌</text>
                    <text x="32" y="132">-</text>
                    <text x="48" y="132">-</text>
                    <text x="64" y="132">-</text>
                    <text x="80" y="132">-</text>
                    <text x="96" y="132">-</text>
                    <text x="112" y="132">-</text>
                    <text x="204" y="132">bearer</text>
                    <text x="240" y="132">=</text>
                    <text x="320" y="132">|</text>
                    <text x="368" y="132">└</text>
                    <text x="440" y="132">┘</text>
                    <text x="456" y="132">└</text>
                    <text x="528" y="132">┘</text>
                    <text x="544" y="132">|</text>
                    <text x="120" y="148">|</text>
                    <text x="216" y="148">compute-02-nic2</text>
                    <text x="368" y="148">┌</text>
                    <text x="440" y="148">┐</text>
                    <text x="456" y="148">┌</text>
                    <text x="528" y="148">┐</text>
                    <text x="16" y="164">|</text>
                    <text x="68" y="164">compute-02</text>
                    <text x="320" y="164">|</text>
                    <text x="368" y="164">│</text>
                    <text x="440" y="164">│</text>
                    <text x="456" y="164">│</text>
                    <text x="528" y="164">│</text>
                    <text x="544" y="164">|</text>
                    <text x="120" y="180">|</text>
                    <text x="368" y="180">└</text>
                    <text x="440" y="180">┘</text>
                    <text x="456" y="180">└</text>
                    <text x="528" y="180">┘</text>
                    <text x="16" y="196">└</text>
                    <text x="32" y="196">-</text>
                    <text x="48" y="196">-</text>
                    <text x="64" y="196">-</text>
                    <text x="80" y="196">-</text>
                    <text x="96" y="196">-</text>
                    <text x="112" y="196">-</text>
                    <text x="320" y="196">|</text>
                    <text x="368" y="196">┌</text>
                    <text x="440" y="196">┐</text>
                    <text x="544" y="196">|</text>
                    <text x="368" y="212">│</text>
                    <text x="440" y="212">│</text>
                    <text x="216" y="228">[...]</text>
                    <text x="320" y="228">|</text>
                    <text x="368" y="228">└</text>
                    <text x="440" y="228">┘</text>
                    <text x="544" y="228">|</text>
                    <text x="320" y="260">|</text>
                    <text x="544" y="260">|</text>
                    <text x="8" y="276">┌</text>
                    <text x="24" y="276">-</text>
                    <text x="40" y="276">-</text>
                    <text x="56" y="276">-</text>
                    <text x="72" y="276">-</text>
                    <text x="88" y="276">-</text>
                    <text x="104" y="276">-</text>
                    <text x="120" y="276">┐</text>
                    <text x="204" y="276">bearer</text>
                    <text x="240" y="276">=</text>
                    <text x="396" y="276">Provider</text>
                    <text x="464" y="276">Network</text>
                    <text x="216" y="292">compute-10-nic0</text>
                    <text x="320" y="292">|</text>
                    <text x="436" y="292">Infrastructure</text>
                    <text x="544" y="292">|</text>
                    <text x="8" y="308">|</text>
                    <text x="60" y="308">compute-10</text>
                    <text x="120" y="308">|</text>
                    <text x="368" y="308">(IP</text>
                    <text x="416" y="308">Fabric,</text>
                    <text x="484" y="308">Gateways</text>
                    <text x="320" y="324">|</text>
                    <text x="440" y="324">etc.)</text>
                    <text x="544" y="324">|</text>
                    <text x="8" y="340">└</text>
                    <text x="24" y="340">-</text>
                    <text x="40" y="340">-</text>
                    <text x="56" y="340">-</text>
                    <text x="72" y="340">-</text>
                    <text x="88" y="340">-</text>
                    <text x="104" y="340">-</text>
                    <text x="120" y="340">┘</text>
                    <text x="320" y="356">└</text>
                    <text x="336" y="356">-</text>
                    <text x="352" y="356">-</text>
                    <text x="368" y="356">-</text>
                    <text x="384" y="356">-</text>
                    <text x="400" y="356">-</text>
                    <text x="416" y="356">-</text>
                    <text x="432" y="356">-</text>
                    <text x="448" y="356">-</text>
                    <text x="464" y="356">-</text>
                    <text x="480" y="356">-</text>
                    <text x="496" y="356">-</text>
                    <text x="512" y="356">-</text>
                    <text x="528" y="356">-</text>
                    <text x="544" y="356">┘</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
                                       ┌ - - - - - - - - - - - - - ┐
 ┌ - - - - - -        bearer =               ┌--------┐             
              |    compute-01-nic1     |     │        │            |
 | compute-01  ------------------------      └--------┘             
              |                        |     ┌--------┐ ┌--------┐ |
 └ - - - - - -                               │        │ │        │  
 ┌ - - - - - -        bearer =         |     └--------┘ └--------┘ |
              |    compute-02-nic2           ┌--------┐ ┌--------┐  
 | compute-02  ------------------------|     │        │ │        │ |
              |                              └--------┘ └--------┘  
 └ - - - - - -                         |     ┌--------┐            |
                                             │        │             
                        [...]          |     └--------┘            |
                                                                   
                                       |                           |
┌ - - - - - - ┐       bearer =               Provider Network
                   compute-10-nic0     |       Infrastructure      |
| compute-10  |------------------------     (IP Fabric, Gateways    
                                       |            etc.)          |
└ - - - - - - ┘                                                    
                                       └ - - - - - - - - - - - - - ┘
]]></artwork>
            </artset>
          </figure>
        </section>
        <section anchor="nfs-deployment">
          <name>NFs Deployment</name>
          <t>The NFs are deployed on this infrastructure in the following way:</t>
          <ul spacing="normal">
            <li>
              <t>Configuration of a parent AC as a centralized attachment for "vlan 100". The parent AC captures Layer 2 and Layer 3 properties for this VLAN: vlan-id, IP default gateway and subnet, IP address pool for NFs endpoints, static routes with BFD to user plane and BGP configuration to control plane NFs.</t>
            </li>
            <li>
              <t>Configuration of a parent AC as a centralized attachment for "vlan 200". This vlan is for Layer 2 connectivity between NFs (no IP configuration in the provider network).</t>
            </li>
            <li>
              <t>"Child ACs" binding bearers to parent ACs for "vlan 100" and "vlan 200".</t>
            </li>
            <li>
              <t>The deployment deploys the network service to all compute nodes ("compute-01" to "compute-10"), even though the NF is not instantiated on "compute-07"/"compute-08". This approach permits to handle compute failures and scale-out scenarios in a reactive and flexible fashion thanks to a pre-provisioned networking logic.</t>
            </li>
          </ul>
          <figure anchor="cloud-parent-logical">
            <name>Logical Topology of the NFs Deployment</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="1088" width="536" viewBox="0 0 536 1088" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,896 L 8,1040" fill="none" stroke="black"/>
                  <path d="M 16,288 L 16,304" fill="none" stroke="black"/>
                  <path d="M 16,384 L 16,400" fill="none" stroke="black"/>
                  <path d="M 16,496 L 16,512" fill="none" stroke="black"/>
                  <path d="M 16,720 L 16,736" fill="none" stroke="black"/>
                  <path d="M 16,816 L 16,832" fill="none" stroke="black"/>
                  <path d="M 72,288 L 72,304" fill="none" stroke="black"/>
                  <path d="M 72,384 L 72,400" fill="none" stroke="black"/>
                  <path d="M 72,496 L 72,512" fill="none" stroke="black"/>
                  <path d="M 72,720 L 72,736" fill="none" stroke="black"/>
                  <path d="M 72,816 L 72,832" fill="none" stroke="black"/>
                  <path d="M 200,48 L 200,176" fill="none" stroke="black"/>
                  <path d="M 296,896 L 296,1040" fill="none" stroke="black"/>
                  <path d="M 360,320 L 360,368" fill="none" stroke="black"/>
                  <path d="M 360,416 L 360,464" fill="none" stroke="black"/>
                  <path d="M 376,200 L 376,224" fill="none" stroke="black"/>
                  <path d="M 440,256 L 440,272" fill="none" stroke="black"/>
                  <path d="M 512,320 L 512,368" fill="none" stroke="black"/>
                  <path d="M 512,416 L 512,464" fill="none" stroke="black"/>
                  <path d="M 520,48 L 520,176" fill="none" stroke="black"/>
                  <path d="M 208,32 L 512,32" fill="none" stroke="black"/>
                  <path d="M 208,192 L 512,192" fill="none" stroke="black"/>
                  <path d="M 384,240 L 432,240" fill="none" stroke="black"/>
                  <path d="M 24,272 L 64,272" fill="none" stroke="black"/>
                  <path d="M 88,288 L 144,288" fill="none" stroke="black"/>
                  <path d="M 216,288 L 328,288" fill="none" stroke="black"/>
                  <path d="M 88,304 L 144,304" fill="none" stroke="black"/>
                  <path d="M 216,304 L 328,304" fill="none" stroke="black"/>
                  <path d="M 368,304 L 504,304" fill="none" stroke="black"/>
                  <path d="M 24,320 L 64,320" fill="none" stroke="black"/>
                  <path d="M 24,368 L 64,368" fill="none" stroke="black"/>
                  <path d="M 88,384 L 144,384" fill="none" stroke="black"/>
                  <path d="M 216,384 L 328,384" fill="none" stroke="black"/>
                  <path d="M 368,384 L 504,384" fill="none" stroke="black"/>
                  <path d="M 88,400 L 144,400" fill="none" stroke="black"/>
                  <path d="M 216,400 L 328,400" fill="none" stroke="black"/>
                  <path d="M 368,400 L 504,400" fill="none" stroke="black"/>
                  <path d="M 24,416 L 64,416" fill="none" stroke="black"/>
                  <path d="M 24,480 L 64,480" fill="none" stroke="black"/>
                  <path d="M 368,480 L 504,480" fill="none" stroke="black"/>
                  <path d="M 88,496 L 144,496" fill="none" stroke="black"/>
                  <path d="M 216,496 L 328,496" fill="none" stroke="black"/>
                  <path d="M 88,512 L 144,512" fill="none" stroke="black"/>
                  <path d="M 216,512 L 328,512" fill="none" stroke="black"/>
                  <path d="M 24,528 L 64,528" fill="none" stroke="black"/>
                  <path d="M 88,576 L 152,576" fill="none" stroke="black"/>
                  <path d="M 224,576 L 328,576" fill="none" stroke="black"/>
                  <path d="M 88,592 L 152,592" fill="none" stroke="black"/>
                  <path d="M 224,592 L 328,592" fill="none" stroke="black"/>
                  <path d="M 88,640 L 152,640" fill="none" stroke="black"/>
                  <path d="M 224,640 L 328,640" fill="none" stroke="black"/>
                  <path d="M 88,656 L 152,656" fill="none" stroke="black"/>
                  <path d="M 224,656 L 328,656" fill="none" stroke="black"/>
                  <path d="M 88,688 L 168,688" fill="none" stroke="black"/>
                  <path d="M 200,688 L 312,688" fill="none" stroke="black"/>
                  <path d="M 24,704 L 64,704" fill="none" stroke="black"/>
                  <path d="M 88,720 L 144,720" fill="none" stroke="black"/>
                  <path d="M 216,720 L 328,720" fill="none" stroke="black"/>
                  <path d="M 88,736 L 144,736" fill="none" stroke="black"/>
                  <path d="M 216,736 L 328,736" fill="none" stroke="black"/>
                  <path d="M 24,752 L 64,752" fill="none" stroke="black"/>
                  <path d="M 88,784 L 176,784" fill="none" stroke="black"/>
                  <path d="M 208,784 L 320,784" fill="none" stroke="black"/>
                  <path d="M 24,800 L 64,800" fill="none" stroke="black"/>
                  <path d="M 88,816 L 152,816" fill="none" stroke="black"/>
                  <path d="M 224,816 L 328,816" fill="none" stroke="black"/>
                  <path d="M 88,832 L 152,832" fill="none" stroke="black"/>
                  <path d="M 224,832 L 328,832" fill="none" stroke="black"/>
                  <path d="M 24,848 L 64,848" fill="none" stroke="black"/>
                  <path d="M 16,880 L 288,880" fill="none" stroke="black"/>
                  <path d="M 312,960 L 344,960" fill="none" stroke="black"/>
                  <path d="M 16,1056 L 288,1056" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="352,960 340,954.4 340,965.6" fill="black" transform="rotate(0,344,960)"/>
                  <polygon class="arrowhead" points="328,784 316,778.4 316,789.6" fill="black" transform="rotate(0,320,784)"/>
                  <polygon class="arrowhead" points="320,688 308,682.4 308,693.6" fill="black" transform="rotate(0,312,688)"/>
                  <polygon class="arrowhead" points="96,784 84,778.4 84,789.6" fill="black" transform="rotate(180,88,784)"/>
                  <polygon class="arrowhead" points="96,688 84,682.4 84,693.6" fill="black" transform="rotate(180,88,688)"/>
                  <g class="text">
                    <text x="200" y="36">┌</text>
                    <text x="520" y="36">┐</text>
                    <text x="220" y="52">VLAN</text>
                    <text x="260" y="52">100:</text>
                    <text x="228" y="84">Static</text>
                    <text x="280" y="84">route</text>
                    <text x="316" y="84">to</text>
                    <text x="360" y="84">virtual</text>
                    <text x="408" y="84">BGP</text>
                    <text x="436" y="84">NH</text>
                    <text x="460" y="84">in</text>
                    <text x="492" y="84">user</text>
                    <text x="224" y="100">plane</text>
                    <text x="288" y="100">instances</text>
                    <text x="340" y="100">NF</text>
                    <text x="372" y="100">with</text>
                    <text x="408" y="100">BFD</text>
                    <text x="472" y="100">protection:</text>
                    <text x="208" y="132">-</text>
                    <text x="288" y="132">198.51.100.100/32</text>
                    <text x="376" y="132">via</text>
                    <text x="432" y="132">192.0.2.1</text>
                    <text x="208" y="148">-</text>
                    <text x="288" y="148">198.51.100.100/32</text>
                    <text x="376" y="148">via</text>
                    <text x="432" y="148">192.0.2.2</text>
                    <text x="216" y="164">...</text>
                    <text x="208" y="180">-</text>
                    <text x="288" y="180">198.51.100.100/32</text>
                    <text x="376" y="180">via</text>
                    <text x="432" y="180">192.0.2.8</text>
                    <text x="200" y="196">└</text>
                    <text x="520" y="196">┘</text>
                    <text x="124" y="228">vlan</text>
                    <text x="160" y="228">100</text>
                    <text x="188" y="228">IP</text>
                    <text x="228" y="228">subnet</text>
                    <text x="336" y="228">┌</text>
                    <text x="352" y="228">-</text>
                    <text x="368" y="228">-</text>
                    <text x="384" y="228">-</text>
                    <text x="400" y="228">-</text>
                    <text x="416" y="228">-</text>
                    <text x="432" y="228">-</text>
                    <text x="448" y="228">-</text>
                    <text x="464" y="228">-</text>
                    <text x="480" y="228">-</text>
                    <text x="496" y="228">-</text>
                    <text x="512" y="228">-</text>
                    <text x="528" y="228">┐</text>
                    <text x="188" y="244">192.0.2.0/24</text>
                    <text x="376" y="244">└</text>
                    <text x="440" y="244">┐</text>
                    <text x="8" y="260">┌</text>
                    <text x="24" y="260">-</text>
                    <text x="40" y="260">-</text>
                    <text x="56" y="260">-</text>
                    <text x="72" y="260">-</text>
                    <text x="336" y="260">|</text>
                    <text x="528" y="260">|</text>
                    <text x="16" y="276">┌</text>
                    <text x="84" y="276">┐|.1</text>
                    <text x="148" y="276">&lt;-</text>
                    <text x="176" y="276">bfd</text>
                    <text x="204" y="276">-&gt;</text>
                    <text x="8" y="292">|</text>
                    <text x="44" y="292">nf-up1</text>
                    <text x="180" y="292">vlan-100</text>
                    <text x="336" y="292">|</text>
                    <text x="440" y="292">▼</text>
                    <text x="528" y="292">|</text>
                    <text x="80" y="308">|</text>
                    <text x="180" y="308">vlan-200</text>
                    <text x="360" y="308">┌</text>
                    <text x="512" y="308">┐</text>
                    <text x="12" y="324">|└</text>
                    <text x="72" y="324">┘</text>
                    <text x="336" y="324">|</text>
                    <text x="396" y="324">Bridge</text>
                    <text x="444" y="324">vlan</text>
                    <text x="480" y="324">100</text>
                    <text x="528" y="324">|</text>
                    <text x="44" y="340">compute-01</text>
                    <text x="432" y="340">(l2/l3)</text>
                    <text x="8" y="356">┌</text>
                    <text x="24" y="356">-</text>
                    <text x="40" y="356">-</text>
                    <text x="56" y="356">-</text>
                    <text x="72" y="356">-</text>
                    <text x="336" y="356">|</text>
                    <text x="396" y="356">IP</text>
                    <text x="444" y="356">gateway:</text>
                    <text x="528" y="356">|</text>
                    <text x="16" y="372">┌</text>
                    <text x="84" y="372">┐|.2</text>
                    <text x="148" y="372">&lt;-</text>
                    <text x="176" y="372">bfd</text>
                    <text x="204" y="372">-&gt;</text>
                    <text x="436" y="372">192.0.2.254/24</text>
                    <text x="8" y="388">|</text>
                    <text x="44" y="388">nf-up2</text>
                    <text x="180" y="388">vlan-100</text>
                    <text x="336" y="388">|</text>
                    <text x="360" y="388">└</text>
                    <text x="512" y="388">┘</text>
                    <text x="528" y="388">|</text>
                    <text x="80" y="404">|</text>
                    <text x="180" y="404">vlan-200</text>
                    <text x="360" y="404">┌</text>
                    <text x="512" y="404">┐</text>
                    <text x="12" y="420">|└</text>
                    <text x="72" y="420">┘</text>
                    <text x="336" y="420">|</text>
                    <text x="528" y="420">|</text>
                    <text x="44" y="436">compute-02</text>
                    <text x="396" y="436">Bridge</text>
                    <text x="444" y="436">vlan</text>
                    <text x="480" y="436">200</text>
                    <text x="184" y="452">[...]</text>
                    <text x="336" y="452">|</text>
                    <text x="408" y="452">(l2</text>
                    <text x="448" y="452">only)</text>
                    <text x="528" y="452">|</text>
                    <text x="8" y="468">┌</text>
                    <text x="24" y="468">-</text>
                    <text x="40" y="468">-</text>
                    <text x="56" y="468">-</text>
                    <text x="72" y="468">-</text>
                    <text x="16" y="484">┌</text>
                    <text x="84" y="484">┐|.6</text>
                    <text x="148" y="484">&lt;-</text>
                    <text x="176" y="484">bfd</text>
                    <text x="204" y="484">-&gt;</text>
                    <text x="336" y="484">|</text>
                    <text x="360" y="484">└</text>
                    <text x="512" y="484">┘</text>
                    <text x="528" y="484">|</text>
                    <text x="8" y="500">|</text>
                    <text x="44" y="500">nf-up6</text>
                    <text x="180" y="500">vlan-100</text>
                    <text x="80" y="516">|</text>
                    <text x="180" y="516">vlan-200</text>
                    <text x="336" y="516">|</text>
                    <text x="528" y="516">|</text>
                    <text x="12" y="532">|└</text>
                    <text x="72" y="532">┘</text>
                    <text x="44" y="548">compute-06</text>
                    <text x="336" y="548">|</text>
                    <text x="528" y="548">|</text>
                    <text x="16" y="564">┌</text>
                    <text x="32" y="564">-</text>
                    <text x="48" y="564">-</text>
                    <text x="64" y="564">-</text>
                    <text x="80" y="564">┐</text>
                    <text x="188" y="580">vlan-100</text>
                    <text x="336" y="580">|</text>
                    <text x="528" y="580">|</text>
                    <text x="16" y="596">|</text>
                    <text x="80" y="596">|</text>
                    <text x="188" y="596">vlan-200</text>
                    <text x="44" y="612">compute-07</text>
                    <text x="336" y="612">|</text>
                    <text x="528" y="612">|</text>
                    <text x="16" y="628">┌</text>
                    <text x="32" y="628">-</text>
                    <text x="48" y="628">-</text>
                    <text x="64" y="628">-</text>
                    <text x="80" y="628">┐</text>
                    <text x="188" y="644">vlan-100</text>
                    <text x="336" y="644">|</text>
                    <text x="528" y="644">|</text>
                    <text x="16" y="660">|</text>
                    <text x="80" y="660">|</text>
                    <text x="188" y="660">vlan-200</text>
                    <text x="44" y="676">compute-08</text>
                    <text x="336" y="676">|</text>
                    <text x="528" y="676">|</text>
                    <text x="8" y="692">┌</text>
                    <text x="24" y="692">-</text>
                    <text x="40" y="692">-</text>
                    <text x="56" y="692">-</text>
                    <text x="72" y="692">-</text>
                    <text x="184" y="692">BGP</text>
                    <text x="16" y="708">┌</text>
                    <text x="84" y="708">┐|.9</text>
                    <text x="300" y="708">.252</text>
                    <text x="336" y="708">|</text>
                    <text x="528" y="708">|</text>
                    <text x="8" y="724">|</text>
                    <text x="44" y="724">nf-cp1</text>
                    <text x="180" y="724">vlan-100</text>
                    <text x="80" y="740">|</text>
                    <text x="180" y="740">vlan-200</text>
                    <text x="336" y="740">|</text>
                    <text x="528" y="740">|</text>
                    <text x="12" y="756">|└</text>
                    <text x="72" y="756">┘</text>
                    <text x="44" y="772">compute-09</text>
                    <text x="336" y="772">|</text>
                    <text x="528" y="772">|</text>
                    <text x="8" y="788">┌</text>
                    <text x="24" y="788">-</text>
                    <text x="40" y="788">-</text>
                    <text x="56" y="788">-</text>
                    <text x="72" y="788">-</text>
                    <text x="192" y="788">BGP</text>
                    <text x="16" y="804">┌</text>
                    <text x="88" y="804">┐|.10</text>
                    <text x="308" y="804">.253</text>
                    <text x="336" y="804">|</text>
                    <text x="528" y="804">|</text>
                    <text x="8" y="820">|</text>
                    <text x="44" y="820">nf-cp2</text>
                    <text x="188" y="820">vlan-100</text>
                    <text x="80" y="836">|</text>
                    <text x="188" y="836">vlan-200</text>
                    <text x="336" y="836">└</text>
                    <text x="352" y="836">-</text>
                    <text x="368" y="836">-</text>
                    <text x="384" y="836">-</text>
                    <text x="400" y="836">-</text>
                    <text x="416" y="836">-</text>
                    <text x="432" y="836">-</text>
                    <text x="448" y="836">-</text>
                    <text x="464" y="836">-</text>
                    <text x="480" y="836">-</text>
                    <text x="496" y="836">-</text>
                    <text x="512" y="836">-</text>
                    <text x="528" y="836">┘</text>
                    <text x="12" y="852">|└</text>
                    <text x="72" y="852">┘</text>
                    <text x="44" y="868">compute-10</text>
                    <text x="8" y="884">┌</text>
                    <text x="296" y="884">┐</text>
                    <text x="32" y="900">nf-cp</text>
                    <text x="88" y="900">routing</text>
                    <text x="136" y="900">for</text>
                    <text x="172" y="900">VLAN</text>
                    <text x="208" y="900">100</text>
                    <text x="52" y="916">advertises</text>
                    <text x="120" y="916">pools</text>
                    <text x="164" y="916">with</text>
                    <text x="200" y="916">1:N</text>
                    <text x="244" y="916">backup</text>
                    <text x="36" y="932">route.</text>
                    <text x="24" y="948">BGP</text>
                    <text x="72" y="948">UPDATE:</text>
                    <text x="72" y="964">203.0.113.0/24,</text>
                    <text x="148" y="964">NH</text>
                    <text x="168" y="964">=</text>
                    <text x="236" y="964">198.51.100.100</text>
                    <text x="72" y="980">203.0.113.0/28,</text>
                    <text x="148" y="980">NH</text>
                    <text x="168" y="980">=</text>
                    <text x="216" y="980">192.0.2.1</text>
                    <text x="76" y="996">203.0.113.16/28,</text>
                    <text x="156" y="996">NH</text>
                    <text x="176" y="996">=</text>
                    <text x="224" y="996">192.0.2.2</text>
                    <text x="24" y="1012">...</text>
                    <text x="76" y="1028">203.0.113.80/28,</text>
                    <text x="156" y="1028">NH</text>
                    <text x="176" y="1028">=</text>
                    <text x="224" y="1028">192.0.2.6</text>
                    <text x="76" y="1044">203.0.113.96/28,</text>
                    <text x="156" y="1044">NH</text>
                    <text x="176" y="1044">=</text>
                    <text x="224" y="1044">192.0.2.7</text>
                    <text x="8" y="1060">└</text>
                    <text x="296" y="1060">┘</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
                         ┌---------------------------------------┐ 
                         |VLAN 100:                              | 
                         |                                       | 
                         |Static route to virtual BGP NH in user | 
                         |plane instances NF with BFD protection:| 
                         |                                       | 
                         |- 198.51.100.100/32 via 192.0.2.1      | 
                         |- 198.51.100.100/32 via 192.0.2.2      | 
                         |...                                    | 
                         |- 198.51.100.100/32 via 192.0.2.8      | 
                         └---------------------------------------┘ 
                                               |                   
              vlan 100 IP subnet          ┌ - -|- - - - - - - - - ┐
                  192.0.2.0/24                 └-------┐           
 ┌ - - - -                                |            |          |
  ┌------┐|.1     <- bfd ->                            |           
 ||nf-up1| --------vlan-100---------------|            ▼          |
  |      ||--------vlan-200---------------   ┌------------------┐  
 |└------┘                                |  | Bridge vlan 100  | |
 compute-01                                  |     (l2/l3)      |  
 ┌ - - - -                                |  |   IP gateway:    | |
  ┌------┐|.2     <- bfd ->                  |  192.0.2.254/24  |  
 ||nf-up2| --------vlan-100---------------|  └------------------┘ |
  |      ||--------vlan-200---------------   ┌------------------┐  
 |└------┘                                |  |                  | |
 compute-02                                  | Bridge vlan 200  |  
                     [...]                |  |    (l2 only)     | |
 ┌ - - - -                                   |                  |  
  ┌------┐|.6     <- bfd ->               |  └------------------┘ |
 ||nf-up6| --------vlan-100---------------                         
  |      ||--------vlan-200---------------|                       |
 |└------┘                                                         
 compute-06                               |                       |
  ┌ - - - ┐                                                        
           ---------vlan-100--------------|                       |
  |       |---------vlan-200--------------                         
 compute-07                               |                       |
  ┌ - - - ┐                                                        
           ---------vlan-100--------------|                       |
  |       |---------vlan-200--------------                         
 compute-08                               |                       |
 ┌ - - - - <----------BGP-------------->                           
  ┌------┐|.9                       .252  |                       |
 ||nf-cp1| --------vlan-100---------------                         
  |      ||--------vlan-200---------------|                       |
 |└------┘                                                         
 compute-09                               |                       |
 ┌ - - - - <-----------BGP-------------->                          
  ┌------┐|.10                       .253 |                       |
 ||nf-cp2| ---------vlan-100--------------                         
  |      ||---------vlan-200--------------└ - - - - - - - - - - - ┘
 |└------┘                                                         
 compute-10                                                        
 ┌-----------------------------------┐                             
 |nf-cp routing for VLAN 100         |                             
 |advertises pools with 1:N backup   |                             
 |route.                             |                             
 |BGP UPDATE:                        |                             
 |203.0.113.0/24, NH = 198.51.100.100| ---->                       
 |203.0.113.0/28, NH = 192.0.2.1     |                             
 |203.0.113.16/28, NH = 192.0.2.2    |                             
 |...                                |                             
 |203.0.113.80/28, NH = 192.0.2.6    |                             
 |203.0.113.96/28, NH = 192.0.2.7    |                             
 └-----------------------------------┘                             
]]></artwork>
            </artset>
          </figure>
          <t>For readability the payload is displayed as single JSON file (<xref target="parent-profile"/>). In practice, several API calls may take place to initialize these resources (e.g., GET requests from the customer to retrieve the IP address pools for NFs on "vlan 100" thanks to parent configuration and BGP configuration, and POST extra routes for user planes and BFD).</t>
          <t>Note that no individual IP address is assigned in the data model for the NF user plane instances (i.e., no "customer-address" in the Child AC). The assignment of IP addresses to the NF endpoints is managed by the Cloud Infrastructure IPAM based on the customer-addresses IP address pool "192.0.2.1-200". Like in any standard LAN-facing scenario, it is assumed that the actual binding of IP endpoints to logical attachments (here Child ACs) relies on a dedicated protocol logic  (typically, ARP or NDP) and is not captured in the data model. Hence, the IP addresses displayed for NF user plane instances are simply examples of a realization approach. Note also that the Control Plane is defined with static IP address assignment on a given AC/bearer to illustrate another deployment alternative.</t>
          <figure anchor="parent-profile">
            <name>Message Body for the Configuration of The NF ACs</name>
            <sourcecode type="json"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "ietf-ac-svc:specific-provisioning-profiles": {
    "valid-provider-identifiers": {
      "failure-detection-profile-identifier": [
        {
          "id": "single-hop-bfd-user-plane"
        }
      ]
    }
  },
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "parent-vlan-100",
        "description": "This parent represents a bridge with L3 \
                          interface (IRB) to connect NF in vlan 100",
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "cvlan-id": 100
            }
          }
        },
        "ip-connection": {
          "ipv4": {
            "virtual-address": "192.0.2.254",
            "prefix-length": 24,
            "customer-addresses": {
              "address-pool": [
                {
                  "pool-id": "pool-1",
                  "start-address": "192.0.2.1",
                  "end-address": "192.0.2.200"
                }
              ]
            }
          }
        },
        "routing-protocols": {
          "routing-protocol": [
            {
              "id": "1",
              "type": "ietf-vpn-common:static-routing",
              "static": {
                "cascaded-lan-prefixes": {
                  "ipv4-lan-prefixes": [
                    {
                      "lan": "198.51.100.100/32",
                      "next-hop": "192.0.2.1",
                      "lan-tag": "virtual-next-hop",
                      "failure-detection-profile": "single-hop-bfd-\
                                                          user-plane"
                    },
                    {
                      "lan": "198.51.100.100/32",
                      "next-hop": "192.0.2.2",
                      "lan-tag": "virtual-next-hop",
                      "failure-detection-profile": "single-hop-bfd-\
                                                          user-plane"
                    },
                    {"_comment": "192.0.2.3-192.0.2.7 are not \
                                                         displayed"},
                    {
                      "lan": "198.51.100.100/32",
                      "next-hop": "192.0.2.8",
                      "lan-tag": "virtual-next-hop",
                      "failure-detection-profile": "single-hop-bfd-\
                                                          user-plane"
                    }
                  ]
                }
              }
            },
            {
              "id": "2",
              "type": "ietf-vpn-common:bgp-routing",
              "bgp": {
                "peer-groups": {
                  "peer-group": [
                    {
                      "name": "peer-nf-cp-vlan-100-gw1",
                      "local-as": 65536,
                      "peer-as": 65537,
                      "local-address": "192.0.2.252"
                    },
                    {
                      "name": "peer-nf-cp-vlan-100-gw2",
                      "local-as": 65536,
                      "peer-as": 65537,
                      "local-address": "192.0.2.253"
                    }
                  ]
                },
                "neighbor": [
                  {
                    "id": "gw1-cp1",
                    "remote-address": "192.0.2.101",
                    "peer-group": "peer-nf-cp-vlan-100-gw1"
                  },
                  {
                    "id": "gw1-cp2",
                    "remote-address": "192.0.2.102",
                    "peer-group": "peer-nf-cp-vlan-100-gw1"
                  },
                  {
                    "id": "gw2-cp1",
                    "remote-address": "192.0.2.101",
                    "peer-group": "peer-nf-cp-vlan-100-gw1"
                  },
                  {
                    "id": "gw2-cp2",
                    "remote-address": "192.0.2.102",
                    "peer-group": "peer-nf-cp-vlan-100-gw1"
                  }
                ]
              }
            }
          ]
        }
      },
      {
        "name": "parent-vlan-200",
        "description": "This parent represents a bridge that \
                                          connects a NF in vlan 200",
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "cvlan-id": 200
            }
          }
        }
      },
      {
        "name": "ac-nf-up-01-vlan-100",
        "description": "attachment to Network Function NF-up \
                                             instance 1 in vlan 100",
        "ac-parent-ref": "parent-vlan-100",
        "l2-connection": {
          "bearer-reference": "compute-01-nic1"
        }
      },
      {
        "name": "ac-nf-up-02-vlan-100",
        "description": "attachment to Network Function NF-up \
                                             instance 2 in vlan 100",
        "ac-parent-ref": "parent-vlan-100",
        "l2-connection": {
          "bearer-reference": "compute-02-nic2"
        }
      },
      {"_comment": "ac-nf-up-03-vlan-100 to ac-nf-up-07-vlan-100 \
                                                        are hidden"},
      {
        "name": "ac-nf-up-08-vlan-100",
        "description": "attachment to Network Function NF-up \
                                            instance 10 in vlan 100",
        "ac-parent-ref": "parent-vlan-100",
        "l2-connection": {
          "bearer-reference": "compute-08-nic1"
        }
      },
      {
        "name": "ac-nf-cp-01-vlan-100",
        "description": "attachment to Network Function NF-CP \
                                             instance 1 in vlan 100",
        "ac-parent-ref": "parent-vlan-100",
        "l2-connection": {
          "bearer-reference": "compute-09-nic0"
        },
        "ip-connection": {
          "ipv4": {
            "prefix-length": 24,
            "address": [
              {
                "address-id": "1",
                "customer-address": "192.0.2.101"
              }
            ]
          }
        }
      },
      {
        "name": "ac-nf-cp-02-vlan-100",
        "description": "attachment to Network Function NF-CP \
                                             instance 2 in vlan 100",
        "ac-parent-ref": "parent-vlan-100",
        "l2-connection": {
          "bearer-reference": "compute-10-nic0"
        },
        "ip-connection": {
          "ipv4": {
            "prefix-length": 24,
            "address": [
              {
                "address-id": "1",
                "customer-address": "192.0.2.102"
              }
            ]
          }
        }
      },
      {
        "name": "ac-nf-up-1-vlan-200",
        "description": "attachment to Network Function NF-up \
                                             instance 1 in vlan 200",
        "ac-parent-ref": "parent-vlan-200",
        "l2-connection": {
          "bearer-reference": "compute-01-nic1"
        }
      },
      {"_comment": "ac-nf-up-2-vlan-200 to ac-nf-cp-01-vlan-200 are \
                                                     not displayed"},
      {
        "name": "ac-nf-cp-2-vlan-200",
        "description": "attachment to Network Function NF-CP \
                                             instance 2 in vlan 200",
        "ac-parent-ref": "parent-vlan-200",
        "l2-connection": {
          "bearer-reference": "compute-10-nic0"
        }
      }
    ]
  }
}
]]></sourcecode>
          </figure>
        </section>
        <section anchor="nf-scale-out">
          <name>NF Scale-Out</name>
          <t>Assuming a failure of "compute-01", the instance "nf-up-1" can be redeployed to "compute-07" by the NF/Cloud Orchestration. Additionally, the NF can be scaled-out thanks to the creation of an extra instance "nf-up7" on "compute-08". Since connectivity is pre-provisioned, these operations happen without any API calls. In other words, this redeployment is transparent from the perspective of the configuration of the provider network.</t>
          <figure anchor="cloud-parent-nf-lcm">
            <name>Example of Compute Failure and Scale-out</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="496" width="544" viewBox="0 0 544 496" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 16,320 L 16,336" fill="none" stroke="black"/>
                  <path d="M 16,416 L 16,432" fill="none" stroke="black"/>
                  <path d="M 48,160 L 48,256" fill="none" stroke="black"/>
                  <path d="M 72,320 L 72,336" fill="none" stroke="black"/>
                  <path d="M 72,416 L 72,432" fill="none" stroke="black"/>
                  <path d="M 360,80 L 360,112" fill="none" stroke="black"/>
                  <path d="M 360,176 L 360,208" fill="none" stroke="black"/>
                  <path d="M 512,80 L 512,112" fill="none" stroke="black"/>
                  <path d="M 512,176 L 512,208" fill="none" stroke="black"/>
                  <path d="M 368,64 L 504,64" fill="none" stroke="black"/>
                  <path d="M 88,96 L 144,96" fill="none" stroke="black"/>
                  <path d="M 216,96 L 328,96" fill="none" stroke="black"/>
                  <path d="M 88,112 L 144,112" fill="none" stroke="black"/>
                  <path d="M 216,112 L 328,112" fill="none" stroke="black"/>
                  <path d="M 368,128 L 504,128" fill="none" stroke="black"/>
                  <path d="M 368,160 L 504,160" fill="none" stroke="black"/>
                  <path d="M 368,224 L 504,224" fill="none" stroke="black"/>
                  <path d="M 24,304 L 64,304" fill="none" stroke="black"/>
                  <path d="M 88,320 L 152,320" fill="none" stroke="black"/>
                  <path d="M 224,320 L 328,320" fill="none" stroke="black"/>
                  <path d="M 88,336 L 152,336" fill="none" stroke="black"/>
                  <path d="M 224,336 L 328,336" fill="none" stroke="black"/>
                  <path d="M 24,352 L 64,352" fill="none" stroke="black"/>
                  <path d="M 24,400 L 64,400" fill="none" stroke="black"/>
                  <path d="M 88,416 L 152,416" fill="none" stroke="black"/>
                  <path d="M 224,416 L 328,416" fill="none" stroke="black"/>
                  <path d="M 88,432 L 152,432" fill="none" stroke="black"/>
                  <path d="M 224,432 L 328,432" fill="none" stroke="black"/>
                  <path d="M 24,448 L 64,448" fill="none" stroke="black"/>
                  <g class="text">
                    <text x="336" y="36">┌</text>
                    <text x="352" y="36">-</text>
                    <text x="368" y="36">-</text>
                    <text x="384" y="36">-</text>
                    <text x="400" y="36">-</text>
                    <text x="416" y="36">-</text>
                    <text x="432" y="36">-</text>
                    <text x="448" y="36">-</text>
                    <text x="464" y="36">-</text>
                    <text x="480" y="36">-</text>
                    <text x="496" y="36">-</text>
                    <text x="512" y="36">-</text>
                    <text x="528" y="36">┐</text>
                    <text x="8" y="68">┌</text>
                    <text x="24" y="68">-</text>
                    <text x="40" y="68">-</text>
                    <text x="56" y="68">-</text>
                    <text x="76" y="68">-┐</text>
                    <text x="336" y="68">|</text>
                    <text x="360" y="68">┌</text>
                    <text x="512" y="68">┐</text>
                    <text x="528" y="68">|</text>
                    <text x="36" y="100">|status=</text>
                    <text x="80" y="100">|</text>
                    <text x="180" y="100">vlan-100</text>
                    <text x="336" y="100">|</text>
                    <text x="396" y="100">Bridge</text>
                    <text x="444" y="100">vlan</text>
                    <text x="480" y="100">100</text>
                    <text x="528" y="100">|</text>
                    <text x="44" y="116">DOWN</text>
                    <text x="180" y="116">vlan-200</text>
                    <text x="8" y="132">|</text>
                    <text x="80" y="132">|</text>
                    <text x="336" y="132">|</text>
                    <text x="360" y="132">└</text>
                    <text x="512" y="132">┘</text>
                    <text x="528" y="132">|</text>
                    <text x="44" y="148">compute-01</text>
                    <text x="336" y="164">|</text>
                    <text x="360" y="164">┌</text>
                    <text x="512" y="164">┐</text>
                    <text x="528" y="164">|</text>
                    <text x="336" y="196">|</text>
                    <text x="396" y="196">Bridge</text>
                    <text x="444" y="196">vlan</text>
                    <text x="480" y="196">200</text>
                    <text x="528" y="196">|</text>
                    <text x="336" y="228">|</text>
                    <text x="360" y="228">└</text>
                    <text x="512" y="228">┘</text>
                    <text x="528" y="228">|</text>
                    <text x="184" y="260">[...]</text>
                    <text x="336" y="260">|</text>
                    <text x="528" y="260">|</text>
                    <text x="48" y="276">▼</text>
                    <text x="8" y="292">┌</text>
                    <text x="24" y="292">-</text>
                    <text x="40" y="292">-</text>
                    <text x="56" y="292">-</text>
                    <text x="72" y="292">-</text>
                    <text x="336" y="292">|</text>
                    <text x="528" y="292">|</text>
                    <text x="16" y="308">┌</text>
                    <text x="84" y="308">┐|.1</text>
                    <text x="144" y="308">&lt;</text>
                    <text x="160" y="308">-</text>
                    <text x="184" y="308">bfd</text>
                    <text x="208" y="308">-</text>
                    <text x="224" y="308">&gt;</text>
                    <text x="8" y="324">|</text>
                    <text x="44" y="324">nf-up1</text>
                    <text x="188" y="324">vlan-100</text>
                    <text x="336" y="324">|</text>
                    <text x="380" y="324">nf-up1</text>
                    <text x="432" y="324">moved</text>
                    <text x="468" y="324">to</text>
                    <text x="528" y="324">|</text>
                    <text x="80" y="340">|</text>
                    <text x="188" y="340">vlan-200</text>
                    <text x="420" y="340">compute-07</text>
                    <text x="12" y="356">|└</text>
                    <text x="72" y="356">┴</text>
                    <text x="336" y="356">|</text>
                    <text x="528" y="356">|</text>
                    <text x="44" y="372">compute-07</text>
                    <text x="8" y="388">┌</text>
                    <text x="24" y="388">-</text>
                    <text x="40" y="388">-</text>
                    <text x="56" y="388">-</text>
                    <text x="72" y="388">-</text>
                    <text x="336" y="388">|</text>
                    <text x="404" y="388">nf-up7</text>
                    <text x="444" y="388">on</text>
                    <text x="528" y="388">|</text>
                    <text x="16" y="404">┌</text>
                    <text x="84" y="404">┐|.7</text>
                    <text x="144" y="404">&lt;</text>
                    <text x="160" y="404">-</text>
                    <text x="184" y="404">bfd</text>
                    <text x="208" y="404">-</text>
                    <text x="224" y="404">&gt;</text>
                    <text x="412" y="404">compute-08</text>
                    <text x="8" y="420">|</text>
                    <text x="44" y="420">ng-up7</text>
                    <text x="188" y="420">vlan-100</text>
                    <text x="336" y="420">|</text>
                    <text x="400" y="420">created</text>
                    <text x="448" y="420">for</text>
                    <text x="528" y="420">|</text>
                    <text x="80" y="436">|</text>
                    <text x="188" y="436">vlan-200</text>
                    <text x="416" y="436">scale-out</text>
                    <text x="12" y="452">|└</text>
                    <text x="72" y="452">┴</text>
                    <text x="336" y="452">|</text>
                    <text x="528" y="452">|</text>
                    <text x="44" y="468">compute-08</text>
                    <text x="344" y="468">-</text>
                    <text x="360" y="468">-</text>
                    <text x="376" y="468">-</text>
                    <text x="392" y="468">-</text>
                    <text x="408" y="468">-</text>
                    <text x="424" y="468">-</text>
                    <text x="440" y="468">-</text>
                    <text x="456" y="468">-</text>
                    <text x="472" y="468">-</text>
                    <text x="488" y="468">-</text>
                    <text x="504" y="468">-</text>
                    <text x="520" y="468">-</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
                                          ┌ - - - - - - - - - - - ┐
                                                                   
 ┌ - - - -┐                               |  ┌------------------┐ |
                                             |                  |  
 |status= |--------vlan-100---------------|  | Bridge vlan 100  | |
    DOWN   --------vlan-200---------------   |                  |  
 |        |                               |  └------------------┘ |
 compute-01                                                        
      |                                   |  ┌------------------┐ |
      |                                      |                  |  
      |                                   |  | Bridge vlan 200  | |
      |                                      |                  |  
      |                                   |  └------------------┘ |
      |                                                            
      |              [...]                |                       |
      ▼                                                            
 ┌ - - - -                                |                       |
  ┌------┐|.1     < - bfd - >                                       
 ||nf-up1| ---------vlan-100--------------|  nf-up1 moved to      |
  |      ||---------vlan-200--------------      compute-07         
 |└------┴                                |                       |
 compute-07                                                        
 ┌ - - - -                                |     nf-up7 on         |
  ┌------┐|.7     < - bfd - >                  compute-08          
 ||ng-up7| ---------vlan-100--------------|    created for        |
  |      ||---------vlan-200--------------      scale-out          
 |└------┴                                |                       |
 compute-08                                - - - - - - - - - - - - 
]]></artwork>
            </artset>
          </figure>
          <t>Finally, the addition or deletion of compute nodes in the deployment ("compute-11", "compute-12", etc.) involves merely changes on Child ACs and possible routing on the parent AC. In any case, the parent AC is a stable identifier, which can be consumed as a reference by end-to-end service models for VPN configuration such as <xref target="I-D.ietf-opsawg-ac-lxsm-lxnm-glue"/>, Slice Service <xref target="I-D.ietf-teas-ietf-network-slice-nbi-yang"/>, etc. This decoupling to a stable identifier provides great benefits in terms of scalability and flexibility since once the reference with the parent AC is implemented, no API call involving the VPN model is needed for any modification in the cloud.</t>
        </section>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document leverages <xref target="RFC9182"/> and <xref target="RFC9291"/>. Thanks to Gyan Mishra for the review.</t>
      <t>Thanks to Ebben Aries for the YANG Doctors review and for providing <xref target="Instance-Data"/>.</t>
      <t>Thanks to Donald Eastlake for the careful rtg-dir review.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="V." surname="Lopez" fullname="Victor Lopez">
        <organization>Nokia</organization>
        <address>
          <email>victor.lopez@nokia.com</email>
        </address>
      </contact>
      <contact initials="I." surname="Bykov" fullname="Ivan Bykov">
        <organization>Ribbon Communications</organization>
        <address>
          <email>Ivan.Bykov@rbbn.com</email>
        </address>
      </contact>
      <contact initials="Q." surname="Wu" fullname="Qin Wu">
        <organization>Huawei</organization>
        <address>
          <email>bill.wu@huawei.com</email>
        </address>
      </contact>
      <contact initials="K." surname="Ogaki" fullname="Kenichi Ogaki">
        <organization>KDDI</organization>
        <address>
          <email>ke-oogaki@kddi.com</email>
        </address>
      </contact>
      <contact initials="L. A." surname="Munoz" fullname="Luis Angel Munoz">
        <organization>Vodafone</organization>
        <address>
          <email>luis-angel.munoz@vodafone.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
pt0NqhQ4YSacQlpalZ6HlgaQfXV3eGOe3Q16Asat/fRO79Ka/LIGTo8YSNmc
xa9RilAQXaEJNJLg0lshYP8l/ah1Rq6nN8WcwDqiYXniObYri9eErzh4gNK7
iqqaepnJtIgWtF+g6cRPe05fsajklyfkEMpASMRZLJFzNZW8/fSXLI5EW5CM
YpOGulW0eqOZZqWiX/S8sb3V7+8loz0yKey46l+m5Nf7aExRVrlqWuSzj09T
zdpZ6Z2VztJh+50ls5oJPX/OillkmZZrbEl7T9labJ1O1t6v580ynB6uUMb9
pahPp1OSjmc2GD4vVal4dMM9lCm+BybCJOt8ESiOhUt1wG5emiqV8nGpTs6d
rAKgR/onX/tMJUmRiQBfdPhBxyQXkBnLt41BEwbIdU4hSvNjkqTRP7DEB/3v
k91GLUz4WT0HslSmJm8qyJ1XSUmE6oWVt7afv3yx40zH9yiHhc1PQdxQB1AZ
5kiJLu55wVp8xlvdPHjLlUNBieZ8Lrj5jmeAjOao4CwKfM8jJV/NLLZmNS/d
lZzXlncOfOO7wSU0gsIfLFvuaqIFGzhQf8SSLVxuwQqRfyzOAGwAvF1kARqu
OvmrOwmxpPRjAoq5W49BDbvUrNI0w9Srj2XpMKhEJFGWohXxS1q4q+TYAvPg
8qLZBDHP6Crs3zWm/Av4N69jDnrQyL5CmcdMHbEVC41icruWSMYtyVTTs+9B
4h13w3dkdeVgzTiiMUhJ7ML/kxEVjLc3/jMSHHSl/lpUdzPQBCjogqxX+mLd
0bAWte5mPCGfdQ+mWgZbWXhuNOyer2Oyfw7RW/2Lyt6CzBvhO+QvHbL2wNP/
PJaxSxkx9aFr2cH6EBBNP1jOkcj23InNW66EONFc6VFGDXYlndbf8Dtx8wXZ
yQzLib22RTgpREzs0i9ZCh9sfWNjq5NWboX51U1pOUPzRUkp5FKyDndaL+ba
SK4jjMlbQT8cesszvGIrTmiXrcI9GoxydBKYaPl4FySB8oNluImuo+bVmnv4
5NEj/bC6CnFuW4ruKyxUFkR6ulWFLNeRBY3Hz57dJ59CAUnM4frBQLLBcbc6
2UGwA5ItzIysU82xfr3+yQ1FAE9GH9Jam4GuXZpVHZ1NId92MPR+0uH+JPy4
N3bEcJyEyudwHU1TXpF9grYHh68piftWOydqOwkrVnmbMjU3DeTMoWDNHN1w
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
ryDHM0Lh9GNND/QYzHoNqiO+eJs03ngejC2oqriuXhnqCtXNweEuvsbaFRDj
pAB/cd+xWmM5TcxzwKhMRYZsU4hwZM/IIVuhqAKsXSBMIMZqUzVpJKyWfBu4
r5wVxZ1F4lCCDqJMyQliMcc6nw5GctkdNYjQQKUVQca/thpEG56001mpaimW
V+48qISVzcHpmw20GcPtJZASk5ElDKMJaWKfNyIy2d95kTE7hCg5ZVFlLS9f
kyMmsD0Id9zl+UtXdPQ91kNywKxRQMKJBQGV5FPn7aAm9EB8kVQK0wTRgAgv
vI46YYQeU/YXOT8SYU69BOpRTD3PBakBYNXtg3E6SRZ5DdrN7Lp3hXSpiRGR
0pjteEBXo5nXI1L81zv6sMamf+BejFz0yMlkrPEv18fvUM8YdqqLBM06VE3L
AdBirCirZa9NXHGZ58koZYgUmCosIYLcbbzIyJsNtCbXJahTwy5MojhKbJaQ
rjqXmBuZJv2nYmmmtO9xmmDS03pKVZcrgX4CaNEQ4mg2NX3m657yq7wYJrlf
Nq2YdCFXJ4zWvOI3gJTvtijjCjx3EzHjDRc3MKk78ALI4Uy2q9a5oUvdI6oT
zJxO5/X1kok3f+QydjKDZSbgRFksdWYyBbpvlQ2zXNS1U+gbl4IUoYHWVyfI
JrjcNks4iEYkLiEpqRaguwDjFf2Nz0eLcr4EEY2NqsgbaNGZKVqkS4Cuwtay
OhaZKB1dQ0Nm8fz+5HhXneD/pPUofm49F1pcJfPejRnX21mKT+bTouQ0Meps
cGozCpmjbHGT6nWTbifYBVWZl2Nzo8ovvu0sS2hrFYbQFGVOyjqv8oIsBkjZ
wz9tokvmJ+85JJMm45hA2rq5dynmB680MyfGowcVnMqT5uXdFckH7Zokdq4Z
cybHaTNCrhBxJoUdWsF22j/v76rXD3VRpJO0virKD+osz8JEUzrjx46vU8az
UlF+j68f3X+GOamoILsZ2BVmJ0Jhs4+o+MeValda995GxN/ZtdmqHm/GbrUH
/FjdovDarQQ+PxshcjQLTSRZSSM5FzU5B4mCS91pH46q4bQhF+9R/dbklTdP
X9kCgBvdjZumsWwmsozxvYZo93nj88ZvD9++OFJHJy/Ofr/xP/azsXEPMYLN
3aDjVDgf+y5sbFDSzUrji4V+DYwzh2PVexxyhjqDVg/7T/H0Pn369rj3op+l
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
BEm6mWh7nJzFFynszsJS5sUtaFDDGh6/6MFd5In9+c3Llx3gDCoO3x0Fqzk6
EMsBkSdUMrRLeoZ53lASTzalyTLJaN4fFSgn3KtLLNFSVSR9LK+FgucoEjkS
xpy7NpH5vFrz6y6zX+/r0ZyvX5+kIbFZRKh2qcwb00HYoGbsnDgUOVDj4G06
Rv4r/Rssl12d2jh4Mx1S0mcCanUwen+grEEKfkdR/V343cqnT3RfpXZFeFtz
LirPzj+rkXT87f3hyTjOJ+MpcItjgawrdZawI+Wexx+EUV8n6aHoubRhEC3X
FuZqwwtbYNtecXhtBStI4nN0GsQ0CMNk3ORE5MGFMYap3dBx+TC24HsE/0R3
0p4JCiPYGHBZmEkMqsQ0yMp9mDPRi1kLXsW9sxTdNa3vyKeHmPZ3kpjzyhkk
jG8hUMGGwZGrptMNTCgBX8KMRyLxENeMSYcMBL6bodTu8BZXDesVhopPWviJ
eZ9lZkKEL6omqESEeoKOWMmjERlibWPCwaBDbghWUzVOQ6+W4xiXGHxbYAC1
MihYGUnYimaemzJBMsEZZZJzSrWbjaFTOOgEkBziYGDeWvKK9w5AKyAXX1WO
Bk5/ahVaOR2msLMtAWpf5QGhpHY6nx1O3TiB+RmKWaGNdbjvDphc07RPcsrZ
a6QBIU9mtKiaOT+dDa/GjFos2qgbbqYqEaBJiZ8hKOlJDAc/AkWtGADUfGZ6
KTOtg4+p4dHkv9g3p4YfDV5OR3c6Au5Rs3jxUsUZ92L+u1Dx2dtX7Rn+G9G/
63DL3dbcdn9xhumY/y70dYTgRPTvBv3bFvHmKxAtVnEJ1FH/PiyZrJKvFxrW
clFilY03r5b8+pwJKCk+k8M8Q4jE++3ugRR56hWXS4uKB+f9jS33leqvB8GL
X8QfjeHVx4PdN+97G3l/+GRt82Tv3wbr6+vtfqOs+LLs+5zprxr54PegFfme
uMW9Tmcz+N+8qwLANMO6RfaCfQOVjkSHH+ob7xEUo0vicPMlETNsJmlH64/D
jSdPN585H5J/alBcFQJrVuW+jrW12uVkbBZezB0VHxnbPwm3WzSlcjFLdk9R
MMmqlE2pFwnr6UFp8cPdtrMXNtYWKH6jr/MSm0vLbouE32HxGh6cZZtJ59d1
uHA/aPaNwY6J3C5aOmDaRw5rZKhzqkTcrPZ4z0V+LhZeiNPQzIX0ffCwWJKL
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

-->

</rfc>
