<?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.7 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-opsawg-teas-attachment-circuit-08" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.20.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-08"/>
    <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="March" day="16"/>
    <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.), <strong>providing programmatic means to expose 'attachment circuits'-as-a-service greatly simplifies the provisioning of value-added services</strong> 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). <strong>This document favors the approach of completely relying upon the AC service model instead of duplicating data nodes into specific modules of advanced services that are delivered over an Attachment Circuit.</strong></t>
        <t>Since the provisioning of an AC requires a bearer to be in place, this document introduces a new module called "ietf-bearer-svc" that enables customers to manage their bearer requests (<xref target="sec-bearer-module"/>). The customers can then retrieve a provider-assigned bearer reference that they will include in their AC service requests. 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"/>.</t>
        <t>The AC service model <strong>does not make any assumptions about the internal structure or even the nature or the services that will be delivered over an attachment circuit or a set of attachment circuits</strong>. Customers do not have access to that network view other than the ACs that they ordered. For example, the AC service model can be used to provision a set of ACs to connect multiple sites (Site1, Site2, ..., SiteX) for customer who also requested VPN services. If the provisioning of these services requires specific configuration on ASBR nodes, such configuration is handled at the network level and is not exposed to the customer at the service level. However, the network controller will have access to such a view as the service points in these ASBRs will be exposed as SAPs with "role" set to "ietf-sap-ntw:nni" <xref target="RFC9408"/>.</t>
        <t>The AC service model can be used in a variety of contexts, such as (but not limited to) those provided in <xref target="examples"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Create an AC over an existing bearer <xref target="ac-bearer-exist"/>.</t>
          </li>
          <li>
            <t>Request an attachment circuit for a known peer SAP (<xref target="ac-no-bearer-peer-sap"/>).</t>
          </li>
          <li>
            <t>Instantiate multiple attachment circuits over the same bearer (<xref target="sec-ex-one-ce-multi-acs"/>).</t>
          </li>
          <li>
            <t>Control the precedence over multiple attachment circuits (<xref target="sec-ex-prec"/>).</t>
          </li>
          <li>
            <t>Create Multiple ACs bound to Multiple CEs (<xref target="sec-multiple-ces"/>).</t>
          </li>
          <li>
            <t>Bind a slice service to a set of pre-provisioned attachment circuits (<xref target="sec-ex-slice"/>).</t>
          </li>
          <li>
            <t>Connect a Cloud Infrastructure to a service provider network (<xref target="sec-ex-cloud"/>). Note that the AC model can be used between service providers for other interconnection purposes.</t>
          </li>
        </ul>
        <t>The examples provided in <xref target="examples"/> use the IPv4 address blocks reserved for documentation <xref target="RFC5737"/>, the IPv6 prefix reserved for documentation <xref target="RFC3849"/>, and the Autonomous System (AS) numbers reserved for documentation <xref target="RFC5398"/>.</t>
        <t>The YANG data models in this document conform to the Network Management Datastore Architecture (NMDA) defined in <xref target="RFC8342"/>.</t>
      </section>
      <section anchor="positioning-acaas-vs-other-data-models">
        <name>Positioning ACaaS vs. Other Data Models</name>
        <t>The AC model specified in this document <strong>is not a network model</strong> <xref target="RFC8969"/>. As such, the model does not expose details related to specific nodes in the provider's network that terminate an AC (e.g., network node identifiers). The mapping between an AC as seen by a customer and the network implementation of an AC is maintained by the network controllers and is not exposed to the customer. This mapping can be maintained using a variety of network models, such as augmented SAP AC network model <xref target="I-D.ietf-opsawg-ntw-attachment-circuit"/>.</t>
        <t>The AC service model <strong>is not a device model</strong>. A network provider may use a variety of device models (e.g., Routing management <xref target="RFC8349"/> or BGP <xref target="I-D.ietf-idr-bgp-model"/>) to provision an AC service in relevant network nodes.</t>
        <section anchor="why-not-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>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="sample-uses-of-the-data-models">
      <name>Sample Uses of the Data Models</name>
      <section anchor="acs-terminated-by-one-or-multiple-customer-edges-ces">
        <name>ACs Terminated by One or Multiple Customer Edges (CEs)</name>
        <t><xref target="uc"/> depicts two target topology flavors that involve ACs. These topologies have the following characteristics:</t>
        <ul spacing="normal">
          <li>
            <t>A CE can be either a physical device or a logical entity. Such logical entity is typically a software component (e.g., a virtual service function that is hosted within the provider's network or a third-party infrastructure). A CE is seen by the network as a peer SAP.</t>
          </li>
          <li>
            <t>An AC service request may include one or multiple ACs, which may be associated to a single CE or multiple CEs.</t>
          </li>
          <li>
            <t>CEs may be either dedicated to one single connectivity service or host multiple connectivity services (e.g., CEs with roles of SFs <xref target="RFC7665"/>).</t>
          </li>
          <li>
            <t>A network provider may bind a single AC to one or multiple peer SAPs (e.g., CE#1 and CE#2 are tagged as peer SAPs for the same AC). For example, and as discussed in <xref target="RFC4364"/>, multiple CEs can be attached to a PE over the same attachment circuit. This scenario is typically implemented when the Layer 2 infrastructure between the CE and the network is a multipoint service.</t>
          </li>
          <li>
            <t>A single CE may terminate multiple ACs, which can be associated with the same bearer or distinct bearers.</t>
          </li>
          <li>
            <t>Customers may request protection schemes in which the ACs associated with their endpoints are terminated by the same PE (e.g., CE#3), distinct PEs (e.g., CE#34), etc. The network provider uses this request to decide where to terminate the AC in the network provider network and also whether to enable specific capabilities (e.g., Virtual Router Redundancy Protocol (VRRP) <xref target="RFC5798"/>). Note that placement constraints may also be requested during the instantiation of the underlying bearers (<xref target="sec-bearer"/>).</t>
          </li>
        </ul>
        <figure anchor="uc">
          <name>Examples of ACs</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="224" width="528" viewBox="0 0 528 224" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,80" fill="none" stroke="black"/>
                <path d="M 8,112 L 8,160" fill="none" stroke="black"/>
                <path d="M 72,32 L 72,80" fill="none" stroke="black"/>
                <path d="M 72,112 L 72,160" fill="none" stroke="black"/>
                <path d="M 128,48 L 128,144" fill="none" stroke="black"/>
                <path d="M 208,32 L 208,176" fill="none" stroke="black"/>
                <path d="M 304,176 L 304,208" fill="none" stroke="black"/>
                <path d="M 376,32 L 376,176" fill="none" stroke="black"/>
                <path d="M 456,32 L 456,80" fill="none" stroke="black"/>
                <path d="M 456,128 L 456,160" fill="none" stroke="black"/>
                <path d="M 496,160 L 496,208" fill="none" stroke="black"/>
                <path d="M 520,32 L 520,80" fill="none" stroke="black"/>
                <path d="M 520,128 L 520,160" fill="none" stroke="black"/>
                <path d="M 8,32 L 72,32" fill="none" stroke="black"/>
                <path d="M 208,32 L 376,32" fill="none" stroke="black"/>
                <path d="M 456,32 L 520,32" fill="none" stroke="black"/>
                <path d="M 72,48 L 128,48" fill="none" stroke="black"/>
                <path d="M 376,48 L 400,48" fill="none" stroke="black"/>
                <path d="M 424,48 L 456,48" fill="none" stroke="black"/>
                <path d="M 376,64 L 400,64" fill="none" stroke="black"/>
                <path d="M 424,64 L 456,64" fill="none" stroke="black"/>
                <path d="M 8,80 L 72,80" fill="none" stroke="black"/>
                <path d="M 456,80 L 520,80" fill="none" stroke="black"/>
                <path d="M 128,96 L 152,96" fill="none" stroke="black"/>
                <path d="M 176,96 L 208,96" fill="none" stroke="black"/>
                <path d="M 8,112 L 72,112" fill="none" stroke="black"/>
                <path d="M 456,128 L 520,128" fill="none" stroke="black"/>
                <path d="M 72,144 L 128,144" fill="none" stroke="black"/>
                <path d="M 376,144 L 400,144" fill="none" stroke="black"/>
                <path d="M 424,144 L 456,144" fill="none" stroke="black"/>
                <path d="M 8,160 L 72,160" fill="none" stroke="black"/>
                <path d="M 456,160 L 520,160" fill="none" stroke="black"/>
                <path d="M 208,176 L 376,176" fill="none" stroke="black"/>
                <path d="M 304,208 L 392,208" fill="none" stroke="black"/>
                <path d="M 416,208 L 496,208" fill="none" stroke="black"/>
                <g class="text">
                  <text x="412" y="52">AC</text>
                  <text x="36" y="68">CE#1</text>
                  <text x="412" y="68">AC</text>
                  <text x="484" y="68">CE#3</text>
                  <text x="164" y="100">AC</text>
                  <text x="280" y="100">Network</text>
                  <text x="36" y="148">CE#2</text>
                  <text x="412" y="148">AC</text>
                  <text x="484" y="148">CE#4</text>
                  <text x="404" y="212">AC</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
.-------.                .--------------------.         .-------.
|       +------.         |                    +---AC----+       |
| CE#1  |      |         |                    +---AC----+ CE#3  |
'-------'      |         |                    |         '-------'
               +---AC----+     Network        |
.-------.      |         |                    |
|       |      |         |                    |         .-------.
| CE#2  +------'         |                    +---AC----+ CE#4  |
'-------'                |                    |         '----+--'
                         '-----------+--------'              |
                                     |                       |
                                     '-----------AC----------'
]]></artwork>
          </artset>
        </figure>
      </section>
      <section anchor="separate-ac-provisioning-vs-actual-service-provisioning">
        <name>Separate AC Provisioning vs. Actual Service Provisioning</name>
        <t>The procedure to provision a service in a service provider network may depend on the practices adopted by a service provider. This includes the flow put in place for the provisioning of network services and how they are bound to an attachment circuit. For example, a single attachment circuit may be used to host multiple connectivity services. In order to avoid service interference and redundant information in various locations, a service provider may expose an interface to manage ACs network-wide. Customers can then request a bearer or an attachment circuit to be put in place, and then refer to that bearer or AC when requesting services that are bound to the bearer or AC. <xref target="I-D.ietf-opsawg-ac-lxsm-lxnm-glue"/> specifies augmentations to the L2SM and the L3SM to bind LxVPN services to ACs.</t>
        <t><xref target="_u-ex"/> shows the positioning of the AC service model is the overall service delivery process.</t>
        <figure anchor="_u-ex">
          <name>An Example of AC Model Usage</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="656" width="512" viewBox="0 0 512 656" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,560 L 8,592" fill="none" stroke="black"/>
                <path d="M 48,560 L 48,592" fill="none" stroke="black"/>
                <path d="M 96,432 L 96,480" fill="none" stroke="black"/>
                <path d="M 104,320 L 104,368" fill="none" stroke="black"/>
                <path d="M 120,544 L 120,608" fill="none" stroke="black"/>
                <path d="M 136,368 L 136,432" fill="none" stroke="black"/>
                <path d="M 136,480 L 136,536" fill="none" stroke="black"/>
                <path d="M 176,288 L 176,320" fill="none" stroke="black"/>
                <path d="M 176,432 L 176,480" fill="none" stroke="black"/>
                <path d="M 208,32 L 208,64" fill="none" stroke="black"/>
                <path d="M 208,112 L 208,160" fill="none" stroke="black"/>
                <path d="M 208,208 L 208,256" fill="none" stroke="black"/>
                <path d="M 208,376 L 208,496" fill="none" stroke="black"/>
                <path d="M 232,320 L 232,368" fill="none" stroke="black"/>
                <path d="M 272,64 L 272,112" fill="none" stroke="black"/>
                <path d="M 272,160 L 272,208" fill="none" stroke="black"/>
                <path d="M 272,256 L 272,288" fill="none" stroke="black"/>
                <path d="M 296,320 L 296,368" fill="none" stroke="black"/>
                <path d="M 336,32 L 336,64" fill="none" stroke="black"/>
                <path d="M 336,112 L 336,160" fill="none" stroke="black"/>
                <path d="M 336,208 L 336,256" fill="none" stroke="black"/>
                <path d="M 368,288 L 368,320" fill="none" stroke="black"/>
                <path d="M 368,368 L 368,536" fill="none" stroke="black"/>
                <path d="M 384,544 L 384,608" fill="none" stroke="black"/>
                <path d="M 424,320 L 424,368" fill="none" stroke="black"/>
                <path d="M 456,560 L 456,592" fill="none" stroke="black"/>
                <path d="M 496,560 L 496,592" fill="none" stroke="black"/>
                <path d="M 208,32 L 336,32" fill="none" stroke="black"/>
                <path d="M 208,64 L 336,64" fill="none" stroke="black"/>
                <path d="M 208,112 L 336,112" fill="none" stroke="black"/>
                <path d="M 208,160 L 336,160" fill="none" stroke="black"/>
                <path d="M 208,208 L 336,208" fill="none" stroke="black"/>
                <path d="M 208,256 L 336,256" fill="none" stroke="black"/>
                <path d="M 176,288 L 368,288" fill="none" stroke="black"/>
                <path d="M 104,320 L 232,320" fill="none" stroke="black"/>
                <path d="M 296,320 L 424,320" fill="none" stroke="black"/>
                <path d="M 104,368 L 232,368" fill="none" stroke="black"/>
                <path d="M 296,368 L 424,368" fill="none" stroke="black"/>
                <path d="M 96,432 L 176,432" fill="none" stroke="black"/>
                <path d="M 96,480 L 176,480" fill="none" stroke="black"/>
                <path d="M 120,544 L 384,544" fill="none" stroke="black"/>
                <path d="M 8,560 L 48,560" fill="none" stroke="black"/>
                <path d="M 456,560 L 496,560" fill="none" stroke="black"/>
                <path d="M 48,576 L 120,576" fill="none" stroke="black"/>
                <path d="M 384,576 L 456,576" fill="none" stroke="black"/>
                <path d="M 8,592 L 48,592" fill="none" stroke="black"/>
                <path d="M 456,592 L 496,592" fill="none" stroke="black"/>
                <path d="M 120,608 L 384,608" fill="none" stroke="black"/>
                <g class="text">
                  <text x="268" y="52">Customer</text>
                  <text x="108" y="84">Customer</text>
                  <text x="176" y="84">Service</text>
                  <text x="232" y="84">Model</text>
                  <text x="96" y="100">e.g.,</text>
                  <text x="164" y="100">slice-svc,</text>
                  <text x="240" y="100">ac-svc,</text>
                  <text x="296" y="100">and</text>
                  <text x="356" y="100">bearer-svc</text>
                  <text x="272" y="132">Service</text>
                  <text x="272" y="148">Orchestration</text>
                  <text x="112" y="180">Network</text>
                  <text x="168" y="180">Model</text>
                  <text x="32" y="196">e.g.,</text>
                  <text x="100" y="196">l3vpn-ntw,</text>
                  <text x="164" y="196">sap,</text>
                  <text x="200" y="196">and</text>
                  <text x="244" y="196">ac-ntw</text>
                  <text x="264" y="228">Network</text>
                  <text x="272" y="244">Orchestration</text>
                  <text x="56" y="276">Network</text>
                  <text x="144" y="276">Configuration</text>
                  <text x="224" y="276">Model</text>
                  <text x="164" y="340">Domain</text>
                  <text x="364" y="340">Domain</text>
                  <text x="168" y="356">Orchestration</text>
                  <text x="360" y="356">Orchestration</text>
                  <text x="36" y="388">Device</text>
                  <text x="64" y="404">Configuration</text>
                  <text x="32" y="420">Model</text>
                  <text x="132" y="452">Config</text>
                  <text x="136" y="468">Manager</text>
                  <text x="256" y="516">NETCONF/CLI................</text>
                  <text x="376" y="516">.</text>
                  <text x="208" y="532">|</text>
                  <text x="84" y="564">Bearer</text>
                  <text x="420" y="564">Bearer</text>
                  <text x="28" y="580">CE#1</text>
                  <text x="248" y="580">Network</text>
                  <text x="476" y="580">CE#2</text>
                  <text x="28" y="628">Site</text>
                  <text x="56" y="628">A</text>
                  <text x="476" y="628">Site</text>
                  <text x="504" y="628">B</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
                          .---------------.
                          |   Customer    |
                          '-------+-------'
          Customer Service Model  |
          e.g., slice-svc, ac-svc,| and bearer-svc
                          .-------+-------.
                          |    Service    |
                          | Orchestration |
                          '-------+-------'
           Network Model          |
  e.g., l3vpn-ntw, sap, and ac-ntw|
                          .-------+-------.
                          |   Network     |
                          | Orchestration |
                          '-------+-------'
    Network Configuration Model   |
                      .-----------+-----------.
                      |                       |
             .--------+------.       .--------+------.
             |    Domain     |       |     Domain    |
             | Orchestration |       | Orchestration |
             '---+-----------'       '--------+------'
  Device         |        |                   |
  Configuration  |        |                   |
  Model          |        |                   |
            .----+----.   |                   |
            | Config  |   |                   |
            | Manager |   |                   |
            '----+----'   |                   |
                 |        |                   |
                 | NETCONF/CLI..................
                 |        |                   |
               .--------------------------------.
 .----. Bearer |                                | Bearer .----.
 |CE#1+--------+            Network             +--------+CE#2|
 '----'        |                                |        '----'
               '--------------------------------'
  Site A                                                  Site B
]]></artwork>
          </artset>
        </figure>
        <t>In order to ease the mapping between the service model and underlying network models (e.g., the L3VPN Network Model (L3NM), SAP), the name conventions used in existing network data models are reused as much as possible. For example, "local-address" is used rather than "provider-address" (or similar) to refer to an IP address used in the provider network. This approach is consistent with the automation framework defined in <xref target="RFC8969"/>.</t>
      </section>
    </section>
    <section anchor="description-of-the-data-models">
      <name>Description of the Data Models</name>
      <section anchor="sec-bearer">
        <name>The Bearer Service ("ietf-bearer-svc") YANG Module</name>
        <t><xref target="bearer-st"/> shows the tree for managing the bearers (that is, the properties of an attachment that are below Layer 3). A bearer can be a physical or logical link (e.g., Link Aggregation Group (LAG) <xref target="IEEE802.1AX"/>). Also, a bearer can be a wireless or wired link. A reference to a bearer is generated by the operator.
Such a reference can be used, e.g., in a subsequent service request to create an AC. The anchoring of the AC can also be achieved by indicating (with or without a bearer reference), a peer SAP identifier (e.g., an identifier of an SF).</t>
        <figure anchor="bearer-st">
          <name>Bearer Service Tree Structure</name>
          <artwork align="center"><![CDATA[
module: ietf-bearer-svc

  +--rw bearers
     +--rw placement-constraints
     |  +--rw constraint* [constraint-type]
     |          {vpn-common:placement-diversity}?
     |     +--rw constraint-type    identityref
     |     +--rw target
     |        +--rw (target-flavor)?
     |           +--:(id)
     |           |  +--rw group* [group-id]
     |           |     +--rw group-id    string
     |           +--:(all-bearers)
     |           |  +--rw all-other-bearers?   empty
     |           +--:(all-groups)
     |              +--rw all-other-groups?    empty
     +--rw bearer* [name]
        +--rw name                 string
        +--rw description?         string
        +--rw groups
        |  +--rw group* [group-id]
        |     +--rw group-id    string
        +--rw op-comment?          string
        +--rw bearer-parent-ref?   bearer-svc:bearer-ref
        +--ro bearer-lag-member*   bearer-svc:bearer-ref
        +--ro sync-phy-capable?    boolean
        +--rw sync-phy-enabled?    boolean
        +--rw sync-phy-type?       identityref
        +--rw customer-point
        |  +--rw identified-by?   identityref
        |  +--rw device
        |  |  +--rw device-id?   string
        |  |  +--rw location
        |  |     +--rw location-name?   string
        |  |     +--rw address?         string
        |  |     +--rw postal-code?     string
        |  |     +--rw state?           string
        |  |     +--rw city?            string
        |  |     +--rw country-code?    string
        |  +--rw site
        |  |  +--rw site-id?    string
        |  |  +--rw location
        |  |     +--rw location-name?   string
        |  |     +--rw address?         string
        |  |     +--rw postal-code?     string
        |  |     +--rw state?           string
        |  |     +--rw city?            string
        |  |     +--rw country-code?    string
        |  +--rw custom-id?       string
        +--rw type?                identityref
        +--rw test-only?           empty
        +--ro bearer-reference?    string
        |       {vpn-common:bearer-reference}?
        +--ro ac-svc-ref*          ac-svc:attachment-circuit-reference
        +--rw requested-start?     yang:date-and-time
        +--rw requested-stop?      yang:date-and-time
        +--ro actual-start?        yang:date-and-time
        +--ro actual-stop?         yang:date-and-time
        +--rw status
           +--rw admin-status
           |  +--rw status?        identityref
           |  +--ro last-change?   yang:date-and-time
           +--ro oper-status
              +--ro status?        identityref
              +--ro last-change?   yang:date-and-time
]]></artwork>
        </figure>
        <t>The same customer site (CE, SF, etc.) can terminate one or multiple bearers; each of them uniquely identified by a reference that is assigned by the network provider. These bearers can terminate on the same or distinct network nodes. CEs that terminate multiple bearers are called multi-homed CEs.</t>
        <t>A bearer can be created, modified, or discovered from the network. For example, the following deployment options can be considered:</t>
        <dl>
          <dt>Greenfield creation:</dt>
          <dd>
            <t>In this scenario, bearers are created from scratch using specific requests made to a network controller. This method  allows providers to tailor bearer creation to meet customer-specific needs. For example, a bearer request may indicate some hints about the placement constraints ('placement-constraints'). These constraints are used by a provider to determine how/where to terminate a bearer in the network side (e.g., Point of Presence (PoP) or PE selection).</t>
          </dd>
          <dt>Auto-discovery using network protocols:</dt>
          <dd>
            <t>Devices can use specific protocols (e.g., Link Layer Discovery Protocol (LLDP) <xref target="IEEE802.1AB"/>) to automatically discover and connect to available network resources. A network controller can use such reported information to expose discovered bearers from the network using the same bearer data model structure.</t>
          </dd>
        </dl>
        <t>A request to create a bearer may include a set of constraints ("placement-constraints") that are used by a controller to decide the network terminating side of a bearer (e.g., PE selection, PE redundancy, or PoP selection). Future placement criteria ("constraint-type") may be defined in the future to accommodate specific deployment contexts.</t>
        <t>The descriptions of the bearer data nodes are as follows:</t>
        <dl>
          <dt>'name':</dt>
          <dd>
            <t>Used to uniquely identify a bearer. This name is typically selected by the client when requesting a bearer.</t>
          </dd>
          <dt>'description':</dt>
          <dd>
            <t>Includes a textual description of the bearer.</t>
          </dd>
          <dt>'group':</dt>
          <dd>
            <t>Tags a bearer with one ore more identifiers that are used to group a set of bearers.</t>
          </dd>
          <dt>'op-comment':</dt>
          <dd>
            <t>Includes operational comments that may be useful for managing the bearer (building, level, etc.). No structure is associated with this data node to accommodate all deployments.</t>
          </dd>
          <dt>'bearer-parent-ref':</dt>
          <dd>
            <t>Specifies the parent bearer. This data node can be used, e.g., if a bearer is a member of a LAG.</t>
          </dd>
          <dt>'bearer-lag-member':</dt>
          <dd>
            <t>Lists the bearers that are members of a LAG. Members can be declared as part of a LAG using 'bearer-parent-ref'.</t>
          </dd>
          <dt>'sync-phy-capable':</dt>
          <dd>
            <t>Reports whether a synchronization physical (Sync PHY) mechanism is supported for this bearer.</t>
          </dd>
          <dt>'sync-phy-enabled':</dt>
          <dd>
            <t>Indicates whether a Sync PHY mechanism is enabled for a bearer. Only applies when 'sync-phy-capable' is set to 'true'.</t>
          </dd>
          <dt>'sync-phy-type':</dt>
          <dd>
            <t>Specifies the Sync PHY mechanism (e.g., SynchE <xref target="ITU-T-G.781"/>) enabled for the bearer.</t>
          </dd>
          <dt>'customer-point':</dt>
          <dd>
            <t>Specifies the customer terminating point for the bearer. A bearer request can indicate a device, a site, a combination thereof, or a custom information when requesting a bearer. All these schemes are supported in the model.</t>
          </dd>
          <dt>'type':</dt>
          <dd>
            <t>Specifies the bearer type (Ethernet, wireless, LAG, etc.).</t>
          </dd>
          <dt>'test-only':</dt>
          <dd>
            <t>Indicates that a request is only for test and not for setting, even if there are no errors. This is used for feasibility checks. This data node is applicable only when the data model is used with protocols which do not natively support such option. For example, this data node is redundant with the "test-only" value of the <tt>&lt;test-option&gt;</tt> parameter in the NETCONF <tt>&lt;edit-config&gt;</tt> operation (<xref section="7.2" sectionFormat="of" target="RFC6241"/>).</t>
          </dd>
          <dt>'bearer-reference':</dt>
          <dd>
            <t>Returns an internal reference for the service provider to uniquely identify the bearer. This reference can be used when requesting services. <xref target="ex-create-bearer"/> provides an example about how this reference can be retrieved by a customer.</t>
          </dd>
          <dt/>
          <dd>
            <t>Whether the 'bearer-reference' mirrors the content of the 'name' is deployment-specific. The module does not assume nor preclude such schemes.</t>
          </dd>
          <dt>'ac-svc-ref':</dt>
          <dd>
            <t>Specifies the set of attachment circuits that are bound to the bearer.</t>
          </dd>
          <dt>'requested-start':</dt>
          <dd>
            <t>Specifies the requested date and time when the bearer is expected to be active.</t>
          </dd>
          <dt>'requested-stop':</dt>
          <dd>
            <t>Specifies the requested date and time when the bearer is expected to be disabled.</t>
          </dd>
          <dt>'actual-start':</dt>
          <dd>
            <t>Reports the actual date and time when the bearer actually was enabled.</t>
          </dd>
          <dt>'actual-stop':</dt>
          <dd>
            <t>Reports the actual date and time when the bearer actually was disabled.</t>
          </dd>
          <dt>'status':</dt>
          <dd>
            <t>Used to track the overall status of a given bearer. Both operational and administrative status are maintained together with a timestamp.</t>
          </dd>
          <dt/>
          <dd>
            <t>The "admin-status" attribute is typically configured by a network operator to indicate whether the service is enabled, disabled, or subjected to additional testing or pre-deployment checks. These additional options, such as 'admin-testing' and 'admin-pre-deployment', provide the operators the flexibility to conduct additional validations on the bearer before deploying services over that connection.</t>
          </dd>
          <dt>'oper-status':</dt>
          <dd>
            <t>The "oper-status" of a bearer reflects its operational state as observed. As a bearer can contain multiple services, the operational status should only reflect the status of the bearer connection. To obtain network-level service status, specific network models such as those in <xref section="7.3" sectionFormat="of" target="RFC9182"/>  or <xref section="7.3" sectionFormat="of" target="RFC9291"/> should be consulted.</t>
          </dd>
          <dt/>
          <dd>
            <t>It is important to note that the "admin-status" attribute should remain independent of the "oper-status". In other words, the setting of the intended administrative state (e.g., whether "admin-up" or "admin-testing") <bcp14>MUST NOT</bcp14> be influenced by the current operational state. If the bearer is administratively set to 'admin-down', it is expected that the bearer will also be operationally 'op-down' as a result of this administrative decision.</t>
          </dd>
          <dt/>
          <dd>
            <t>To assess the service delivery status for a given bearer comprehensively, it is recommended to consider both administrative and operational service status values in conjunction. This holistic approach  allows a network controller or operator to identify anomalies effectively.</t>
          </dd>
          <dt/>
          <dd>
            <t>For instance, when a bearer is administratively enabled but the "operational-status" of that bearer is reported as "op-down", it should be expected that the "oper-status" of services transported over that bearer is also down. These status values differing should trigger the detection of an anomaly condition.</t>
          </dd>
          <dt/>
          <dd>
            <t>See <xref target="RFC9181"/> for more details.</t>
          </dd>
        </dl>
      </section>
      <section anchor="the-attachment-circuit-service-ietf-ac-svc-yang-module">
        <name>The Attachment Circuit Service ("ietf-ac-svc") YANG Module</name>
        <t>The full tree diagram of the module can be generated using, e.g., the
"pyang" tool <xref target="PYANG"/>.  That tree is not included here because it is
too long (<xref section="3.4" sectionFormat="of" target="I-D.ietf-netmod-rfc8407bis"/>).  Instead, subtrees are provided
for the reader's convenience. The full tree of the 'ac-svc' is provided in <xref target="AC-svc-Tree"/>.</t>
        <section anchor="overall-structure">
          <name>Overall Structure</name>
          <t>The overall tree structure of the AC service module is shown in <xref target="o-svc-tree"/>.</t>
          <figure anchor="o-svc-tree">
            <name>Overall AC Service Tree Structure</name>
            <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        ...
        +--rw l2-connection
        |  ...
        +--rw ip-connection
        |  ...
        +--rw routing-protocols
        |  ...
        +--rw oam
        |  ...
        +--rw security
        |  ...
        +--rw service
           ...
]]></artwork>
          </figure>
          <t>The rationale for deciding whether a reusable grouping should be maintained in this document or be moved into the AC common module <xref target="I-D.ietf-opsawg-teas-common-ac"/> is as follows:</t>
          <ul spacing="normal">
            <li>
              <t>Groupings that are reusable among the AC service module, AC network module, other service models, and network models are included in the AC common module.</t>
            </li>
            <li>
              <t>Groupings that are reusable only by other service models are maintained in the "ietf-ac-svc" module.</t>
            </li>
          </ul>
          <t>Each AC is identified with a unique name ('../ac/name') within a domain. The mapping between this AC and a local PE that terminates the AC is hidden to the application that makes use of the AC service model. This information is internal to the Network controller. As such, the details about the (node-specific) attachment interfaces are not exposed in this service model.</t>
          <t>The AC service model uses groupings and types defined in the AC common model <xref target="I-D.ietf-opsawg-teas-common-ac"/>. Therefore, the description of these nodes are not reiterated in the following subsections.</t>
        </section>
        <section anchor="sec-profiles">
          <name>Service Profiles</name>
          <section anchor="description">
            <name>Description</name>
            <t>The 'specific-provisioning-profiles' container (<xref target="gp-svc-tree"/>) can be used by a service provider to maintain a set of reusable profiles. The profiles definitions are similar to those defined in <xref target="RFC9181"/>, including: Quality of Service (QoS),  Bidirectional Forwarding Detection (BFD), forwarding, and routing profiles. The exact definition of the profiles is local to each service provider. The model only includes an identifier for these profiles in order to facilitate identifying and binding local policies when building an AC.</t>
            <figure anchor="gp-svc-tree">
              <name>Service Profiles</name>
              <artwork align="center"><![CDATA[
module: ietf-ac-svc
  +--rw specific-provisioning-profiles
  |  +--rw valid-provider-identifiers
  |     +--rw encryption-profile-identifier* [id]
  |     |  +--rw id    string
  |     +--rw qos-profile-identifier* [id]
  |     |  +--rw id    string
  |     +--rw bfd-profile-identifier* [id]
  |     |  +--rw id    string
  |     +--rw forwarding-profile-identifier* [id]
  |     |  +--rw id    string
  |     +--rw routing-profile-identifier* [id]
  |        +--rw id    string
  +--rw service-provisioning-profiles
  |  +--rw service-profile-identifier* [id]
  |     +--rw id    string
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        ...
        +--rw l2-connection
        |  ...
        +--rw ip-connection
        |  ...
        +--rw routing-protocols
        |  ...
        +--rw oam
        |  ...
        +--rw security
        |  ...
        +--rw service
           ...
]]></artwork>
            </figure>
            <t>As shown in <xref target="gp-svc-tree"/>, two profile types can be defined: 'specific-provisioning-profiles' and 'service-provisioning-profiles'. Whether only specific profiles, service profiles, or a combination thereof are used is local to each service provider.</t>
            <t>The following specific provisioning profiles can be defined:</t>
            <dl>
              <dt>'encryption-profile-identifier':</dt>
              <dd>
                <t>Refers to a set of policies related to the encryption setup that can be applied when provisioning an AC.</t>
              </dd>
              <dt>'qos-profile-identifier':</dt>
              <dd>
                <t>Refers to a set of policies, such as classification, marking, and actions (e.g., <xref target="RFC3644"/>).</t>
              </dd>
              <dt>'bfd-profile-identifier':</dt>
              <dd>
                <t>Refers to a set of Bidirectional Forwarding Detection (BFD) policies <xref target="RFC5880"/> that can be invoked when building an AC.</t>
              </dd>
              <dt>'forwarding-profile-identifier':</dt>
              <dd>
                <t>Refers to the policies that apply to the forwarding of packets conveyed within an AC. Such policies may consist, for example, of applying Access Control Lists (ACLs).</t>
              </dd>
              <dt>'routing-profile-identifier':</dt>
              <dd>
                <t>Refers to a set of routing policies that will be invoked (e.g., BGP policies) when building an AC.</t>
              </dd>
            </dl>
          </section>
          <section anchor="referencing-servicespecific-profiles">
            <name>Referencing Service/Specific Profiles</name>
            <t>All the abovementioned profiles are uniquely identified by the NETCONF/RESTCONF server by an identifier. To ease referencing these profiles by other data models, specific typedefs are defined for each of these profiles. Likewise, an attachment circuit reference typedef is defined when referencing a (global) attachment circuit by its name is required. These typedefs <bcp14>SHOULD</bcp14> be used when other modules need a reference to one of these profiles or attachment circuits.</t>
          </section>
        </section>
        <section anchor="sec-acp">
          <name>Attachment Circuits Profiles</name>
          <t>The 'ac-group-profile' defines reusable parameters for a set of ACs. Each profile is identified by 'name'. Some of the data nodes can be adjusted at the 'ac'.
These adjusted values take precedence over the global values.  The structure of 'ac-group-profile' is similar to the one used to model each 'ac' (<xref target="ac-svc-tree"/>).</t>
        </section>
        <section anchor="sec-pc">
          <name>AC Placement Contraints</name>
          <t>The 'placement-constraints' specifies the placement constraints of an AC. For example, this container can be used to request avoidance of connecting two ACs to the same PE. The full set of supported constraints is defined in <xref target="RFC9181"/> (see 'placement-diversity', in particular).</t>
          <t>The structure of 'placement-constraints' is shown in <xref target="precedence-tree"/>.</t>
          <figure anchor="precedence-tree">
            <name>Placement Constraints Subtree Structure</name>
            <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name] 
     |  ...                                
     +--rw placement-constraints
     |  +--rw constraint* [constraint-type]
     |     +--rw constraint-type    identityref
     |     +--rw target
     |        +--rw (target-flavor)?
     |           +--:(id)
     |           |  +--rw group* [group-id]
     |           |     +--rw group-id    string
     |           +--:(all-accesses)
     |           |  +--rw all-other-accesses?   empty
     |           +--:(all-groups)
     |              +--rw all-other-groups?     empty
     +--rw ac* [name]
        ...
]]></artwork>
          </figure>
        </section>
        <section anchor="attachment-circuits">
          <name>Attachment Circuits</name>
          <t>The structure of 'attachment-circuits' is shown in <xref target="ac-svc-tree"/>.</t>
          <figure anchor="ac-svc-tree">
            <name>Attachment Circuits Tree Structure</name>
            <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        +--rw customer-name?       string
        +--rw description?         string
        +--rw test-only?          empty
        +--rw requested-start?     yang:date-and-time
        +--rw requested-stop?      yang:date-and-time
        +--ro actual-start?        yang:date-and-time
        +--ro actual-stop?         yang:date-and-time
        +--rw peer-sap-id*         string
        +--rw ac-group-profile*    ac-group-reference
        +--rw ac-parent-ref?       ac-svc:attachment-circuit-reference
        +--ro child-ac-ref*        ac-svc:attachment-circuit-reference
        +--rw group* [group-id]
        |  +--rw group-id      string
        |  +--rw precedence?   identityref
        +--ro service-ref* [service-type service-id]
        |  +--ro service-type    identityref
        |  +--ro service-id      string
        +--rw name                 string
        +--rw service-profile*     service-profile-reference        
        +--rw l2-connection
        |  ...
        +--rw ip-connection
        |  ...
        +--rw routing-protocols
        |  ...
        +--rw oam
        |  ...
        +--rw security
        |  ...
        +--rw service
           ...
]]></artwork>
          </figure>
          <t>The description of the data nodes is as follows:</t>
          <dl>
            <dt>'customer-name':</dt>
            <dd>
              <t>Indicates the name of the customer who ordered the AC.</t>
            </dd>
            <dt>'description':</dt>
            <dd>
              <t>Includes a textual description of the AC.</t>
            </dd>
            <dt>'test-only':</dt>
            <dd>
              <t>Indicates that a request is only for test and not for setting, even if there are no errors. This is used for feasibility checks. This data node is applicable only when the data model is used with protocols which do not natively support such option.</t>
            </dd>
            <dt>'requested-start':</dt>
            <dd>
              <t>Specifies the requested date and time when the attachment circuit is expected to be active.</t>
            </dd>
            <dt>'requested-stop':</dt>
            <dd>
              <t>Specifies the requested date and time when the attachment circuit is expected to be disabled.</t>
            </dd>
            <dt>'actual-start':</dt>
            <dd>
              <t>Reports the actual date and time when the attachment circuit actually was enabled.</t>
            </dd>
            <dt>'actual-stop':</dt>
            <dd>
              <t>Reports the actual date and time when the attachment circuit actually was disabled.</t>
            </dd>
            <dt>'peer-sap-id':</dt>
            <dd>
              <t>Includes references to the remote endpoints of an attachment circuit <xref target="RFC9408"/>.</t>
            </dd>
            <dt>'ac-group-profile':</dt>
            <dd>
              <t>Indicates references to one or more profiles that are defined in <xref target="sec-acp"/>.</t>
            </dd>
            <dt>'ac-parent-ref':</dt>
            <dd>
              <t>Specifies an AC that is inherited by an attachment circuit.</t>
            </dd>
            <dt/>
            <dd>
              <t>In contexts where dynamic terminating points are managed for a given AC,
a parent AC can be defined with a set of stable and common information, while
"child" ACs are defined to track dynamic information. These "child" ACs are bound to the parent AC, which is exposed to services (as a stable reference).</t>
            </dd>
            <dt/>
            <dd>
              <t>Whenever a parent AC is deleted, all its "child" ACs <bcp14>MUST</bcp14> be deleted.</t>
            </dd>
            <dt>'child-ac-ref':</dt>
            <dd>
              <t>Lists one or more references of child ACs that rely upon this attachment circuit as a parent AC.</t>
            </dd>
            <dt>'group':</dt>
            <dd>
              <t>Lists the groups to which an AC belongs <xref target="RFC9181"/>. For example, the 'group-id' is used to associate redundancy or protection constraints of ACs. An example is provided in <xref target="sec-ex-prec"/>.</t>
            </dd>
            <dt>'service-ref':</dt>
            <dd>
              <t>Reports the set of services that are bound to the attachment circuit. The services are indexed by their type.</t>
            </dd>
            <dt>'name':</dt>
            <dd>
              <t>Associates a name that uniquely identifies an AC within a service provider network.</t>
            </dd>
            <dt>'service-profile':</dt>
            <dd>
              <t>References a set of service-specific profiles.</t>
            </dd>
            <dt>'l2-connection':</dt>
            <dd>
              <t>See <xref target="sec-l2"/>.</t>
            </dd>
            <dt>'ip-connection':</dt>
            <dd>
              <t>See <xref target="sec-l3"/>.</t>
            </dd>
            <dt>'routing':</dt>
            <dd>
              <t>See <xref target="sec-rtg"/>.</t>
            </dd>
            <dt>'oam':</dt>
            <dd>
              <t>See <xref target="sec-oam"/>.</t>
            </dd>
            <dt>'security':</dt>
            <dd>
              <t>See <xref target="sec-sec"/>.</t>
            </dd>
            <dt>'service':</dt>
            <dd>
              <t>See <xref target="sec-bw"/>.</t>
            </dd>
          </dl>
          <section anchor="sec-l2">
            <name>Layer 2 Connection Structure</name>
            <t>The 'l2-connection' container (<xref target="l2-svc-tree"/>) is used to configure the relevant Layer 2 properties of an AC including: encapsulation details and tunnel terminations. For the encapsulation details, the model supports the definition of the type as well as the Identifiers (e.g., VLAN-IDs) of each of the encapsulation-type defined. For the second case, attributes for pseudowire, Virtual Private LAN Service (VPLS), and  Virtual eXtensible Local Area Network (VXLAN) tunnel terminations are included.</t>
            <t>'bearer-reference' is used to link an AC with a bearer over which the AC is instantiated.</t>
            <t>This structure relies upon the common groupings defined in <xref target="I-D.ietf-opsawg-teas-common-ac"/>.</t>
            <figure anchor="l2-svc-tree">
              <name>Layer 2 Connection Tree Structure</name>
              <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        ...
        +--rw name                 string
        +--rw l2-connection
        |  +--rw encapsulation
        |  |  +--rw type?              identityref
        |  |  +--rw dot1q
        |  |  |  +--rw tag-type?   identityref
        |  |  |  +--rw cvlan-id?   uint16
        |  |  +--rw priority-tagged
        |  |  |  +--rw tag-type?   identityref
        |  |  +--rw qinq
        |  |     +--rw tag-type?   identityref
        |  |     +--rw svlan-id    uint16
        |  |     +--rw cvlan-id    uint16
        |  +--rw (l2-service)?
        |  |  +--:(l2-tunnel-service)
        |  |  |  +--rw l2-tunnel-service
        |  |  |     +--rw type?         identityref
        |  |  |     +--rw pseudowire
        |  |  |     |  +--rw vcid?      uint32
        |  |  |     |  +--rw far-end?   union
        |  |  |     +--rw vpls
        |  |  |     |  +--rw vcid?      uint32
        |  |  |     |  +--rw far-end*   union
        |  |  |     +--rw vxlan
        |  |  |        +--rw vni-id             uint32
        |  |  |        +--rw peer-mode?         identityref
        |  |  |        +--rw peer-ip-address*   inet:ip-address
        |  |  +--:(l2vpn)
        |  |     +--rw l2vpn-id?            vpn-common:vpn-id
        |  +--rw bearer-reference?          string
        |          {vpn-common:bearer-reference}?
        +--rw ip-connection
        |  ...
        +--rw routing-protocols
        |  ...
        +--rw oam
        |  ...
        +--rw security
        |  ...
        +--rw service
           ...
]]></artwork>
            </figure>
          </section>
          <section anchor="sec-l3">
            <name>IP Connection Structure</name>
            <t>The 'ip-connection' container is used to configure the relevant IP properties of an AC. The model supports the usage of dynamic and static addressing. This structure relies upon the common groupings defined in <xref target="I-D.ietf-opsawg-teas-common-ac"/>. Both IPv4 and IPv6 parameters are supported.</t>
            <t><xref target="ipv4-svc-tree"/> shows the structure of the IPv4 connection.</t>
            <figure anchor="ipv4-svc-tree">
              <name>Layer 3 Connection Tree Structure (IPv4)</name>
              <artwork align="center"><![CDATA[
        | ...
        +--rw ip-connection
        |  +--rw ipv4 {vpn-common:ipv4}?
        |  |  +--rw local-address?
        |  |  |       inet:ipv4-address
        |  |  +--rw virtual-address?
        |  |  |       inet:ipv4-address
        |  |  +--rw prefix-length?                           uint8
        |  |  +--rw address-allocation-type?
        |  |  |       identityref
        |  |  +--rw (allocation-type)?
        |  |     +--:(dynamic)
        |  |     |  +--rw (address-assign)?
        |  |     |  |  +--:(number)
        |  |     |  |  |  +--rw number-of-dynamic-address?   uint16
        |  |     |  |  +--:(explicit)
        |  |     |  |     +--rw customer-addresses
        |  |     |  |        +--rw address-pool* [pool-id]
        |  |     |  |           +--rw pool-id          string
        |  |     |  |           +--rw start-address
        |  |     |  |           |       inet:ipv4-address
        |  |     |  |           +--rw end-address?
        |  |     |  |                   inet:ipv4-address
        |  |     |  +--rw (provider-dhcp)?
        |  |     |  |  +--:(dhcp-service-type)
        |  |     |  |     +--rw dhcp-service-type?
        |  |     |  |             enumeration
        |  |     |  +--rw (dhcp-relay)?
        |  |     |     +--:(customer-dhcp-servers)
        |  |     |        +--rw customer-dhcp-servers
        |  |     |           +--rw server-ip-address*
        |  |     |                   inet:ipv4-address
        |  |     +--:(static-addresses)
        |  |        +--rw address* [address-id]
        |  |           +--rw address-id          string
        |  |           +--rw customer-address?   inet:ipv4-address
        |  +--rw ipv6 {vpn-common:ipv6}?
        |     ...
]]></artwork>
            </figure>
            <t><xref target="ipv6-svc-tree"/> shows the structure of the IPv6 connection.</t>
            <figure anchor="ipv6-svc-tree">
              <name>Layer 3 Connection Tree Structure (IPv6)</name>
              <artwork align="center"><![CDATA[
        | ...
        +--rw ip-connection
        |  +--rw ipv4 {vpn-common:ipv4}?
        |  |  ...
        |  +--rw ipv6 {vpn-common:ipv6}?
        |     +--rw local-address?
        |     |       inet:ipv6-address
        |     +--rw virtual-address?
        |     |       inet:ipv6-address
        |     +--rw prefix-length?                           uint8
        |     +--rw address-allocation-type?
        |     |       identityref
        |     +--rw (allocation-type)?
        |        +--:(dynamic)
        |        |  +--rw (address-assign)?
        |        |  |  +--:(number)
        |        |  |  |  +--rw number-of-dynamic-address?   uint16
        |        |  |  +--:(explicit)
        |        |  |     +--rw customer-addresses
        |        |  |        +--rw address-pool* [pool-id]
        |        |  |           +--rw pool-id          string
        |        |  |           +--rw start-address
        |        |  |           |       inet:ipv6-address
        |        |  |           +--rw end-address?
        |        |  |                   inet:ipv6-address
        |        |  +--rw (provider-dhcp)?
        |        |  |  +--:(dhcp-service-type)
        |        |  |     +--rw dhcp-service-type?
        |        |  |             enumeration
        |        |  +--rw (dhcp-relay)?
        |        |     +--:(customer-dhcp-servers)
        |        |        +--rw customer-dhcp-servers
        |        |           +--rw server-ip-address*
        |        |                   inet:ipv6-address
        |        +--:(static-addresses)
        |           +--rw address* [address-id]
        |              +--rw address-id          string
        |              +--rw customer-address?   inet:ipv6-address
           ...
]]></artwork>
            </figure>
          </section>
          <section anchor="sec-rtg">
            <name>Routing</name>
            <t>As shown in the tree depicted in <xref target="rtg-svc-tree"/>, the 'routing-protocols' container defines the required parameters to enable the desired routing features for an AC. One or more routing protocols can be associated with an AC.  Such routing protocols will be then enabled between a PE and the customer terminating points. Each routing instance is uniquely identified by the combination of the 'id' and 'type' to accommodate scenarios where multiple instances of the same routing protocol have to be configured on the same link.</t>
            <t>In addition to static routing (<xref target="sec-static-rtg"/>), the module supports BGP (<xref target="sec-bgp-rtg"/>), OSPF (<xref target="sec-ospf-rtg"/>), IS-IS (<xref target="sec-isis-rtg"/>), and RIP (<xref target="sec-rip-rtg"/>). It also includes a reference to the 'routing-profile-identifier' defined in <xref target="sec-profiles"/>, so that additional constraints can be applied to a specific instance of each routing protocol. Moreover, the module supports VRRP (<xref target="sec-vrrp-rtg"/>).</t>
            <figure anchor="rtg-svc-tree">
              <name>Routing Tree Structure</name>
              <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        +--rw customer-name?       string
        +--rw description?         string
        +--rw requested-start?     yang:date-and-time
        +--rw requested-stop?      yang:date-and-time
        +--ro actual-start?        yang:date-and-time
        +--ro actual-stop?         yang:date-and-time
        +--rw peer-sap-id*         string
        +--rw ac-group-profile*    ac-group-reference
        +--rw group* [group-id]
        |  +--rw group-id      string
        |  +--rw precedence?   identityref
        +--rw name                 string
        +--rw l2-connection
        | ...
        +--rw ip-connection
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  ...
        |     +--rw bgp
        |     |  ...
        |     +--rw ospf
        |     |  ...
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |        ...
        +--rw oam
        |  ...
        +--rw security
        |  ...
        +--rw service
           ...
]]></artwork>
            </figure>
            <section anchor="sec-static-rtg">
              <name>Static Routing</name>
              <t>The static tree structure is shown in <xref target="static-rtg-svc-tree"/>.</t>
              <figure anchor="static-rtg-svc-tree">
                <name>Static Routing Tree Structure</name>
                <artwork align="center"><![CDATA[
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  +--rw cascaded-lan-prefixes
        |     |     +--rw ipv4-lan-prefixes* [lan next-hop]
        |     |     |       {vpn-common:ipv4}?
        |     |     |  +--rw lan         inet:ipv4-prefix
        |     |     |  +--rw lan-tag?    string
        |     |     |  +--rw next-hop    union
        |     |     |  +--rw metric?     uint32
        |     |     |  +--rw bfd-profile?   bfd-profile-reference
        |     |     |  +--rw status
        |     |     |     +--rw admin-status
        |     |     |     |  +--rw status?        identityref
        |     |     |     |  +--ro last-change?   yang:date-and-time
        |     |     |     +--ro oper-status
        |     |     |        +--ro status?        identityref
        |     |     |        +--ro last-change?   yang:date-and-time
        |     |     +--rw ipv6-lan-prefixes* [lan next-hop]
        |     |             {vpn-common:ipv6}?
        |     |        +--rw lan         inet:ipv6-prefix
        |     |        +--rw lan-tag?    string
        |     |        +--rw next-hop    union
        |     |        +--rw metric?     uint32
        |     |        +--rw bfd-profile?   bfd-profile-reference
        |     |        +--rw status
        |     |           +--rw admin-status
        |     |           |  +--rw status?        identityref
        |     |           |  +--ro last-change?   yang:date-and-time
        |     |           +--ro oper-status
        |     |              +--ro status?        identityref
        |     |              +--ro last-change?   yang:date-and-time
        |     +--rw bgp
        |     |  ...
        |     +--rw ospf
        |     |  ...
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |        ...
]]></artwork>
              </figure>
              <t>As depicted in <xref target="static-rtg-svc-tree"/>, the following data nodes can be defined for a given IP prefix:</t>
              <dl>
                <dt>'lan-tag':</dt>
                <dd>
                  <t>Indicates a local tag (e.g., "myfavorite-lan") that is used to enforce local policies.</t>
                </dd>
                <dt>'next-hop':</dt>
                <dd>
                  <t>Indicates the next hop to be used for the static route.</t>
                </dd>
                <dt/>
                <dd>
                  <t>It can be identified by an IP address, a predefined next-hop type (e.g., 'discard' or 'local-link'), etc.</t>
                </dd>
                <dt>'metric':</dt>
                <dd>
                  <t>Indicates the metric associated with the static route entry. This metric is used when the route is exported into an IGP.</t>
                </dd>
                <dt>'bfd-profile':</dt>
                <dd>
                  <t>Indicates a BFD profile that applies for this entry.</t>
                </dd>
                <dt>'status':</dt>
                <dd>
                  <t>Used to convey the status of a static route entry. This data node can also be used to control the (de)activation of individual static route entries.</t>
                </dd>
              </dl>
            </section>
            <section anchor="sec-bgp-rtg">
              <name>BGP</name>
              <t>The BGP tree structure is shown in <xref target="bgp-rtg-svc-tree"/>.</t>
              <figure anchor="bgp-rtg-svc-tree">
                <name>BGP Tree Structure</name>
                <artwork align="center"><![CDATA[
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  ...
        |     +--rw bgp
        |     |  +--rw peer-groups
        |     |  |  +--rw peer-group* [name]
        |     |  |     +--rw name              string
        |     |  |     +--ro local-as?         inet:as-number
        |     |  |     +--rw peer-as?          inet:as-number
        |     |  |     +--rw address-family?   identityref
        |     |  |     +--ro local-address?    inet:ip-address
        |     |  |     +--rw authentication
        |     |  |        +--rw enabled?            boolean
        |     |  |        +--rw keying-material
        |     |  |           +--rw (option)?
        |     |  |              +--:(ao)
        |     |  |              |  +--rw enable-ao?          boolean
        |     |  |              |  +--rw ao-keychain?
        |     |  |              |          key-chain:key-chain-ref
        |     |  |              +--:(md5)
        |     |  |              |  +--rw md5-keychain?
        |     |  |              |          key-chain:key-chain-ref
        |     |  |              +--:(explicit)
        |     |  |                 +--rw key-id?             uint32
        |     |  |                 +--rw key?                string
        |     |  |                 +--rw crypto-algorithm?
        |     |  |                         identityref
        |     |  +--rw neighbor* [id]
        |     |     +--rw id                string
        |     |     +--rw remote-address?   inet:ip-address
        |     |     +--ro local-address?    inet:ip-address
        |     |     +--rw peer-group?
        |     |     |       -> ../../peer-groups/peer-group/name
        |     |     +--rw bfd-profile?      bfd-profile-reference
        |     |     +--ro local-as?         inet:as-number
        |     |     +--rw peer-as?          inet:as-number
        |     |     +--rw address-family?   identityref
        |     |     +--rw authentication
        |     |     |  +--rw enabled?            boolean
        |     |     |  +--rw keying-material
        |     |     |     +--rw (option)?
        |     |     |        +--:(ao)
        |     |     |        |  +--rw enable-ao?          boolean
        |     |     |        |  +--rw ao-keychain?
        |     |     |        |          key-chain:key-chain-ref
        |     |     |        +--:(md5)
        |     |     |        |  +--rw md5-keychain?
        |     |     |        |          key-chain:key-chain-ref
        |     |     |        +--:(explicit)
        |     |     |           +--rw key-id?             uint32
        |     |     |           +--rw key?                string
        |     |     |           +--rw crypto-algorithm?   identityref
        |     |     +--rw status
        |     |        +--rw admin-status
        |     |        |  +--rw status?        identityref
        |     |        |  +--ro last-change?   yang:date-and-time
        |     |        +--ro oper-status
        |     |           +--ro status?        identityref
        |     |           +--ro last-change?   yang:date-and-time
        |     +--rw ospf
        |     |  ...
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |        ...
]]></artwork>
              </figure>
              <t>The following data nodes are supported for each BGP 'peer-group':</t>
              <dl>
                <dt>'name':</dt>
                <dd>
                  <t>Defines a name for the peer group.</t>
                </dd>
                <dt>'local-as':</dt>
                <dd>
                  <t>Indicates a local AS Number (ASN).</t>
                </dd>
                <dt>'peer-as':</dt>
                <dd>
                  <t>Indicates the peer's ASN.</t>
                </dd>
                <dt>'address-family':</dt>
                <dd>
                  <t>Indicates the address family of the peer. It can be set to 'ipv4', 'ipv6', or 'dual-stack'.</t>
                </dd>
                <dt/>
                <dd>
                  <t>This address family might be used together with the service type that uses an AC (e.g., 'vpn-type' <xref target="RFC9182"/>) to derive the appropriate Address Family Identifiers (AFIs) / Subsequent Address Family Identifiers (SAFIs) that will be part of the derived device configurations (e.g., unicast IPv4 MPLS L3VPN (AFI,SAFI = 1,128) as defined in <xref section="4.3.4" sectionFormat="of" target="RFC4364"/>).</t>
                </dd>
                <dt>'local-address':</dt>
                <dd>
                  <t>Specifies an address or a reference to an interface to use when establishing the BGP transport session.</t>
                </dd>
                <dt>'authentication':</dt>
                <dd>
                  <t>The module adheres to the recommendations in <xref section="13.2" sectionFormat="of" target="RFC4364"/>, as it allows enabling the TCP Authentication Option (TCP-AO) <xref target="RFC5925"/> and accommodates the installed base that makes use of MD5. In addition, the module includes a provision for using IPsec.</t>
                </dd>
                <dt/>
                <dd>
                  <t>Similar to <xref target="RFC9182"/>, this version of the ACaaS assumes that parameters specific to the TCP-AO are preconfigured as part of the key chain that is referenced in the ACaaS. No assumption is made about how such a key chain is preconfigured. However, the structure of the key chain should cover data nodes beyond those in <xref target="RFC8177"/>, mainly SendID and RecvID (<xref section="3.1" sectionFormat="of" target="RFC5925"/>).</t>
                </dd>
              </dl>
              <t>For each neighbor, the following data nodes are supported in addition to similar parameters that are provided for a peer group:</t>
              <dl>
                <dt>'remote-address':</dt>
                <dd>
                  <t>Specifies the remote IP address of a BGP neighbor.</t>
                </dd>
                <dt>'peer-group':</dt>
                <dd>
                  <t>A name of a peer group.</t>
                </dd>
                <dt/>
                <dd>
                  <t>Parameters that are provided at the 'neighbor' level takes precedence over the ones provided in the peer group.</t>
                </dd>
                <dt>'bfd-profile':</dt>
                <dd>
                  <t>Indicates a BFD profile that applies for a BGP neighbor.</t>
                </dd>
                <dt>'status':</dt>
                <dd>
                  <t>Indicates the status of the BGP routing instance.</t>
                </dd>
              </dl>
            </section>
            <section anchor="sec-ospf-rtg">
              <name>OSPF</name>
              <t>The OSPF tree structure is shown in <xref target="ospf-rtg-svc-tree"/>.</t>
              <figure anchor="ospf-rtg-svc-tree">
                <name>OSPF Tree Structure</name>
                <artwork align="center"><![CDATA[
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  ...
        |     +--rw bgp
        |     |  ...
        |     +--rw ospf
        |     |  +--rw address-family?   identityref
        |     |  +--rw area-id           yang:dotted-quad
        |     |  +--rw metric?           uint16
        |     |  +--rw authentication
        |     |  |  +--rw enabled?            boolean
        |     |  |  +--rw keying-material
        |     |  |     +--rw (option)?
        |     |  |        +--:(auth-key-chain)
        |     |  |        |  +--rw key-chain?
        |     |  |        |          key-chain:key-chain-ref
        |     |  |        +--:(auth-key-explicit)
        |     |  |           +--rw key-id?             uint32
        |     |  |           +--rw key?                string
        |     |  |           +--rw crypto-algorithm?   identityref
        |     |  +--rw status
        |     |     +--rw admin-status
        |     |     |  +--rw status?        identityref
        |     |     |  +--ro last-change?   yang:date-and-time
        |     |     +--ro oper-status
        |     |        +--ro status?        identityref
        |     |        +--ro last-change?   yang:date-and-time
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |        ...
]]></artwork>
              </figure>
              <t>The following OSPF data nodes are supported:</t>
              <dl>
                <dt>'address-family':</dt>
                <dd>
                  <t>Indicates whether IPv4, IPv6, or both address families are to be activated.</t>
                </dd>
                <dt>'area-id':</dt>
                <dd>
                  <t>Indicates the OSPF Area ID.</t>
                </dd>
                <dt>'metric':</dt>
                <dd>
                  <t>Associates a metric with OSPF routes.</t>
                </dd>
                <dt>'sham-links':</dt>
                <dd>
                  <t>Used to create OSPF sham links between two ACs sharing the same area and having a backdoor link (<xref section="4.2.7" sectionFormat="of" target="RFC4577"/> and <xref section="5" sectionFormat="of" target="RFC6565"/>).</t>
                </dd>
                <dt>'authentication':</dt>
                <dd>
                  <t>Controls the authentication schemes to be enabled for the OSPF instance. The following options are supported: IPsec for OSPFv3 authentication <xref target="RFC4552"/>, and the Authentication Trailer for OSPFv2 <xref target="RFC5709"/><xref target="RFC7474"/> and OSPFv3 <xref target="RFC7166"/>.</t>
                </dd>
                <dt>'status':</dt>
                <dd>
                  <t>Indicates the status of the OSPF routing instance.</t>
                </dd>
              </dl>
            </section>
            <section anchor="sec-isis-rtg">
              <name>IS-IS</name>
              <t>The IS-IS tree structure is shown in <xref target="isis-rtg-svc-tree"/>.</t>
              <figure anchor="isis-rtg-svc-tree">
                <name>IS-IS Tree Structure</name>
                <artwork align="center"><![CDATA[
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  ...
        |     +--rw bgp
        |     |  ...
        |     +--rw ospf
        |     |  ...
        |     +--rw isis
        |     |  +--rw address-family?   identityref
        |     |  +--rw area-address      area-address
        |     |  +--rw authentication
        |     |  |  +--rw enabled?            boolean
        |     |  |  +--rw keying-material
        |     |  |     +--rw (option)?
        |     |  |        +--:(auth-key-chain)
        |     |  |        |  +--rw key-chain?
        |     |  |        |          key-chain:key-chain-ref
        |     |  |        +--:(auth-key-explicit)
        |     |  |           +--rw key-id?             uint32
        |     |  |           +--rw key?                string
        |     |  |           +--rw crypto-algorithm?   identityref
        |     |  +--rw status
        |     |     +--rw admin-status
        |     |     |  +--rw status?        identityref
        |     |     |  +--ro last-change?   yang:date-and-time
        |     |     +--ro oper-status
        |     |        +--ro status?        identityref
        |     |        +--ro last-change?   yang:date-and-time
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |      ...
]]></artwork>
              </figure>
              <t>The following IS-IS data nodes are supported:</t>
              <dl>
                <dt>'address-family':</dt>
                <dd>
                  <t>Indicates whether IPv4, IPv6, or both address families are to be activated.</t>
                </dd>
                <dt>'area-address':</dt>
                <dd>
                  <t>Indicates the IS-IS area address.</t>
                </dd>
                <dt>'authentication':</dt>
                <dd>
                  <t>Controls the authentication schemes to be enabled
   for the IS-IS instance.  Both the specification of a key chain
   <xref target="RFC8177"/> and the direct specification of key and authentication
   algorithms are supported.</t>
                </dd>
                <dt>'status':</dt>
                <dd>
                  <t>Indicates the status of the IS-IS routing instance.</t>
                </dd>
              </dl>
            </section>
            <section anchor="sec-rip-rtg">
              <name>RIP</name>
              <t>The RIP tree structure is shown in <xref target="rip-rtg-svc-tree"/>.</t>
              <figure anchor="rip-rtg-svc-tree">
                <name>RIP Tree Structure</name>
                <artwork align="center"><![CDATA[
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  ...
        |     +--rw bgp
        |     |  ...
        |     +--rw ospf
        |     |  ...
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  +--rw address-family?   identityref
        |     |  +--rw authentication
        |     |  |  +--rw enabled?            boolean
        |     |  |  +--rw keying-material
        |     |  |     +--rw (option)?
        |     |  |        +--:(auth-key-chain)
        |     |  |        |  +--rw key-chain?
        |     |  |        |          key-chain:key-chain-ref
        |     |  |        +--:(auth-key-explicit)
        |     |  |           +--rw key?                string
        |     |  |           +--rw crypto-algorithm?   identityref
        |     |  +--rw status
        |     |     +--rw admin-status
        |     |     |  +--rw status?        identityref
        |     |     |  +--ro last-change?   yang:date-and-time
        |     |     +--ro oper-status
        |     |        +--ro status?        identityref
        |     |        +--ro last-change?   yang:date-and-time
        |     +--rw vrrp
        |      ...
]]></artwork>
              </figure>
              <t>'address-family' indicates whether IPv4, IPv6, or both address families are to be activated. For example, this parameter is used to determine whether RIPv2 <xref target="RFC2453"/>, RIP Next Generation (RIPng), or both are to be enabled <xref target="RFC2080"/>.</t>
            </section>
            <section anchor="sec-vrrp-rtg">
              <name>VRRP</name>
              <t>The model supports the Virtual Router Redundancy Protocol (VRRP) <xref target="RFC5798"/> on an AC (<xref target="vrrp-rtg-svc-tree"/>).</t>
              <figure anchor="vrrp-rtg-svc-tree">
                <name>VRRP Tree Structure</name>
                <artwork align="center"><![CDATA[
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  ...
        |     +--rw bgp
        |     |  ...
        |     +--rw ospf
        |     |  ...
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |        +--rw address-family?   identityref
        |        +--rw status
        |           +--rw admin-status
        |           |  +--rw status?        identityref
        |           |  +--ro last-change?   yang:date-and-time
        |           +--ro oper-status
        |              +--ro status?        identityref
        |              +--ro last-change?   yang:date-and-time
]]></artwork>
              </figure>
              <t>The following data nodes are supported:</t>
              <dl>
                <dt>'address-family':</dt>
                <dd>
                  <t>Indicates whether IPv4, IPv6, or both address
    families are to be activated.  Note that VRRP version 3 <xref target="RFC5798"/>
    supports both IPv4 and IPv6.</t>
                </dd>
                <dt>'status':</dt>
                <dd>
                  <t>Indicates the status of the VRRP instance.</t>
                </dd>
              </dl>
              <t>Note that no authentication data node is included for VRRP, as there
isn't any type of VRRP authentication at this time (see <xref section="9" sectionFormat="of" target="RFC5798"/>).</t>
            </section>
          </section>
          <section anchor="sec-oam">
            <name>Operations, Administration, and Maintenance (OAM)</name>
            <t>As shown in the tree depicted in <xref target="oam-svc-tree"/>, the 'oam' container defines OAM-related parameters of an AC.</t>
            <figure anchor="oam-svc-tree">
              <name>OAM Tree Structure</name>
              <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        ...
        +--rw l2-connection
        |  ...
        +--rw ip-connection
        |  ...
        +--rw routing-protocols
        |  ...
        +--rw oam
        |  +--rw bfd {vpn-common:bfd}?
        |     +--rw profile?    bfd-profile-reference
        |     +--rw holdtime?   uint32
        |     +--rw status
        |        +--rw admin-status
        |        |  +--rw status?        identityref
        |        |  +--ro last-change?   yang:date-and-time
        |        +--ro oper-status
        |           +--ro status?        identityref
        |           +--ro last-change?   yang:date-and-time
        +--rw security
        |  ...
        +--rw service
           ...
]]></artwork>
            </figure>
            <t>This version of the module supports BFD. The following BFD data nodes can be specified:</t>
            <dl>
              <dt>'profile':</dt>
              <dd>
                <t>Refers to a BFD profile.</t>
              </dd>
              <dt>'holdtime':</dt>
              <dd>
                <t>Used to indicate the expected BFD holddown time, in milliseconds.</t>
              </dd>
              <dt>'status':</dt>
              <dd>
                <t>Indicates the status of the BFD over an AC.</t>
              </dd>
            </dl>
          </section>
          <section anchor="sec-sec">
            <name>Security</name>
            <t>As shown in the tree depicted in <xref target="sec-svc-tree"/>, the 'security' container defines a set of AC security parameters.</t>
            <figure anchor="sec-svc-tree">
              <name>Security Tree Structure</name>
              <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        ...
        +--rw l2-connection
        |  ...
        +--rw ip-connection
        |  ...
        +--rw routing-protocols
        |  ...
        +--rw oam
        |  ...
        +--rw security
        |  +--rw encryption {vpn-common:encryption}?
        |  |  +--rw enabled?   boolean
        |  |  +--rw layer?     enumeration
        |  +--rw encryption-profile
        |     +--rw (profile)?
        |        +--:(provider-profile)
        |        |  +--rw provider-profile?
        |        |          encryption-profile-reference
        |        +--:(customer-profile)
        |           +--rw customer-key-chain?
        |                   key-chain:key-chain-ref
        +--rw service
           ...
]]></artwork>
            </figure>
            <t>The 'security' container specifies the authentication and the encryption to be applied to traffic for a given AC. Tthe model can be used to directly control the encryption to be applied (e.g., Layer 2 or Layer 3 encryption) or invoke a local encryption profile.</t>
          </section>
          <section anchor="sec-bw">
            <name>Service</name>
            <t>The structure of the 'service' container is depicted in <xref target="bw-tree"/>.</t>
            <figure anchor="bw-tree">
              <name>Bandwidth Tree Structure</name>
              <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        ...
        +--rw l2-connection
        |  ...
        +--rw ip-connection
        |  ...
        +--rw routing-protocols
        |  ...
        +--rw oam
        |  ...
        +--rw security
        |  ...
        +--rw service
           +--rw svc-pe-to-ce-bandwidth {vpn-common:inbound-bw}?
           |  +--rw bandwidth* [bw-type]
           |     +--rw bw-type      identityref
           |     +--rw (type)?
           |        +--:(per-cos)
           |        |  +--rw cos* [cos-id]
           |        |     +--rw cos-id    uint8
           |        |     +--rw cir?      uint64
           |        |     +--rw cbs?      uint64
           |        |     +--rw eir?      uint64
           |        |     +--rw ebs?      uint64
           |        |     +--rw pir?      uint64
           |        |     +--rw pbs?      uint64
           |        +--:(other)
           |           +--rw cir?   uint64
           |           +--rw cbs?   uint64
           |           +--rw eir?   uint64
           |           +--rw ebs?   uint64
           |           +--rw pir?   uint64
           |           +--rw pbs?   uint64
           +--rw svc-ce-to-pe-bandwidth {vpn-common:outbound-bw}?
           |  +--rw bandwidth* [bw-type]
           |     +--rw bw-type      identityref
           |     +--rw (type)?
           |        +--:(per-cos)
           |        |  +--rw cos* [cos-id]
           |        |     +--rw cos-id    uint8
           |        |     +--rw cir?      uint64
           |        |     +--rw cbs?      uint64
           |        |     +--rw eir?      uint64
           |        |     +--rw ebs?      uint64
           |        |     +--rw pir?      uint64
           |        |     +--rw pbs?      uint64
           |        +--:(other)
           |           +--rw cir?   uint64
           |           +--rw cbs?   uint64
           |           +--rw eir?   uint64
           |           +--rw ebs?   uint64
           |           +--rw pir?   uint64
           |           +--rw pbs?   uint64
           +--rw qos {vpn-common:qos}?
           |  +--rw qos-profiles
           |     +--rw qos-profile* [profile]
           |        +--rw profile      qos-profile-reference
           |        +--rw direction?   identityref
           +--rw access-control-list
              +--rw acl-profiles
                 +--rw acl-profile* [profile]
                    +--rw profile    forwarding-profile-reference
]]></artwork>
            </figure>
            <t>The 'service' container defines the following data nodes:</t>
            <dl>
              <dt>'mtu':</dt>
              <dd>
                <t>Specifies the Layer 2 MTU, in bytes, for the AC.</t>
              </dd>
              <dt>'svc-pe-to-ce-bandwidth' and'svc-ce-to-pe-bandwidth':</dt>
              <dd>
                <t/>
              </dd>
              <dt>   'svc-pe-to-ce-bandwidth':</dt>
              <dd>
                <t>Indicates the inbound bandwidth of the AC (i.e., download bandwidth from the service provider to
the customer site).</t>
              </dd>
              <dt>'svc-ce-to-pe-bandwidth':</dt>
              <dd>
                <t>Indicates the outbound bandwidth of the AC (i.e., upload bandwidth from the customer site to the service
provider).</t>
              </dd>
              <dt/>
              <dd>
                <t>Both 'svc-pe-to-ce-bandwidth' and 'svc-ce-to-pe-bandwidth' can be represented using the Committed Information Rate (CIR), the Excess
Information Rate (EIR), or the Peak Information Rate (PIR). Both reuse the 'bandwidth-per-type' grouping defined in <xref target="I-D.ietf-opsawg-teas-common-ac"/>.</t>
              </dd>
              <dt>'qos':</dt>
              <dd>
                <t>Specifies a list of QoS profiles to apply for this AC.</t>
              </dd>
              <dt>'access-control-list':</dt>
              <dd>
                <t>Specifies a list of ACL profiles to apply for this AC.</t>
              </dd>
            </dl>
          </section>
        </section>
      </section>
    </section>
    <section anchor="yang-modules">
      <name>YANG Modules</name>
      <section anchor="sec-bearer-module">
        <name>The Bearer Service ("ietf-bearer-svc") YANG Module</name>
        <t>This module uses types defined in <xref target="RFC6991"/> and <xref target="RFC9181"/>.</t>
        <sourcecode type="yang"><![CDATA[
<CODE BEGINS> file "ietf-bearer-svc@2023-11-13.yang"
module ietf-bearer-svc {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-bearer-svc";
  prefix bearer-svc;

  import ietf-vpn-common {
    prefix vpn-common;
    reference
      "RFC 9181: A Common YANG Data Model for Layer 2 and Layer 3
                 VPNs";
  }
  import ietf-ac-common {
    prefix ac-common;
    reference
      "RFC CCCC: A Common YANG Data Model for Attachment Circuits";
  }
  import ietf-ac-svc {
    prefix ac-svc;
    reference
      "RFC XXXX: YANG Data Models for Bearers and 'Attachment
                  Circuits'-as-a-Service (ACaaS)";
  }

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

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

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

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

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

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

  // Typedef to ease referencing cross-modules

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

  // Identities 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  // Full Layer 2 connection

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

  // Basic IP connection

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

  // Full IP connection

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

  // Routing protocol list

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

  // Static routing with BFD

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

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

  //  BGP Service 

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

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

  //  OSPF Service 

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

  //  IS-IS Service 

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

  //  RIP Service 

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

  //  VRRP Service 

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

  // Basic routing parameters

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

  // Full routing parameters

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

  // Encryption choice

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

  // Basic security parameters

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

  // Bandwith parameters

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

  // Basic AC parameters

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


  // Full AC parameters

  grouping ac {
    description
      "Grouping for an attachment circuit.";
    leaf name {
      type string;
      description
        "A name of the AC. Data models that need to reference  
         an attachment circuit should use 
         attachment-circuit-reference.";
    }
    leaf-list service-profile {
      type service-profile-reference;
      description
        "A reference to a service profile.";
    }
    container l2-connection {
      description
        "Defines Layer 2 protocols and parameters that are required 
         to enable AC connectivity.";
      uses l2-connection;
    }
    container ip-connection {
      description
        "Defines IP connection parameters.";
      uses ip-connection;
    }
    container routing-protocols {
      description
        "Defines routing protocols.";
      uses routing;
    }
    container oam {
      description
        "Defines the OAM mechanisms used.";
      container bfd {
        if-feature "vpn-common:bfd";
        description
          "Container for BFD.";
        leaf profile {
          type bfd-profile-reference;
          description
            "Points to a BFD profile.";
        }
        uses ac-common:bfd;
        uses ac-common:service-status;
      }
    }
    container security {
      description
        "AC-specific security parameters.";
      uses ac-security-basic;
    }
    container service {
      description
        "AC-specific bandwith parameters.";
      uses bandwidth;
      container qos {
        if-feature "vpn-common:qos";
        description
          "QoS configuration.";
        container qos-profiles {
          description
            "QoS profile configuration.";
          list qos-profile {
            key "profile";
            description
              "Points to a QoS profile.";
            leaf profile {
              type qos-profile-reference;
              description
                "QoS profile to be used.";
            }
            leaf direction {
              type identityref {
                base vpn-common:qos-profile-direction;
              }
              description
                "The direction to which the QoS profile
                 is applied.";
            }
          }
        }
      }
      container access-control-list {
        description
          "Container for the Access Control List (ACL).";
        container acl-profiles {
          description
            "ACL profile configuration.";
          list acl-profile {
            key "profile";
            description
              "Points to an ACL profile.";
            leaf profile {
              type forwarding-profile-reference;
              description
                "Forwarding profile to be used.";
            }
          }
        }
      }
    }
  }

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

  container specific-provisioning-profiles {
    description
      "Contains a set of valid profiles to reference for an AC.";
    uses ac-common:ac-profile-cfg;
  }
  container service-provisioning-profiles {
    description
      "Contains a set of valid profiles to reference for an AC.";
    list service-profile-identifier {
      key "id";
      description
        "List of generic service profile identifiers.";
      leaf id {
        type string;
        description
          "Identification of the service profile to be used.
           The profile only has significance within the service
           provider's administrative domain.";
      }
    }
    nacm:default-deny-write;
  }
  container attachment-circuits {
    description
      "Main container for the attachment circuits.";
    list ac-group-profile {
      key "name";
      description
        "Maintains a list of profiles that are shared among
         a set of ACs.";
      uses ac;
    }
    container placement-constraints {
      description
        "Diversity constraint type.";
      uses vpn-common:placement-constraints;
    }
    list ac {
      key "name";
      description
        "Global provisioning of attachment circuits.";
      leaf customer-name {
        type string;
        description
          "Indicates the name of the customer that requested this
           AC.";
      }
      leaf description {
        type string;
        description
          "Associates a description with an AC.";
      }
      leaf test-only {
        type empty;
        description
         "When present, this indicates that this is a feasibility
          check request. No resources are commited for such AC 
          requests.";
      }
      uses ac-common:op-instructions;
      leaf-list peer-sap-id {
        type string;
        description
          "One or more peer SAPs can be indicated.";
      }
      leaf-list ac-group-profile {
        type ac-group-reference;
        description
          "A reference to an AC profile.";
      }
      leaf ac-parent-ref {
        type ac-svc:attachment-circuit-reference;
        description
          "Specifies the parent AC that is inherited by an AC.
           In contexts where dynamic terminating points are 
           bound to the same AC, a parent AC with stable
           information is created with a set of child ACs
           to track dynamic AC information.";
      }
      leaf-list child-ac-ref {
        type ac-svc:attachment-circuit-reference;
        config false;
        description
          "Specifies a child AC that relies upon a parent AC.";
      }
      list group {
        key "group-id";
        description
          "List of group-ids.";
        leaf group-id {
          type string;
          description
            "Indicates the group-id to which the network access
             belongs.";
        }
        leaf precedence {
          type identityref {
            base ac-common:precedence-type;
          }
          description
            "Defines redundancy of an AC.";
        }
      }
      list service-ref {
        key "service-type service-id";
        config false;
        description
          "Reports the set of services that are bound to the AC.";
        leaf service-type {
          type identityref {
            base vpn-common:service-type;
          }
          description
            "Indicates the service type (e.g., L3VPN, Network Slice
             Service).";
          reference
            "RFC 9408: A YANG Network Data Model for Service 
                       Attachment Points (SAPs), Section 5";
        }
        leaf service-id {
          type string;
          description
            "Indicates an identifier of a service instance
             of a given type that uses the AC.";
        }
      }
      uses ac;
    }
  }
}
<CODE ENDS>
]]></sourcecode>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This section uses the template described in Section 3.7 of <xref target="I-D.ietf-netmod-rfc8407bis"/>.</t>
      <t>The YANG modules specified in this document define schema for data
   that is designed to be accessed via network management protocols such
   as NETCONF <xref target="RFC6241"/> or RESTCONF <xref target="RFC8040"/>.  The lowest NETCONF layer
   is the secure transport layer, and the mandatory-to-implement secure
   transport is Secure Shell (SSH) <xref target="RFC6242"/>.  The lowest RESTCONF layer
   is HTTPS, and the mandatory-to-implement secure transport is TLS
   <xref target="RFC8446"/>.</t>
      <t>The Network Configuration Access Control Model (NACM) <xref target="RFC8341"/>
   provides the means to restrict access for particular NETCONF or
   RESTCONF users to a preconfigured subset of all available NETCONF or
   RESTCONF protocol operations and content.</t>
      <t>There are a number of data nodes defined in these YANG modules that are
   writable/creatable/deletable (i.e., config true, which is the
   default).  These data nodes may be considered sensitive or vulnerable
   in some network environments.  Write operations (e.g., edit-config)
   and delete operations to these data nodes without proper protection
   or authentication can have a negative effect on network operations.
   Specifically, the following subtrees and data nodes have particular
sensitivities/vulnerabilities in the "ietf-bearer-svc" module:</t>
      <dl>
        <dt>'placement-constraints':</dt>
        <dd>
          <t>An attacker who is able to access this data node can modify the
   attributes to influence how a service is delivered to a customer, and
   this leads to Service Level Agreement (SLA) violations.</t>
        </dd>
        <dt>'bearer':</dt>
        <dd>
          <t>An attacker who is able to access this data node can modify
   the attributes of bearer and, thus, hinder how ACs are built.</t>
        </dd>
        <dt/>
        <dd>
          <t>In addition, an attacker could attempt to add a new bearer or
   delete existing ones. An attacker may also change the requested
   type or the activation scheduling.</t>
        </dd>
      </dl>
      <t>The following subtrees and data nodes have particular
sensitivities/vulnerabilities in the "ietf-ac-svc" module:</t>
      <dl>
        <dt>'specific-provisioning-profiles':</dt>
        <dd>
          <t>This container includes a set of sensitive data that influence
 how an AC will be delivered. For example, an attacker who has access
 to these data nodes may be able to manipulate routing policies, QoS
 policies, or encryption properties.</t>
        </dd>
        <dt/>
        <dd>
          <t>These profiles are defined with "nacm:default-deny-write"
 tagging <xref target="I-D.ietf-opsawg-teas-common-ac"/>.</t>
        </dd>
        <dt>'service-provisioning-profiles':</dt>
        <dd>
          <t>An attacker who has access to these data nodes may be able
   to manipulate service-specific policies to be applied for an AC.</t>
        </dd>
        <dt/>
        <dd>
          <t>This container is defined with "nacm:default-deny- write" tagging.</t>
        </dd>
        <dt>'ac':</dt>
        <dd>
          <t>An attacker who is able to access this data node can modify
   the attributes of an AC (e.g., QoS, bandwidth, routing protocols,
   keying material), leading to malfunctioning of services that will
   be delivered over that AC and therefore to SLA violations.
   In addition, an attacker could attempt to add a new AC.</t>
        </dd>
      </dl>
      <t>Some of the readable data nodes in these YANG modules may be considered
   sensitive or vulnerable in some network environments.  It is thus
   important to control read access (e.g., via get, get-config, or
   notification) to these data nodes. Specifically, the following subtrees and data nodes have particular
sensitivities/vulnerabilities in the "ietf-bearer-svc" module:</t>
      <dl>
        <dt>'customer-point':</dt>
        <dd>
          <t>An attacker can retrieve privacy-related information about location from where
 the customer is connected. Disclosing such information may be used to infer
 the identity of the customer.</t>
        </dd>
      </dl>
      <t>The following subtrees and data nodes have particular
sensitivities/vulnerabilities in the "ietf-ac-svc" module:</t>
      <dl>
        <dt>'customer-name', 'l2-connection', and 'ip-connection':</dt>
        <dd>
          <t>An attacker can retrieve privacy-related information, which can be used to track a
 customer.  Disclosing such information may be considered a
 violation of the customer-provider trust relationship.</t>
        </dd>
        <dt>'keying-material':</dt>
        <dd>
          <t>An attacker can retrieve the cryptographic keys
 protecting the underlying connectivity services (routing, in
 particular).  These keys could be used to inject spoofed routing
 advertisements.</t>
        </dd>
      </dl>
      <t>Several data nodes ('bgp', 'ospf', 'isis', and 'rip') rely
   upon <xref target="RFC8177"/> for authentication purposes.  As such, the AC service module
   inherits the security considerations discussed in Section 5 of
   <xref target="RFC8177"/>.  Also, these data nodes support supplying explicit keys as
   strings in ASCII format.  The use of keys in hexadecimal string
   format would afford greater key entropy with the same number of key-
   string octets.  However, such a format is not included in this
   version of the AC service model because it is not supported by the underlying
   device modules (e.g., <xref target="RFC8695"/>).</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to register the following URIs in the "ns" subregistry within
   the "IETF XML Registry" <xref target="RFC3688"/>:</t>
      <artwork><![CDATA[
   URI:  urn:ietf:params:xml:ns:yang:ietf-bearer-svc
   Registrant Contact:  The IESG.
   XML:  N/A; the requested URI is an XML namespace.

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

   Name:  ietf-ac-svc
   Maintained by IANA?  N
   Namespace:  urn:ietf:params:xml:ns:yang:ietf-ac-svc
   Prefix:  ac-svc
   Reference:  RFC xxxx
]]></artwork>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC4364">
          <front>
            <title>BGP/MPLS IP Virtual Private Networks (VPNs)</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <date month="February" year="2006"/>
            <abstract>
              <t>This document describes a method by which a Service Provider may use an IP backbone to provide IP Virtual Private Networks (VPNs) for its customers. This method uses a "peer model", in which the customers' edge routers (CE routers) send their routes to the Service Provider's edge routers (PE routers); there is no "overlay" visible to the customer's routing algorithm, and CE routers at different sites do not peer with each other. Data packets are tunneled through the backbone, so that the core routers do not need to know the VPN routes. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4364"/>
          <seriesInfo name="DOI" value="10.17487/RFC4364"/>
        </reference>
        <reference anchor="RFC9408">
          <front>
            <title>A YANG Network Data Model for Service Attachment Points (SAPs)</title>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="O. Gonzalez de Dios" initials="O." surname="Gonzalez de Dios"/>
            <author fullname="S. Barguil" initials="S." surname="Barguil"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <author fullname="V. Lopez" initials="V." surname="Lopez"/>
            <date month="June" year="2023"/>
            <abstract>
              <t>This document defines a YANG data model for representing an abstract view of the provider network topology that contains the points from which its services can be attached (e.g., basic connectivity, VPN, network slices). Also, the model can be used to retrieve the points where the services are actually being delivered to customers (including peer networks).</t>
              <t>This document augments the 'ietf-network' data model defined in RFC 8345 by adding the concept of Service Attachment Points (SAPs). The SAPs are the network reference points to which network services, such as Layer 3 Virtual Private Network (L3VPN) or Layer 2 Virtual Private Network (L2VPN), can be attached. One or multiple services can be bound to the same SAP. Both User-to-Network Interface (UNI) and Network-to-Network Interface (NNI) are supported in the SAP data model.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9408"/>
          <seriesInfo name="DOI" value="10.17487/RFC9408"/>
        </reference>
        <reference anchor="RFC8342">
          <front>
            <title>Network Management Datastore Architecture (NMDA)</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="P. Shafer" initials="P." surname="Shafer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Wilton" initials="R." surname="Wilton"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>Datastores are a fundamental concept binding the data models written in the YANG data modeling language to network management protocols such as the Network Configuration Protocol (NETCONF) and RESTCONF. This document defines an architectural framework for datastores based on the experience gained with the initial simpler model, addressing requirements that were not well supported in the initial model. This document updates RFC 7950.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8342"/>
          <seriesInfo name="DOI" value="10.17487/RFC8342"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="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="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="9" month="February" 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-05"/>
        </reference>
        <reference anchor="RFC5880">
          <front>
            <title>Bidirectional Forwarding Detection (BFD)</title>
            <author fullname="D. Katz" initials="D." surname="Katz"/>
            <author fullname="D. Ward" initials="D." surname="Ward"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>This document describes a protocol intended to detect faults in the bidirectional path between two forwarding engines, including interfaces, data link(s), and to the extent possible the forwarding engines themselves, with potentially very low latency. It operates independently of media, data protocols, and routing protocols. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5880"/>
          <seriesInfo name="DOI" value="10.17487/RFC5880"/>
        </reference>
        <reference anchor="RFC8177">
          <front>
            <title>YANG Data Model for Key Chains</title>
            <author fullname="A. Lindem" initials="A." role="editor" surname="Lindem"/>
            <author fullname="Y. Qu" initials="Y." surname="Qu"/>
            <author fullname="D. Yeung" initials="D." surname="Yeung"/>
            <author fullname="I. Chen" initials="I." surname="Chen"/>
            <author fullname="J. Zhang" initials="J." surname="Zhang"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>This document describes the key chain YANG data model. Key chains are commonly used for routing protocol authentication and other applications requiring symmetric keys. A key chain is a list containing one or more elements containing a Key ID, key string, send/accept lifetimes, and the associated authentication or encryption algorithm. By properly overlapping the send and accept lifetimes of multiple key chain elements, key strings and algorithms may be gracefully updated. By representing them in a YANG data model, key distribution can be automated.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8177"/>
          <seriesInfo name="DOI" value="10.17487/RFC8177"/>
        </reference>
        <reference anchor="RFC4577">
          <front>
            <title>OSPF as the Provider/Customer Edge Protocol for BGP/MPLS IP Virtual Private Networks (VPNs)</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="P. Psenak" initials="P." surname="Psenak"/>
            <author fullname="P. Pillay-Esnault" initials="P." surname="Pillay-Esnault"/>
            <date month="June" year="2006"/>
            <abstract>
              <t>Many Service Providers offer Virtual Private Network (VPN) services to their customers, using a technique in which customer edge routers (CE routers) are routing peers of provider edge routers (PE routers). The Border Gateway Protocol (BGP) is used to distribute the customer's routes across the provider's IP backbone network, and Multiprotocol Label Switching (MPLS) is used to tunnel customer packets across the provider's backbone. This is known as a "BGP/MPLS IP VPN". The base specification for BGP/MPLS IP VPNs presumes that the routing protocol on the interface between a PE router and a CE router is BGP. This document extends that specification by allowing the routing protocol on the PE/CE interface to be the Open Shortest Path First (OSPF) protocol.</t>
              <t>This document updates RFC 4364. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4577"/>
          <seriesInfo name="DOI" value="10.17487/RFC4577"/>
        </reference>
        <reference anchor="RFC6565">
          <front>
            <title>OSPFv3 as a Provider Edge to Customer Edge (PE-CE) Routing Protocol</title>
            <author fullname="P. Pillay-Esnault" initials="P." surname="Pillay-Esnault"/>
            <author fullname="P. Moyer" initials="P." surname="Moyer"/>
            <author fullname="J. Doyle" initials="J." surname="Doyle"/>
            <author fullname="E. Ertekin" initials="E." surname="Ertekin"/>
            <author fullname="M. Lundberg" initials="M." surname="Lundberg"/>
            <date month="June" year="2012"/>
            <abstract>
              <t>Many Service Providers (SPs) offer Virtual Private Network (VPN) services to their customers using a technique in which Customer Edge (CE) routers are routing peers of Provider Edge (PE) routers. The Border Gateway Protocol (BGP) is used to distribute the customer's routes across the provider's IP backbone network, and Multiprotocol Label Switching (MPLS) is used to tunnel customer packets across the provider's backbone. Support currently exists for both IPv4 and IPv6 VPNs; however, only Open Shortest Path First version 2 (OSPFv2) as PE-CE protocol is specified. This document extends those specifications to support OSPF version 3 (OSPFv3) as a PE-CE routing protocol. The OSPFv3 PE-CE functionality is identical to that of OSPFv2 except for the differences described in this document. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6565"/>
          <seriesInfo name="DOI" value="10.17487/RFC6565"/>
        </reference>
        <reference anchor="RFC4552">
          <front>
            <title>Authentication/Confidentiality for OSPFv3</title>
            <author fullname="M. Gupta" initials="M." surname="Gupta"/>
            <author fullname="N. Melam" initials="N." surname="Melam"/>
            <date month="June" year="2006"/>
            <abstract>
              <t>This document describes means and mechanisms to provide authentication/confidentiality to OSPFv3 using an IPv6 Authentication Header/Encapsulating Security Payload (AH/ESP) extension header. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4552"/>
          <seriesInfo name="DOI" value="10.17487/RFC4552"/>
        </reference>
        <reference anchor="RFC5709">
          <front>
            <title>OSPFv2 HMAC-SHA Cryptographic Authentication</title>
            <author fullname="M. Bhatia" initials="M." surname="Bhatia"/>
            <author fullname="V. Manral" initials="V." surname="Manral"/>
            <author fullname="M. Fanto" initials="M." surname="Fanto"/>
            <author fullname="R. White" initials="R." surname="White"/>
            <author fullname="M. Barnes" initials="M." surname="Barnes"/>
            <author fullname="T. Li" initials="T." surname="Li"/>
            <author fullname="R. Atkinson" initials="R." surname="Atkinson"/>
            <date month="October" year="2009"/>
            <abstract>
              <t>This document describes how the National Institute of Standards and Technology (NIST) Secure Hash Standard family of algorithms can be used with OSPF version 2's built-in, cryptographic authentication mechanism. This updates, but does not supercede, the cryptographic authentication mechanism specified in RFC 2328. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5709"/>
          <seriesInfo name="DOI" value="10.17487/RFC5709"/>
        </reference>
        <reference anchor="RFC7474">
          <front>
            <title>Security Extension for OSPFv2 When Using Manual Key Management</title>
            <author fullname="M. Bhatia" initials="M." surname="Bhatia"/>
            <author fullname="S. Hartman" initials="S." surname="Hartman"/>
            <author fullname="D. Zhang" initials="D." surname="Zhang"/>
            <author fullname="A. Lindem" initials="A." role="editor" surname="Lindem"/>
            <date month="April" year="2015"/>
            <abstract>
              <t>The current OSPFv2 cryptographic authentication mechanism as defined in RFCs 2328 and 5709 is vulnerable to both inter-session and intra- session replay attacks when using manual keying. Additionally, the existing cryptographic authentication mechanism does not cover the IP header. This omission can be exploited to carry out various types of attacks.</t>
              <t>This document defines changes to the authentication sequence number mechanism that will protect OSPFv2 from both inter-session and intra- session replay attacks when using manual keys for securing OSPFv2 protocol packets. Additionally, we also describe some changes in the cryptographic hash computation that will eliminate attacks resulting from OSPFv2 not protecting the IP header.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7474"/>
          <seriesInfo name="DOI" value="10.17487/RFC7474"/>
        </reference>
        <reference anchor="RFC7166">
          <front>
            <title>Supporting Authentication Trailer for OSPFv3</title>
            <author fullname="M. Bhatia" initials="M." surname="Bhatia"/>
            <author fullname="V. Manral" initials="V." surname="Manral"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <date month="March" year="2014"/>
            <abstract>
              <t>Currently, OSPF for IPv6 (OSPFv3) uses IPsec as the only mechanism for authenticating protocol packets. This behavior is different from authentication mechanisms present in other routing protocols (OSPFv2, Intermediate System to Intermediate System (IS-IS), RIP, and Routing Information Protocol Next Generation (RIPng)). In some environments, it has been found that IPsec is difficult to configure and maintain and thus cannot be used. This document defines an alternative mechanism to authenticate OSPFv3 protocol packets so that OSPFv3 does not depend only upon IPsec for authentication.</t>
              <t>The OSPFv3 Authentication Trailer was originally defined in RFC 6506. This document obsoletes RFC 6506 by providing a revised definition, including clarifications and refinements of the procedures.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7166"/>
          <seriesInfo name="DOI" value="10.17487/RFC7166"/>
        </reference>
        <reference anchor="RFC6991">
          <front>
            <title>Common YANG Data Types</title>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document introduces a collection of common data types to be used with the YANG data modeling language. This document obsoletes RFC 6021.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6991"/>
          <seriesInfo name="DOI" value="10.17487/RFC6991"/>
        </reference>
        <reference anchor="RFC8040">
          <front>
            <title>RESTCONF Protocol</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8040"/>
          <seriesInfo name="DOI" value="10.17487/RFC8040"/>
        </reference>
        <reference anchor="RFC6242">
          <front>
            <title>Using the NETCONF Protocol over Secure Shell (SSH)</title>
            <author fullname="M. Wasserman" initials="M." surname="Wasserman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>This document describes a method for invoking and running the Network Configuration Protocol (NETCONF) within a Secure Shell (SSH) session as an SSH subsystem. This document obsoletes RFC 4742. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6242"/>
          <seriesInfo name="DOI" value="10.17487/RFC6242"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC8341">
          <front>
            <title>Network Configuration Access Control Model</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability. There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. This document defines such an access control model.</t>
              <t>This document obsoletes RFC 6536.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="91"/>
          <seriesInfo name="RFC" value="8341"/>
          <seriesInfo name="DOI" value="10.17487/RFC8341"/>
        </reference>
        <reference anchor="RFC3688">
          <front>
            <title>The IETF XML Registry</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <date month="January" year="2004"/>
            <abstract>
              <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="81"/>
          <seriesInfo name="RFC" value="3688"/>
          <seriesInfo name="DOI" value="10.17487/RFC3688"/>
        </reference>
        <reference anchor="RFC6020">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6020"/>
          <seriesInfo name="DOI" value="10.17487/RFC6020"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="AC-svc-Tree" target="https://github.com/boucadair/attachment-circuit-model/blob/main/yang/full-trees/ac-svc-without-groupings.txt">
          <front>
            <title>Full ACaaS Tree Structure</title>
            <author>
              <organization/>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="Instance-Data" target="https://github.com/boucadair/attachment-circuit-model/blob/main/xml-examples/svc-full-instance.xml">
          <front>
            <title>Example of AC SVC Instance Data</title>
            <author>
              <organization/>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="PYANG" target="https://github.com/mbj4668/pyang">
          <front>
            <title>pyang</title>
            <author>
              <organization/>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="IEEE802.1AB" target="https://standards.ieee.org/ieee/802.1AB/6047/">
          <front>
            <title>IEEE Standard for Local and metropolitan area networks - Station and Media Access Control Connectivity Discovery</title>
            <author>
              <organization>IEEE</organization>
            </author>
            <date year="2016" month="January"/>
          </front>
        </reference>
        <reference anchor="IEEE802.1AX" target="https://doi.org/10.1109/IEEESTD.2020.9105034">
          <front>
            <title>IEEE Standard for Local and Metropolitan Area Networks--Link Aggregation</title>
            <author>
              <organization>IEEE</organization>
            </author>
            <date year="2020" month="May"/>
          </front>
        </reference>
        <reference anchor="ITU-T-G.781" target="https://www.itu.int/rec/T-REC-G.781">
          <front>
            <title>Synchronization layer functions for frequency synchronization based on the physical layer</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2024" month="January"/>
          </front>
        </reference>
        <reference anchor="RFC7665">
          <front>
            <title>Service Function Chaining (SFC) Architecture</title>
            <author fullname="J. Halpern" initials="J." role="editor" surname="Halpern"/>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro"/>
            <date month="October" year="2015"/>
            <abstract>
              <t>This document describes an architecture for the specification, creation, and ongoing maintenance of Service Function Chains (SFCs) in a network. It includes architectural concepts, principles, and components used in the construction of composite services through deployment of SFCs, with a focus on those to be standardized in the IETF. This document does not propose solutions, protocols, or extensions to existing protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7665"/>
          <seriesInfo name="DOI" value="10.17487/RFC7665"/>
        </reference>
        <reference anchor="RFC9543">
          <front>
            <title>A Framework for Network Slices in Networks Built from IETF Technologies</title>
            <author fullname="A. Farrel" initials="A." role="editor" surname="Farrel"/>
            <author fullname="J. Drake" initials="J." role="editor" surname="Drake"/>
            <author fullname="R. Rokui" initials="R." surname="Rokui"/>
            <author fullname="S. Homma" initials="S." surname="Homma"/>
            <author fullname="K. Makhijani" initials="K." surname="Makhijani"/>
            <author fullname="L. Contreras" initials="L." surname="Contreras"/>
            <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
            <date month="March" year="2024"/>
            <abstract>
              <t>This document describes network slicing in the context of networks built from IETF technologies. It defines the term "IETF Network Slice" to describe this type of network slice and establishes the general principles of network slicing in the IETF context.</t>
              <t>The document discusses the general framework for requesting and operating IETF Network Slices, the characteristics of an IETF Network Slice, the necessary system components and interfaces, and the mapping of abstract requests to more specific technologies. The document also discusses related considerations with monitoring and security.</t>
              <t>This document also provides definitions of related terms to enable consistent usage in other IETF documents that describe or use aspects of IETF Network Slices.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9543"/>
          <seriesInfo name="DOI" value="10.17487/RFC9543"/>
        </reference>
        <reference anchor="I-D.ietf-opsawg-ntw-attachment-circuit">
          <front>
            <title>A Network YANG Data Model for Attachment Circuits</title>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Richard Roberts" initials="R." surname="Roberts">
              <organization>Juniper</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Samier Barguil" initials="S." surname="Barguil">
              <organization>Nokia</organization>
            </author>
            <author fullname="Bo Wu" initials="B." surname="Wu">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="9" month="February" year="2024"/>
            <abstract>
              <t>   This document specifies a network model for attachment circuits.  The
   model can be used for the provisioning of attachment circuits prior
   or during service provisioning (e.g., Network Slice Service).  A
   companion service model is specified in I-D.ietf-opsawg-teas-
   attachment-circuit.

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-ntw-attachment-circuit-05"/>
        </reference>
        <reference anchor="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="RFC8466">
          <front>
            <title>A YANG Data Model for Layer 2 Virtual Private Network (L2VPN) Service Delivery</title>
            <author fullname="B. Wen" initials="B." surname="Wen"/>
            <author fullname="G. Fioccola" initials="G." role="editor" surname="Fioccola"/>
            <author fullname="C. Xie" initials="C." surname="Xie"/>
            <author fullname="L. Jalil" initials="L." surname="Jalil"/>
            <date month="October" year="2018"/>
            <abstract>
              <t>This document defines a YANG data model that can be used to configure a Layer 2 provider-provisioned VPN service. It is up to a management system to take this as an input and generate specific configuration models to configure the different network elements to deliver the service. How this configuration of network elements is done is out of scope for this document.</t>
              <t>The YANG data model defined in this document includes support for point-to-point Virtual Private Wire Services (VPWSs) and multipoint Virtual Private LAN Services (VPLSs) that use Pseudowires signaled using the Label Distribution Protocol (LDP) and the Border Gateway Protocol (BGP) as described in RFCs 4761 and 6624.</t>
              <t>The YANG data model defined in this document conforms to the Network Management Datastore Architecture defined in RFC 8342.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8466"/>
          <seriesInfo name="DOI" value="10.17487/RFC8466"/>
        </reference>
        <reference anchor="RFC8299">
          <front>
            <title>YANG Data Model for L3VPN Service Delivery</title>
            <author fullname="Q. Wu" initials="Q." role="editor" surname="Wu"/>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
            <author fullname="L. Tomotaki" initials="L." surname="Tomotaki"/>
            <author fullname="K. Ogaki" initials="K." surname="Ogaki"/>
            <date month="January" year="2018"/>
            <abstract>
              <t>This document defines a YANG data model that can be used for communication between customers and network operators and to deliver a Layer 3 provider-provisioned VPN service. This document is limited to BGP PE-based VPNs as described in RFCs 4026, 4110, and 4364. This model is intended to be instantiated at the management system to deliver the overall service. It is not a configuration model to be used directly on network elements. This model provides an abstracted view of the Layer 3 IP VPN service configuration components. It will be up to the management system to take this model as input and use specific configuration models to configure the different network elements to deliver the service. How the configuration of network elements is done is out of scope for this document.</t>
              <t>This document obsoletes RFC 8049; it replaces the unimplementable module in that RFC with a new module with the same name that is not backward compatible. The changes are a series of small fixes to the YANG module and some clarifications to the text.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8299"/>
          <seriesInfo name="DOI" value="10.17487/RFC8299"/>
        </reference>
        <reference anchor="RFC8340">
          <front>
            <title>YANG Tree Diagrams</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="L. Berger" initials="L." role="editor" surname="Berger"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document captures the current syntax used in YANG module tree diagrams. The purpose of this document is to provide a single location for this definition. This syntax may be updated from time to time based on the evolution of the YANG language.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="215"/>
          <seriesInfo name="RFC" value="8340"/>
          <seriesInfo name="DOI" value="10.17487/RFC8340"/>
        </reference>
        <reference anchor="I-D.ietf-opsawg-ac-lxsm-lxnm-glue">
          <front>
            <title>A YANG Data Model for Augmenting VPN Service and Network Models with Attachment Circuits</title>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Richard Roberts" initials="R." surname="Roberts">
              <organization>Juniper</organization>
            </author>
            <author fullname="Samier Barguil" initials="S." surname="Barguil">
              <organization>Nokia</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <date day="9" month="February" year="2024"/>
            <abstract>
              <t>   The document specifies a module that updates existing service and
   network Virtual Private Network (VPN) modules with the required
   information to bind specific services to ACs that are created using
   the Attachment Circuit (AC) service and network models.

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

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

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

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

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

{
   "ietf-ac-svc:attachment-circuits":{
      "ac":[
         {
            "name":"ac1",
            "description":"a first ac with a same peer node",
            "l2-connection":{
               "encapsulation":{
                  "type":"ietf-vpn-common:dot1q"
               },
               "bearer-reference":"line-156"
            },
            "ip-connection":{
               "ipv4":{
                  "address-allocation-type":"ietf-ac-common:static-\
                                                             address"
               },
               "ipv6":{
                  "address-allocation-type":"ietf-ac-common:static-\
                                                             address"
               },
               "routing-protocols":{
                  "routing-protocol":[
                     {
                        "id":"1",
                        "type":"ietf-vpn-common:direct-routing"
                     }
                  ]
               }
            }
         },
         {
            "name":"ac2",
            "description":"a second ac with a same peer node",
            "l2-connection":{
               "encapsulation":{
                  "type":"ietf-vpn-common:dot1q"
               },
               "bearer-reference":"line-156"
            },
            "ip-connection":{
               "ipv4":{
                  "address-allocation-type":"ietf-ac-common:static-\
                                                             address"
               },
               "ipv6":{
                  "address-allocation-type":"ietf-ac-common:static-\
                                                             address"
               },
               "routing-protocols":{
                  "routing-protocol":[
                     {
                        "id":"1",
                        "type":"ietf-vpn-common:direct-routing"
                     }
                  ]
               }
            }
         }
      ]
   }
}
]]></sourcecode>
        </figure>
        <t><xref target="two-acs-same-ce-res"/> shows the message body of a response received from the controller.</t>
        <figure anchor="two-acs-same-ce-res">
          <name>Example of a Message Body of a Response to Create Two ACs on the Same Link (Not Recommended)</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "ac1",
        "description": "a first ac with a same peer node",
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "cvlan-id": 1
            }
          },
          "bearer-reference": "line-156"
        },
        "ip-connection": {
          "ipv4": {
            "local-address": "192.0.2.1",
            "prefix-length": 30,
            "address": [
              {
                "address-id": "1",
                "customer-address": "192.0.2.2"
              }
            ]
          },
          "ipv6": {
            "local-address": "2001:db8::1",
            "prefix-length": 64,
            "address": [
              {
                "address-id": "1",
                "customer-address": "2001:db8::2"
              }
            ]
          }
        },
        "routing-protocols": {
          "routing-protocol": [
            {
              "id": "1",
              "type": "ietf-vpn-common:direct-routing"
            }
          ]
        }
      },
      {
        "name": "ac2",
        "description": "a second ac with a same peer node",
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "cvlan-id": 2
            }
          },
          "bearer-reference": "line-156"
        },
        "ip-connection": {
          "ipv4": {
            "local-address": "192.0.2.1",
            "prefix-length": 30,
            "address": [
              {
                "address-id": "1",
                "customer-address": "192.0.2.2"
              }
            ]
          },
          "ipv6": {
            "local-address": "2001:db8::1",
            "prefix-length": 64,
            "address": [
              {
                "address-id": "1",
                "customer-address": "2001:db8::2"
              }
            ]
          }
        },
        "routing-protocols": {
          "routing-protocol": [
            {
              "id": "1",
              "type": "ietf-vpn-common:direct-routing"
            }
          ]
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
        <t>The example shown <xref target="two-acs-same-ce-res"/> is not optimal as it includes many redundant data. <xref target="two-acs-same-ce-node-profile"/> shows a more compact request that factorizes all the redundant data.</t>
        <figure anchor="two-acs-same-ce-node-profile">
          <name>Example of a Message Body to Request Two ACs on the Same Link (Node Profile)</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac-group-profile": [
      {
        "id": "simple-node-profile",
        "l2-connection": {
          "bearer-reference": "line-156"
        },
        "ip-connection": {
          "ipv4": {
            "local-address": "192.0.2.1",
            "prefix-length": 30,
            "address": [
              {
                "address-id": "1",
                "customer-address": "192.0.2.2"
              }
            ]
          },
          "ipv6": {
            "local-address": "2001:db8::1",
            "prefix-length": 64,
            "address": [
              {
                "address-id": "1",
                "customer-address": "2001:db8::2"
              }
            ]
          }
        },
        "routing-protocols": {
          "routing-protocol": [
            {
              "id": "1",
              "type": "ietf-vpn-common:direct-routing"
            }
          ]
        }
      }
    ],
    "ac": [
      {
        "name": "ac1",
        "description": "a first ac with a same peer node",
        "ac-group-profile": ["simple-node-profile"],
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "cvlan-id": 1
            }
          }
        }
      },
      {
        "name": "ac2",
        "description": "a second ac with a same peer node",
        "ac-group-profile": ["simple-node-profile"],
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "cvlan-id": 2
            }
          }
        }
     }
    ]
  }
}
]]></sourcecode>
        </figure>
        <t>A customer may request adding a new AC by simply referring to an existing per-node AC profile as shown in <xref target="add-ac-same-ce-node-profile"/>. This AC inherits all the data that was enclosed in the indicated per-node AC profile (IP addressing, routing, etc.).</t>
        <figure anchor="add-ac-same-ce-node-profile">
          <name>Example of a Message Body to Add a new AC over an existing link (Node Profile)</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "ac3",
        "description": "a third AC with a same peer node",
        "ac-group-profile": [
          "simple-node-profile"
        ],
        "l2-connection": {
          "encapsulation": {
            "dot1q": {
              "cvlan-id": 3
            }
          },
          "bearer-reference": "line-156"
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="sec-ex-prec">
        <name>Control Precedence over Multiple ACs</name>
        <t>When multiple ACs are requested by the same customer for the same site, the request can tag one of these ACs as "primary" and the other ones as "secondary". An example of such a request is shown in <xref target="ac-precedence"/>. In this example, both ACs are bound to the same "group-id", and the "precedence" data node is set as a function of the intended role of each AC (primary or secondary).</t>
        <figure anchor="multipleac">
          <name>An Example Topology for AC Precedence Enforcement</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="208" width="312" viewBox="0 0 312 208" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,80 L 8,144" fill="none" stroke="black"/>
                <path d="M 40,80 L 40,144" fill="none" stroke="black"/>
                <path d="M 104,64 L 104,96" fill="none" stroke="black"/>
                <path d="M 104,128 L 104,160" fill="none" stroke="black"/>
                <path d="M 272,32 L 272,96" fill="none" stroke="black"/>
                <path d="M 272,128 L 272,192" fill="none" stroke="black"/>
                <path d="M 304,32 L 304,96" fill="none" stroke="black"/>
                <path d="M 304,128 L 304,192" fill="none" stroke="black"/>
                <path d="M 272,32 L 304,32" fill="none" stroke="black"/>
                <path d="M 104,64 L 272,64" fill="none" stroke="black"/>
                <path d="M 8,80 L 40,80" fill="none" stroke="black"/>
                <path d="M 40,96 L 104,96" fill="none" stroke="black"/>
                <path d="M 272,96 L 304,96" fill="none" stroke="black"/>
                <path d="M 40,128 L 104,128" fill="none" stroke="black"/>
                <path d="M 272,128 L 304,128" fill="none" stroke="black"/>
                <path d="M 8,144 L 40,144" fill="none" stroke="black"/>
                <path d="M 104,160 L 272,160" fill="none" stroke="black"/>
                <path d="M 272,192 L 304,192" fill="none" stroke="black"/>
                <g class="text">
                  <text x="156" y="52">ac1:</text>
                  <text x="208" y="52">primary</text>
                  <text x="288" y="68">PE1</text>
                  <text x="192" y="84">bearerX@site1</text>
                  <text x="20" y="116">CE</text>
                  <text x="156" y="148">ac2:</text>
                  <text x="216" y="148">secondary</text>
                  <text x="288" y="164">PE2</text>
                  <text x="192" y="180">bearerY@site1</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
                                 .---.
                 ac1: primary    |   |
            .--------------------+PE1|
.---.       |    bearerX@site1   |   |
|   +-------'                    '---'
|CE |
|   +-------.                    .---.
'---'       |    ac2: secondary  |   |
            '--------------------+PE2|
                 bearerY@site1   |   |
                                 '---'
]]></artwork>
          </artset>
        </figure>
        <figure anchor="ac-precedence">
          <name>Example of a Message Body to Associate a Precedence Level with ACs</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "ac1",
        "description": "Example to illustrate AC precedence usage",
        "group": [
          {
            "group-id": "1",
            "precedence": "ietf-ac-common:primary"
          }
        ],
        "l2-connection": {
          "bearer-reference": "bearerX@site1"
        }
      },
      {
        "name": "ac2",
        "description": "Example to illustrate AC precedence usage",
        "group": [
          {
            "group-id": "1",
            "precedence": "ietf-ac-common:secondary"
          }
        ],
        "l2-connection": {
          "bearer-reference": "bearerY@site1"
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="sec-multiple-ces">
        <name>Create Multiple ACs Bound to Multiple CEs</name>
        <t><xref target="network-example"/> shows an example of CEs that are interconnected by a service provider network.</t>
        <figure anchor="network-example">
          <name>Network Topology Example</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="192" width="504" viewBox="0 0 504 192" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,48 L 8,80" fill="none" stroke="black"/>
                <path d="M 8,112 L 8,144" fill="none" stroke="black"/>
                <path d="M 48,48 L 48,80" fill="none" stroke="black"/>
                <path d="M 48,112 L 48,144" fill="none" stroke="black"/>
                <path d="M 112,32 L 112,160" fill="none" stroke="black"/>
                <path d="M 392,32 L 392,160" fill="none" stroke="black"/>
                <path d="M 456,48 L 456,80" fill="none" stroke="black"/>
                <path d="M 456,112 L 456,144" fill="none" stroke="black"/>
                <path d="M 496,48 L 496,80" fill="none" stroke="black"/>
                <path d="M 496,112 L 496,144" fill="none" stroke="black"/>
                <path d="M 112,32 L 392,32" fill="none" stroke="black"/>
                <path d="M 8,48 L 48,48" fill="none" stroke="black"/>
                <path d="M 456,48 L 496,48" fill="none" stroke="black"/>
                <path d="M 48,64 L 112,64" fill="none" stroke="black"/>
                <path d="M 392,64 L 456,64" fill="none" stroke="black"/>
                <path d="M 8,80 L 48,80" fill="none" stroke="black"/>
                <path d="M 456,80 L 496,80" fill="none" stroke="black"/>
                <path d="M 8,112 L 48,112" fill="none" stroke="black"/>
                <path d="M 456,112 L 496,112" fill="none" stroke="black"/>
                <path d="M 48,128 L 112,128" fill="none" stroke="black"/>
                <path d="M 392,128 L 456,128" fill="none" stroke="black"/>
                <path d="M 8,144 L 48,144" fill="none" stroke="black"/>
                <path d="M 456,144 L 496,144" fill="none" stroke="black"/>
                <path d="M 112,160 L 392,160" fill="none" stroke="black"/>
                <g class="text">
                  <text x="32" y="68">CE1</text>
                  <text x="480" y="68">CE3</text>
                  <text x="256" y="100">Network</text>
                  <text x="24" y="132">CE2</text>
                  <text x="480" y="132">CE4</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
                   .----------------------------------.
      .----.       |                                  |       .----.
      | CE1+-------+                                  +-------+ CE3|
      '----'       |                                  |       '----'
                   |              Network             |
      .----.       |                                  |       .----.
      |CE2 +-------+                                  +-------+ CE4|
      '----'       |                                  |       '----'
                   '----------------------------------'
]]></artwork>
          </artset>
        </figure>
        <t><xref target="multiple-sites"/> depicts an example of the message body of a response to a request to instantiate the various ACs that are shown in <xref target="network-example"/>.</t>
        <figure anchor="multiple-sites">
          <name>Example of a Message Body of a Request to Create Multiple ACs bound to Multiple CEs</name>
          <sourcecode type="json"><![CDATA[
{
  "ietf-ac-svc:attachment-circuits": {
    "ac-group-profile": [
      {
        "id": "simple-profile",
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "cvlan-id": 1
            }
          }
        }
      }
    ],
    "ac": [
      {
        "name": "ac1",
        "description": "First site",
        "ac-group-profile": [
          "simple-profile"
        ],
        "l2-connection": {
          "bearer-reference": "ce1-network"
        }
      },
      {
        "name": "ac2",
        "description": "Second Site",
        "ac-group-profile": [
          "simple-profile"
        ],
        "l2-connection": {
          "bearer-reference": "ce2-network"
        }
      },
      {
        "name": "ac3",
        "description": "Third site",
        "ac-group-profile": [
          "simple-profile"
        ],
        "l2-connection": {
          "bearer-reference": "ce3-network"
        }
      },
      {
        "name": "ac4",
        "description": "Another site",
        "ac-group-profile": [
          "simple-profile"
        ],
        "l2-connection": {
          "bearer-reference": "ce4-network"
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="sec-ex-slice">
        <name>Binding Attachment Circuits to an IETF Network Slice</name>
        <t>This example shows how the AC service model complements <xref target="I-D.ietf-teas-ietf-network-slice-nbi-yang"/> to connect a site to a slice service.</t>
        <t>First, <xref target="slice-vlan-1"/> describes the end-to-end network topology as well the orchestration scopes:</t>
        <ul spacing="normal">
          <li>
            <t>The topology is made up of two sites ("site1" and "site2"), interconnected via a Transport Network (e.g. IP/MPLS Network). An SF is deployed within each site in a dedicated IP Subnet.</t>
          </li>
          <li>
            <t>A 5G SMO is responsible for the deployment of SFs and the indirect management of a local Gateway (i.e., CE device).</t>
          </li>
          <li>
            <t>An IETF Network Slice Controller is responsible for the deployment of IETF Network Slices across the TN.</t>
          </li>
        </ul>
        <t>SFs are deployed within each site.</t>
        <figure anchor="slice-vlan-1">
          <name>An Example of a Network Topology Used to Deploy Slices</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="368" width="520" viewBox="0 0 520 368" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 32,112 L 32,144" fill="none" stroke="black"/>
                <path d="M 48,144 L 48,176" fill="none" stroke="black"/>
                <path d="M 64,112 L 64,144" fill="none" stroke="black"/>
                <path d="M 64,184 L 64,240" fill="none" stroke="black"/>
                <path d="M 80,48 L 80,80" fill="none" stroke="black"/>
                <path d="M 96,144 L 96,208" fill="none" stroke="black"/>
                <path d="M 128,144 L 128,208" fill="none" stroke="black"/>
                <path d="M 168,184 L 168,304" fill="none" stroke="black"/>
                <path d="M 200,144 L 200,208" fill="none" stroke="black"/>
                <path d="M 216,112 L 216,136" fill="none" stroke="black"/>
                <path d="M 216,208 L 216,240" fill="none" stroke="black"/>
                <path d="M 232,144 L 232,208" fill="none" stroke="black"/>
                <path d="M 280,64 L 280,80" fill="none" stroke="black"/>
                <path d="M 320,144 L 320,208" fill="none" stroke="black"/>
                <path d="M 336,112 L 336,136" fill="none" stroke="black"/>
                <path d="M 336,208 L 336,240" fill="none" stroke="black"/>
                <path d="M 352,144 L 352,208" fill="none" stroke="black"/>
                <path d="M 384,184 L 384,304" fill="none" stroke="black"/>
                <path d="M 424,144 L 424,208" fill="none" stroke="black"/>
                <path d="M 456,144 L 456,208" fill="none" stroke="black"/>
                <path d="M 464,48 L 464,80" fill="none" stroke="black"/>
                <path d="M 480,112 L 480,144" fill="none" stroke="black"/>
                <path d="M 480,184 L 480,240" fill="none" stroke="black"/>
                <path d="M 496,144 L 496,176" fill="none" stroke="black"/>
                <path d="M 512,112 L 512,144" fill="none" stroke="black"/>
                <path d="M 32,80 L 128,80" fill="none" stroke="black"/>
                <path d="M 200,80 L 352,80" fill="none" stroke="black"/>
                <path d="M 424,80 L 504,80" fill="none" stroke="black"/>
                <path d="M 32,112 L 64,112" fill="none" stroke="black"/>
                <path d="M 216,112 L 336,112" fill="none" stroke="black"/>
                <path d="M 480,112 L 512,112" fill="none" stroke="black"/>
                <path d="M 32,144 L 64,144" fill="none" stroke="black"/>
                <path d="M 96,144 L 128,144" fill="none" stroke="black"/>
                <path d="M 200,144 L 232,144" fill="none" stroke="black"/>
                <path d="M 320,144 L 352,144" fill="none" stroke="black"/>
                <path d="M 424,144 L 456,144" fill="none" stroke="black"/>
                <path d="M 480,144 L 512,144" fill="none" stroke="black"/>
                <path d="M 32,176 L 96,176" fill="none" stroke="black"/>
                <path d="M 128,176 L 200,176" fill="none" stroke="black"/>
                <path d="M 352,176 L 424,176" fill="none" stroke="black"/>
                <path d="M 456,176 L 512,176" fill="none" stroke="black"/>
                <path d="M 96,208 L 128,208" fill="none" stroke="black"/>
                <path d="M 200,208 L 232,208" fill="none" stroke="black"/>
                <path d="M 320,208 L 352,208" fill="none" stroke="black"/>
                <path d="M 424,208 L 456,208" fill="none" stroke="black"/>
                <path d="M 216,240 L 336,240" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="512,80 500,74.4 500,85.6" fill="black" transform="rotate(0,504,80)"/>
                <polygon class="arrowhead" points="488,184 476,178.4 476,189.6" fill="black" transform="rotate(270,480,184)"/>
                <polygon class="arrowhead" points="432,80 420,74.4 420,85.6" fill="black" transform="rotate(180,424,80)"/>
                <polygon class="arrowhead" points="392,184 380,178.4 380,189.6" fill="black" transform="rotate(270,384,184)"/>
                <polygon class="arrowhead" points="360,80 348,74.4 348,85.6" fill="black" transform="rotate(0,352,80)"/>
                <polygon class="arrowhead" points="208,80 196,74.4 196,85.6" fill="black" transform="rotate(180,200,80)"/>
                <polygon class="arrowhead" points="176,184 164,178.4 164,189.6" fill="black" transform="rotate(270,168,184)"/>
                <polygon class="arrowhead" points="136,80 124,74.4 124,85.6" fill="black" transform="rotate(0,128,80)"/>
                <polygon class="arrowhead" points="72,184 60,178.4 60,189.6" fill="black" transform="rotate(270,64,184)"/>
                <polygon class="arrowhead" points="40,80 28,74.4 28,85.6" fill="black" transform="rotate(180,32,80)"/>
                <g class="text">
                  <text x="60" y="36">5G</text>
                  <text x="88" y="36">SMO</text>
                  <text x="252" y="36">IETF</text>
                  <text x="288" y="36">NSC</text>
                  <text x="444" y="36">5G</text>
                  <text x="472" y="36">SMO</text>
                  <text x="216" y="52">(TN</text>
                  <text x="288" y="52">Orchestrator)</text>
                  <text x="80" y="100">Site1</text>
                  <text x="240" y="100">Transport</text>
                  <text x="312" y="100">Network</text>
                  <text x="472" y="100">Site2</text>
                  <text x="48" y="132">SF1</text>
                  <text x="496" y="132">SF2</text>
                  <text x="112" y="180">GW1</text>
                  <text x="216" y="180">PE1</text>
                  <text x="336" y="180">PE2</text>
                  <text x="440" y="180">GW2</text>
                  <text x="60" y="260">LAN1</text>
                  <text x="484" y="260">LAN2</text>
                  <text x="64" y="276">198.51.100.0/24</text>
                  <text x="460" y="276">203.0.113.0/24</text>
                  <text x="132" y="324">Physical</text>
                  <text x="188" y="324">Link</text>
                  <text x="224" y="324">ID:</text>
                  <text x="356" y="324">Physical</text>
                  <text x="412" y="324">Link</text>
                  <text x="448" y="324">ID:</text>
                  <text x="168" y="340">bearerX@site1</text>
                  <text x="392" y="340">bearerX@site2</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
      5G SMO                 IETF NSC                 5G SMO
         |               (TN Orchestrator)               |
         |                        |                      |
   <-----+----->        <---------+-------->        <----+---->
       Site1             Transport Network              Site2
   .---.                  .--------------.                 .---.
   |SF1|                  |              |                 |SF2|
   '-+-'   .---.        .---.          .---.        .---.  '-+-'
     |     |   |        |   |          |   |        |   |    |
   --+-----+GW1+--------+PE1|          |PE2+--------+GW2+----+--
       ^   |   |    ^   |   |          |   |   ^    |   |  ^
       |   '---'    |   '-+-'          '-+-'   |    '---'  |
       |            |     |              |     |           |
       |            |     '--------------'     |           |
     LAN1           |                          |          LAN2
198.51.100.0/24     |                          |  203.0.113.0/24
                    |                          |
                    |                          |
            Physical Link ID:           Physical Link ID:
              bearerX@site1               bearerX@site2

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

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

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

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

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

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

       Physical Connection 1234-56789 is delivered and
                         connected to PE1

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

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

{
  "ietf-ac-svc:attachment-circuits": {
    "ac": [
      {
        "name": "ac--BXT-DC-customer-VPC-foo",
        "description": "Connection to Cloud Provider BXT on \
                                              connection 1234-56789",
        "requested-start": "2023-12-12T05:00:00.00Z",
        "l2-connection": {
          "encapsulation": {
            "type": "ietf-vpn-common:dot1q",
            "dot1q": {
              "tag-type": "ietf-vpn-common:c-vlan",
              "cvlan-id": 50
            }
          },
          "bearer-reference": "1243-56789"
        },
        "ip-connection": {
          "ipv4": {
            "local-address": "192.0.2.1",
            "prefix-length": 24,
            "address": [
              {
                "address-id": "1",
                "customer-address": "192.0.2.2"
              }
            ]
          }
        },
        "routing-protocols": {
          "routing-protocol": [
            {
              "id": "1",
              "type": "ietf-vpn-common:bgp-routing",
              "bgp": {
                "neighbor": [
                  {
                    "id": "1",
                    "peer-as": 65536,
                    "local-as": 65550,
                    "authentication": {
                      "keying-material": {
                        "md5-keychain": "nyxNER_c5sdn608fFQl3331d"
                      }
                    }
                  }
                ]
              }
            }
          ]
        }
      }
    ]
  }
}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="connect-customer-network-ce-through-bgp">
        <name>Connect Customer Network (CE) Through BGP</name>
        <t>CE-PE routing using BGP is a common scenario in the context of MPLS VPNs and is widely used in enterprise networks. In the example depicted in <xref target="provider-network"/>, the CE routers are customer-owned devices belonging to an AS (ASN 65536). CEs are located at the edge of the provider's network (PE, or Provider Edge) and use point-to-point interfaces to establish BGP sessions. The point-to-point interfaces rely upon a physical bearer ("Line-113") to reach the provider network.</t>
        <figure anchor="provider-network">
          <name>Illustration of Provider Network Scenario</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="400" width="552" viewBox="0 0 552 400" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,384" fill="none" stroke="black"/>
                <path d="M 80,80 L 80,192" fill="none" stroke="black"/>
                <path d="M 80,224 L 80,256" fill="none" stroke="black"/>
                <path d="M 80,320 L 80,352" fill="none" stroke="black"/>
                <path d="M 184,80 L 184,192" fill="none" stroke="black"/>
                <path d="M 184,224 L 184,256" fill="none" stroke="black"/>
                <path d="M 184,320 L 184,352" fill="none" stroke="black"/>
                <path d="M 208,32 L 208,88" fill="none" stroke="black"/>
                <path d="M 208,104 L 208,384" fill="none" stroke="black"/>
                <path d="M 392,32 L 392,88" fill="none" stroke="black"/>
                <path d="M 392,104 L 392,144" fill="none" stroke="black"/>
                <path d="M 408,80 L 408,112" fill="none" stroke="black"/>
                <path d="M 464,80 L 464,112" fill="none" stroke="black"/>
                <path d="M 544,32 L 544,144" fill="none" stroke="black"/>
                <path d="M 8,32 L 208,32" fill="none" stroke="black"/>
                <path d="M 392,32 L 544,32" fill="none" stroke="black"/>
                <path d="M 80,80 L 184,80" fill="none" stroke="black"/>
                <path d="M 408,80 L 464,80" fill="none" stroke="black"/>
                <path d="M 184,96 L 408,96" fill="none" stroke="black"/>
                <path d="M 408,112 L 464,112" fill="none" stroke="black"/>
                <path d="M 392,144 L 544,144" fill="none" stroke="black"/>
                <path d="M 80,192 L 184,192" fill="none" stroke="black"/>
                <path d="M 80,224 L 184,224" fill="none" stroke="black"/>
                <path d="M 80,256 L 184,256" fill="none" stroke="black"/>
                <path d="M 80,320 L 184,320" fill="none" stroke="black"/>
                <path d="M 80,352 L 184,352" fill="none" stroke="black"/>
                <path d="M 8,384 L 208,384" fill="none" stroke="black"/>
                <g class="text">
                  <text x="60" y="52">Provider</text>
                  <text x="128" y="52">Network</text>
                  <text x="436" y="52">Customer</text>
                  <text x="504" y="52">Network</text>
                  <text x="292" y="84">Attachment-Circuit</text>
                  <text x="376" y="84">1</text>
                  <text x="132" y="100">PE1(VRF11)</text>
                  <text x="432" y="100">CE1</text>
                  <text x="504" y="100">AS65536</text>
                  <text x="296" y="116">Bearer=Line-113</text>
                  <text x="132" y="132">PE1(VRF12)</text>
                  <text x="132" y="164">PE1(VRF1n)</text>
                  <text x="32" y="212">AS1</text>
                  <text x="132" y="244">PE2(VRF21)</text>
                  <text x="128" y="276">.</text>
                  <text x="128" y="292">.</text>
                  <text x="128" y="308">.</text>
                  <text x="132" y="340">PEm(VRFmn)</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
+------------------------+                      +------------------+
|  Provider Network      |                      | Customer Network |
|                        |                      |                  |
|        +------------+  | Attachment-Circuit 1 | +------+         |
|        | PE1(VRF11) +---------------------------+ CE1  | AS65536 |
|        |            |  |   Bearer=Line-113    | +------+         |
|        | PE1(VRF12) |  |                      |                  |
|        |            |  |                      +------------------+
|        | PE1(VRF1n) |  |
|        |            |  |
|        +------------+  |
| AS1                    |
|        +------------+  |
|        | PE2(VRF21) |  |
|        +------------+  |
|              .         |
|              .         |
|              .         |
|        +------------+  |
|        | PEm(VRFmn) |  |
|        +------------+  |
|                        |
+------------------------+
]]></artwork>
          </artset>
        </figure>
        <t>The attachment circuit in this case use a SAP identifier to refer to the physical interface used for the connection between the PE and the CE. The attachment circuit includes all the additional logical attributes to describe the connection between the two ends, including VLAN information and IP addressing. Also, the configuration details of the BGP session makes use of peer group details instead of defining the entire configuration inside the 'neighbor' data node.</t>
        <figure anchor="add-attachment-circuit-bgp-routing">
          <name>Message Body of a Request to Create ACs for Connecting CEs to a Provider Network</name>
          <sourcecode type="json"><![CDATA[
{
   "attachment-circuits":{
      "ac":{
         "name":"IPT-CUST-ABC",
         "customer-name":"CUST-ABC",
         "description":"CUST-ABC-113",
         "peer-sap-id":"sap#113",
         "ip-connection":{
            "ipv4":{
               "local-address":"192.0.2.1",
               "prefix-length":30,
               "address-allocation-type":"ac-common:static-address"
            }
         },
         "l2-connection":{
            "encapsulation":{
               "dot1q":{
                  "tag-type":"vpn-common:c-vlan",
                  "cvlan-id":"113"
               }
            },
            "bearer-reference":"line-113"
         },
         "routing-protocols":{
            "routing-protocol":{
               "id":"BGP-Single-Access",
               "type":"vpn-common:bgp-routing",
               "bgp":{
                  "peer-groups":{
                     "peer-group":{
                        "name":"IPT-CUST-ABC",
                        "peer-as":65536,
                        "address-family":"vpn-common:ipv4"
                     }
                  },
                  "neighbor":{
                     "id":"BGP-DIA-Single-1",
                     "remote-address":"192.0.2.2",
                     "peer-group":"IPT-CUST-ABC",
                     "status":{
                        "admin-status":{
                           "status":"vpn-common:admin-up"
                        }
                     }
                  }
               }
            }
         }
      }
   }
}
]]></sourcecode>
        </figure>
        <t>This scenario allows the provider to maintain a list of ACs belonging to the same customer without requiring the full service configuration.</t>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document leverages <xref target="RFC9182"/> and <xref target="RFC9291"/>.</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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
6mmC+j5IFcCSHHQp6dp8BerhNVJFdDagw3m1e/YaAfpWK7Dm9rB7DV6u7xlI
5ByslVhus4EjKM+Bp/uPH8MeyBWs5Jeg/mFXXQN0ZkZosZsmUGeUeWARQCPL
LbMaQ/BJP0+mANEUNFO4qVIfVabnCG8V2h9qsioNpK8lrUf22nPExC1pxUvK
uiUcVF3yi8JbYJsWmyC5tyIkUeHUi5TL3QsBds8C7O43iBySdaC5CCAHt8YG
r4aGI03SsgxINUzK+RjIUQL4h84UkiUpwDqStAQMPzSJvjYToo1fz+AcFVtd
JSjh1C+RUpFlkTdqvVwh3dgiGkU0Fc2mhDYkE0bGmc06AaL4REKZO5vRtJCp
LhtJAiLOLpMiz2i+zRCy7NnIoow6RLqiWTRA74hr985pyQuvKkmKZBr3hbz+
IeIKijUSAkwmn+s3e8mf3qG1DRSvUrRf/3R23t7i/4qTN/T326M//XT89ug5
/n32Y//VK/1HS7Y4+/HNT6+em79Mz8M3r18fnTznzvCtcL5qtV/3/9JmCaH9
5vT8+M1J/1U74NjA0tdAKr4ggDDCteCkh0UyYIb67PD0//t/d/Ylt97d2UGU
lax758k+/OPqIs54tjwDPOF/otrZAqYAEjFpDSkKaDM4fST4iA8XKI+j1wNA
88FfETJ/OxB/GAxnO/vfyS9ww86XCmbOlwSz+je1zgzEwFeBaTQ0ne89SLvr
7f/F+beCu/XlH75PgSOK7s7T779rMY7gmx4+vShbT3k9HeSpliRIHEPvaTFK
InwBVQ8SlgwlucxDyfTsA6ZHGxxnnCtvGZRBSlC4OGTmoHUAfE/7isIVwkcG
chtFDxbbj6e05QwSVTbomaeKN1mE90V35KhSH1J+JqCUFsQXcKYrIss4D0h4
nhnOefDwDBKDeZKOtDWWZSTLjKmaG6HQEZF6sGPyzaIHadQMATJDMtFpI2bd
ep4ruezamIGlfRP1Hq2sSPqkwETHbSS6TWm5sw3LcrXKoj4KCHRK8S7ng5J8
fyuj1uCLBR21fkeAtc6zaDpIJnNQCfAJTq38Ci+b61zJt590RQUYOO5hPCOV
zz096byS/JOPgT1apDCouazlA2VpVk0PpA0v6T42hFRN6fmCj7i2/5mjhfNp
6GHIRUgZvu2GyknG9sWMLA9qQFF8bz2pycd4fZ7HwF4Ie5SfNnSRjhHAfWco
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
8H+/1u4igU+HPCk+Hh55jQO+QGojHWusj7yR3QMDndBGAu4btJHdgOsHb+Qv
3kZCywlsRN9ndTlAmpDXl+InGC3P2X/zWtU0te7eEYa2czojvKG/4gOFWqwb
10f8Sa92jjTIGYTug0/gfTKsL01IJrevz4HwnwIVIWiQVNbgFSHa7SBxkIDf
RcT8PCFqSOenhOlfFsC0mSna5Hk1NqiSXqNnpunKObZIUpGuWMZz3GF0zxSF
198eHin2p6408OeS3iWlA3JXMgtjJ3IYEA6gs5QioS+M4yamMq5X0PQcmxup
fJA8+86SVlOHXi/+qCY9e5CPsJcdRaC/Xj6IaXp4tKdIaMdmBWushPuFwOAN
onInOk3uFQyHR7vilmDY/3RgCPI492PxJw931eVSwNMcSt42ELwK7hClyST7
Y3sYIybz+7y+GHjF0QQ7imfJsPIvwpKneoputTwi7UAC7HoZFUk+L9k90lRB
0LJc7Tb+6y2u6xtbfwtWlfs2Zb0gQxbiyq20xDspiCEGNYx3uhJ57p3ln7FN
6ewz2uzuXTa70ChwTiaBz+lg9+6y1/3FQT+sgX5Ou91fuNtGKcsl3ys/6GlC
HZKjBiE5Sspdz9DslU3snOKHqhYPG+Yoe4+TAt1YIEr8p0pTYr8IlpQGM5jX
CF/sOBVz6eTSpvSQKqs2MQ8avZsNki6mWgFWxin18BwoFrBSNUtpUXIWYDRE
0zDzEQ9A1HaHOCFHgstcENkIE0PDf3QMXqUYbVSKq1haDUEDvIhV4WNRDvNZ
XB60Wl2K/tM9EnzNHIHKMCPuepULPsCNNovaZJCgv3fbm1u+6InhdJE41ymp
FbgppEccn26/Pn11pr7dJKsKBxYCc0/za5mCEjgvmSoIMhToN4qVTfP4VJzN
B7DRHqy8Lx69FGev33A+IWL5CWY6VEYhHpWQATZz9qLU5hTEFopNsdKNEwrS
e5l4CXNdRdcqn/PhkUxKtUmzBnHp0IQ9r7Sa+hCYCbTISz7V8xNAAFpxETdD
JyTNS5D4H57v7LD2A7c3hMCXGzfOT8QbjTt5sen9/rG567IfqOsfWI6l//1O
/fIHY1BRf7i/0dffqanPpFnFfOo46Hywwy72tk1O1sfTguottPnr49mLnXDc
12IAQD82FHVgLx1/Jd6yQr9Rv5Y1+kd7HucfTb/R/ArEX7/8RethbI+zup8e
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

-->

</rfc>
