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

<t>This document specifies a YANG service data model for Attachment Circuits (ACs). This model can be used for the provisioning of ACs prior or during service provisioning (e.g., Network Slice Service). The document specifies also a module that updates other service and network modules with the required information to bind specific services to ACs that are created using the AC service model.</t>
      <t>Also, the document specifies a set of reusable groupings. Whether a service model reuses structures defined in the AC models or simply include an AC reference is a design choice of these service models. Relying upon the AC service model to manage ACs over which a service is delivered has the merit to decorrelate the management of a service vs. upgrade the AC components to reflect recent AC technologies or features.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Operations and Management Area Working Group Working Group mailing list (opsawg@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/opsawg/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/boucadair/attachment-circuit-model"/>.</t>
    </note>
  </front>
  <middle>
    <?line 93?>

<section anchor="introduction">
      <name>Introduction</name>
      <section anchor="scope-and-intended-use">
        <name>Scope and Intended Use</name>
        <t>Connectivity services are provided by networks to customers via dedicated terminating points (e.g., service functions, customer edges (CEs), peer ASBRs, data centers gateways, 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 that belong to the same customer/service, an interconnection node, or an ancillary node. A set of objectives for the connectivity service may eventually be negotiated and agreed upon between a customer a network provider. For that data transfer to take place within the provider network, it is assumed that adequate setup is provisioned over the links that connect customer terminating points and a provider network so that data can be successfully exchanged over these links. The required setup is referred to in this document as Attachment Circuits (ACs), while the underlying link is referred to as "bearers".</t>
        <t>This document adheres to the definition of an Attachment Circuit as provided in Section 1.2 of <xref target="RFC4364"/>, especially:</t>
        <ul empty="true">
          <li>
            <t>Routers can be attached to each other, or to end systems, in a
   variety of different ways: PPP connections, ATM Virtual Circuits
   (VCs), Frame Relay VCs, ethernet interfaces, Virtual Local Area
   Networks (VLANs) on ethernet interfaces, GRE tunnels, Layer 2
   Tunneling Protocol (L2TP) tunnels, IPsec tunnels, etc.  We will use
   the term "attachment circuit" to refer generally to some such means
   of attaching to a router.  An attachment circuit may be the sort of
   connection that is usually thought of as a "data link", or it may be
   a tunnel of some sort; what matters is that it be possible for two
   devices to be network layer peers over the attachment circuit.</t>
          </li>
        </ul>
        <t>When a customer requests a new value-added service, the service can be bound to existing attachment circuits or trigger the instantiation of new attachment circuits. The provisioning of an 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>programmatic means to expose 'attachment circuits'-as-a-service will greatly simplify the provisioning of value added services</strong> that will be delivered over an attachment circuits.</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 (e.g., an enterprise site, a network function, a hosting infrastructure, a peer network provider). The model can be used for the provisioning of ACs prior or during advanced service provisioning (e.g., Network Slice Service).</t>
        <t>The "ietf-ac-svc" 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 ACes over which services are delivered has the merit to decorrelate the management of the (core) service vs. upgrade the AC components to reflect recent AC technologies or new features (e.g., new encryption scheme, additional routing protocol). <strong>This document favors the approach of completely relying upon the AC service model instead of duplicating data nodes into specific modules of advanced services that are delivered over an Attachment Circuit.</strong></t>
        <t>Because the provisioning of an AC requires a bearer to be in place, this document allows customers to manage their bearer requests by means of a new module, called "ietf-bearer-svc". The customers can then retrieve a provider-assigned bearer reference that they will include in their AC service requests.</t>
        <t>An AC service request can provide a reference to a bearer or a set of peer SAPs. Both schemes are supported in the AC service model.</t>
        <t>Each AC is identified with a unique identifier within a (provider) domain. From a network provider standpoint, an AC can be bound to a single or multiple Service Attachment Points (SAPs) <xref target="I-D.ietf-opsawg-sap"/>. Likewise, the same SAP can be bound to one or multiple ACs. However, the mapping between an AC and a PE in the provider network that terminates that AC is hidden to the application that makes use of the AC service model. Such mapping information is internal to the network controllers. As such, the details about the (node-specific) attachment interfaces are not exposed in the AC service model.</t>
        <t>The AC service model <strong>does not make any assumption about the internal structure or even the nature or the services that will be delivered over an attachment circuit</strong>. Customers do not have access to that network view other than the ACes that the ordered. For example, the AC service model can be used to provision a set of ACes to connect multiple sites (Site1, Site2, ..., SiteX) for customer that also requested VPN services. If these provisioning of these services require specific configured on ASBR nodes, such configuration is handled at the network level and is not exposed at the service level to the customer. 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="I-D.ietf-opsawg-sap"/>.</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>Request an attachment circuit for a known peer SAP (<xref target="ac-no-bearer-peer-sap"/>).</li>
          <li>Instantiate multiple attachment circuits over the same bearer (<xref target="sec-ex-one-ce-multi-acs"/>).</li>
          <li>Control the precedence over multiple attachment circuits (<xref target="sec-ex-prec"/>).</li>
          <li>Bind a slice service to a set of pre-provisioned attachment circuits (<xref target="sec-ex-slice"/>).</li>
          <li>Connect a Cloud Infrastructure to a service provider network (<xref target="sec-ex-cloud"/>).</li>
        </ul>
        <t>The examples use the IPv4 address blocks reserved for documentation <xref target="RFC5737"/>, the IPv6 prefix reserved for documentation <xref target="RFC3849"/>, and the Autonomous System (AS) numbers reserved for documentation <xref target="RFC5398"/>.</t>
        <t>The YANG data models in this document conform to the Network Management Datastore Architecture (NMDA) defined in <xref target="RFC8342"/>.</t>
      </section>
      <section anchor="position-acaas-vs-other-data-models">
        <name>Position ACaaS vs. Other Data Models</name>
        <t>The AC model specified in this document <strong>is not a network model</strong> <xref target="RFC8969"/>. As such, the model does not expose details related to specific nodes in the provider's network that terminate an AC. 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. Such a mapping can be maintained using a variety of network models, e.g., augmented SAP AC network model <xref target="I-D.boro-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.</t>
        <section anchor="why-not-using-l2sm-as-reference-data-model-for-acaas">
          <name>Why Not Using L2SM as Reference Data Model for ACaaS?</name>
          <t>The L2SM <xref target="RFC8466"/> covers some AC-related considerations. Nevertheless, the L2SM structure is too layer 2 centric. For example, the L2SM part does not cover Layer 3 provisioning, which is required for the instantiation of typical ACs.</t>
        </section>
        <section anchor="why-not-using-l3sm-as-reference-data-model-for-acaas">
          <name>Why Not Using L3SM as Reference Data Model for ACaaS?</name>
          <t>Similar to the L2NM, the L3SM <xref target="RFC8299"/> covers some AC-related considerations. Nevertheless, the L3SM structure does not adequately cover layer 2 provisioning matters. Moreover, the L3SM is drawn with conventional L3VPN deployments in mind and, as such, has some limitations for instantiating ACs in other deployment contexts (e.g., cloud environments). For example, the L3SM does not allow to provision multiple BGP sessions over the same AC.</t>
        </section>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>The meanings of the symbols in the YANG tree diagrams are defined in <xref target="RFC8340"/>.</t>
      <t>This document uses the following terms:</t>
      <dl>
        <dt>Bearer:</dt>
        <dd>
          <t>A physical or logical link that connects a customer node (or site) to a provider network. A bearer can be a wireless or wired link. One or multiple technologies can be used to build a bearer. The bearer type can be specified by a customer.</t>
        </dd>
        <dt/>
        <dd>
          <t>The operator allocates a unique bearer reference to identify a bearer within its network (e.g., customer line identifier). Such a reference can be retrieved by a customer and used in subsequent service placement requests to unambiguously identify where a service is to be bound.</t>
        </dd>
        <dt/>
        <dd>
          <t>The concept of bearer can be generalized to refer to the required underlying connection for the provisioning of an attachment circuit. One or multiple attachment circuits may be hosted over the same bearer (e.g., multiple VLANs on the same bearer that is provided by a physical link).</t>
        </dd>
        <dt>Network controller:</dt>
        <dd>
          <t>Denotes a functional entity responsible for the management of the service provider network.</t>
        </dd>
        <dt>Service orchestrator:</dt>
        <dd>
          <t>Refers to a functional entity that interacts with the customer of a network service. The service orchestrator is typically responsible for the attachment circuits, the Provider Edge (PE) selection, and requesting the activation of the requested service to a network controller.</t>
        </dd>
        <dt>Service provider network:</dt>
        <dd>
          <t>A network that is able to provide network services (e.g., Layer 2 VPN, Layer 3, and Network Slice Services).</t>
        </dd>
        <dt>Service provider:</dt>
        <dd>
          <t>A service provider that offers network services (e.g., Layer 2 VPN, Layer 3, and Network Slice Services).</t>
        </dd>
      </dl>
    </section>
    <section anchor="sample-uses-of-the-data-models">
      <name>Sample Uses of the Data Models</name>
      <section anchor="acs-terminated-by-one-or-multiple-customer-edges-ces">
        <name>ACs Terminated by One or Multiple Customer Edges (CEs)</name>
        <t><xref target="uc"/> depicts two target topology flavors that involve ACs. These topologies are characterized as follows:</t>
        <ul spacing="normal">
          <li>A Customer Edges (CEs) may be a physical device or a logical entity. Such a 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.</li>
          <li>The same AC service request may include one or multiple ACs that are bound to a single CE or a plurality of CEs.</li>
          <li>CEs may be dedicated to one single connectivity service or host multiple connectivity services (e.g., CEs as role of service functions <xref target="RFC7665"/>).</li>
          <li>A single AC (as seen by a network provider) may be bound 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 is typically implemented if the layer 2 infrastructure between the CE and the network provides a multipoint service.</li>
          <li>The same CE may terminate multiple ACs. These ACs may be over the same or distinct bearers.</li>
          <li>The customer may request protection schemes where the ACs bound to a customer 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)).</li>
        </ul>
        <figure anchor="uc">
          <name>Examples of ACs</name>
          <artwork align="center"><![CDATA[
┌───────┐                ┌────────────────────┐           ┌───────┐
│       ├──────┐         │                    ├────AC─────┤       │
│ CE#1  │      │         │                    ├────AC─────┤ CE#3  |
└───────┘      │         │                    │           └───────┘
               ├───AC────┤     Network        │
┌───────┐      │         │                    │
│       │      │         │                    │           ┌───────┐
│ CE#2  ├──────┘         │                    │─────AC────┤ CE#4  │
└───────┘                │                    │           └────+──┘
                         └───────────+────────┘                |
                                     |                         |
                                     └────────────AC───────────┘
]]></artwork>
        </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, including the flow put in place for the provisioning of advanced network services and how they are bound to an attachment circuit. For example, the same attachment circuit may be used to host multiple connectivity services. In order to avoid service interference and redundant information in various locations, a service provider may expose an interface to manage ACs network-wide. Customers can then request a bearer or an attachment circuit to be put in place, and then refer to that bearer or AC when requesting services that are bound to the bearer or AC.</t>
        <t><xref target="_u-ex"/> shows the positioning of the AC service model is the overall service delivery process.</t>
        <figure anchor="_u-ex">
          <name>An Example of AC Model Usage</name>
          <artwork 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>
        </figure>
        <t>In order to ease the mapping between the service model and underlying network models (e.g., L3NM, SAP), the name conventions used in existing network data models are reused as much as possible. For example, "local-address" is used rather than "provider-address" (or similar) to refer to an IP address used in the provider network. This approach is consistent with the automation framework defined in <xref target="RFC8969"/>.</t>
      </section>
    </section>
    <section anchor="description-of-the-data-models">
      <name>Description of the Data Models</name>
      <section anchor="the-bearer-service-ietf-bearer-svc-yang-module">
        <name>The Bearer Service ("ietf-bearer-svc") YANG Module</name>
        <t><xref target="bearer-st"/> shows the tree for managing the bearers (that is, the properties of the attachment that are below Layer 3). A bearer can be a wireless or wired link. A reference to a bearer is generated by the operator.
Such a reference can be used, e.g., in a subsequent service request to create an AC. The anchoring of the AC can also be achieved by indicating (with or without a bearer reference), a peer SAP identifier (e.g., an identifier of a Service Function).</t>
        <figure anchor="bearer-st">
          <name>Bearer Service Tree Structure</name>
          <artwork align="center"><![CDATA[
module: ietf-bearer-svc
  +--rw bearers
     +--rw bearer* [id]
        +--rw id                  string
        +--rw description?        string
        +--rw op-comment?         string
        +--rw customer-point
        |  +--rw identified-by?   identityref
        |  +--rw device
        |  |  +--rw device-id?   string
        |  |  +--rw location
        |  |     +--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 address?        string
        |  |     +--rw postal-code?    string
        |  |     +--rw state?          string
        |  |     +--rw city?           string
        |  |     +--rw country-code?   string
        |  +--rw custom-id?       string
        +--rw requested-type?     identityref
        +--ro bearer-reference?   string {vpn-common:bearer-reference}?
        +--rw requested-start?    yang:date-and-time
        +--rw requested-stop?     yang:date-and-time
        +--ro actual-start?       yang:date-and-time
        +--ro actual-stop?        yang:date-and-time
        +--rw status
           +--rw admin-status
           |  +--rw status?        identityref
           |  +--rw last-change?   yang:date-and-time
           +--ro oper-status
              +--ro status?        identityref
              +--ro last-change?   yang:date-and-time
]]></artwork>
        </figure>
        <t>The same customer site (CE, NF, etc.) can terminate one or multiple bearers; each of them uniquely identified by a reference that is assigned by the network provider. These bearers can terminate on the same or distinct network nodes. CEs that terminate multiple bearers are called multi-homed CEs.</t>
        <t>The descriptions of the bearer data nodes are as follows:</t>
        <dl>
          <dt>'id':</dt>
          <dd>
            <t>Used to uniquely identify a bearer. This identifier is typically selected by the client when requesting a bearer.</t>
          </dd>
          <dt>'description':</dt>
          <dd>
            <t>Includes a textual description of the bearer.</t>
          </dd>
          <dt>'op-comment':</dt>
          <dd>
            <t>Includes operational comments that may be useful for managing the bearer (building, level, etc.). No structure is associated with this data node to accommodate all deployments.</t>
          </dd>
          <dt>'customer-point':</dt>
          <dd>
            <t>Specifies the customer terminating point for the bearer. A bearer request can indicate a site, a device, a combination thereof, or a custom information when requesting a bearer. All these schemes are supported in the model.</t>
          </dd>
          <dt>'requested-type':</dt>
          <dd>
            <t>Specifies the requested bearer type (Ethernet, wireless, etc.).</t>
          </dd>
          <dt>'bearer-reference':</dt>
          <dd>
            <t>Returns an internal reference for the service provider to 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. Whether the 'bearer-reference' mirrors the content of the 'id' is deployment specific. The module does not assume nor preclude such schemes.</t>
          </dd>
          <dt>'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. 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>
        <section anchor="overall-structure">
          <name>Overall Structure</name>
          <t>The overall tree structure of the AC service module is shown in <xref target="o-svc-tree"/>.</t>
          <figure anchor="o-svc-tree">
            <name>Overall AC Service Tree Structure</name>
            <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        ...
        +--rw l2-connection
        |  ...
        +--rw ip-connection
        |  ...
        +--rw routing-protocols
        |  ...
        +--rw oam
        |  ...
        +--rw security
        |  ...
        +--rw service
           ...
]]></artwork>
          </figure>
          <t>The full ACaaS tree is available at <xref target="AC-SVC-Tree"/>. The full reusable groupings defined in the ACaaS module are shown in <xref target="AC-SVC-GRP"/>.</t>
          <ul empty="true">
            <li>
              <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.boro-opsawg-teas-common-ac"/> is as follows:</t>
              <ul spacing="normal">
                <li>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.</li>
                <li>Groupings that are reusable only by other service models are maintained in the "ietf-ac-svc" module.</li>
              </ul>
            </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.boro-opsawg-teas-common-ac"/>. Therefore, the description of these nodes are not reiterated in the following subsections.</t>
        </section>
        <section anchor="sec-profiles">
          <name>Service Profiles</name>
          <section anchor="description">
            <name>Description</name>
            <t>The 'specific-provisioning-profiles' container (<xref target="gp-svc-tree"/>) can be used by a service provider to maintain a set of reusable profiles. The profiles definition are similar to those defined in <xref target="RFC9181"/>, including: Quality of Service (QoS),  Bidirectional Forwarding Detection (BFD), forwarding, and routing profiles. The exact definition of the profiles is local to each service provider. The model only includes an identifier for these profiles in order to facilitate identifying and binding local policies when building an AC.</t>
            <figure anchor="gp-svc-tree">
              <name>Service Profiles</name>
              <artwork align="center"><![CDATA[
module: ietf-ac-svc
  +--rw specific-provisioning-profiles
  |  +--rw valid-provider-identifiers
  |     +--rw encryption-profile-identifier* [id]
  |     |  +--rw id    string
  |     +--rw qos-profile-identifier* [id]
  |     |  +--rw id    string
  |     +--rw bfd-profile-identifier* [id]
  |     |  +--rw id    string
  |     +--rw forwarding-profile-identifier* [id]
  |     |  +--rw id    string
  |     +--rw routing-profile-identifier* [id]
  |        +--rw id    string
  +--rw service-provisioning-profiles
  |  +--rw service-profile-identifier* [id]
  |     +--rw id    string
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        ...
        +--rw l2-connection
        |  ...
        +--rw ip-connection
        |  ...
        +--rw routing-protocols
        |  ...
        +--rw oam
        |  ...
        +--rw security
        |  ...
        +--rw service
           ...
]]></artwork>
            </figure>
            <t>As shown in <xref target="gp-svc-tree"/>, two profile types can be defined: 'specific-provisioning-profiles' and 'service-provisioning-profiles'. Whether only specific profiles, service profiles, or a combination thereof are used is local to each service provider.</t>
            <t>The following specific provisioning profiles can be defined:</t>
            <dl>
              <dt>'encryption-profile-identifier':</dt>
              <dd>
                <t>Refers to a set of policies related to the encryption setup that can be applied when provisioning an AC.</t>
              </dd>
              <dt>'qos-profile-identifier':</dt>
              <dd>
                <t>Refers to a set of policies, such as classification, marking, and actions (e.g., <xref target="RFC3644"/>).</t>
              </dd>
              <dt>'bfd-profile-identifier':</dt>
              <dd>
                <t>Refers to a set of Bidirectional Forwarding Detection (BFD) policies <xref target="RFC5880"/> that can be invoked when building an AC.</t>
              </dd>
              <dt>'forwarding-profile-identifier':</dt>
              <dd>
                <t>Refers to the policies that apply to the forwarding of packets conveyed within an AC. Such policies may consist, for example, of applying Access Control Lists (ACLs).</t>
              </dd>
              <dt>'routing-profile-identifier':</dt>
              <dd>
                <t>Refers to a set of routing policies that will be invoked (e.g., BGP policies) when building an AC.</t>
              </dd>
            </dl>
          </section>
          <section anchor="referencing-servicespecific-profiles">
            <name>Referencing Service/Specific Profiles</name>
            <t>All the abovementioned profiles are uniquely identified by the NETCONF/RESTCONF server by an identifier. To ease referencing these profiles by other data models, specific typedefs are defined for each of these profiles. Likewise, an attachment circuit reference typedef is defined when referencing a (global) attachment circuit by its name is required. These typedefs <bcp14>SHOULD</bcp14> be used when other modules need a reference to one of these profiles or attachment circuits.</t>
          </section>
        </section>
        <section anchor="sec-acp">
          <name>Attachment Circuits Profiles</name>
          <t>The 'ac-group-profile' defines reusable parameters for a set of ACes. Each profile is identified by 'name'. Some of the data nodes can be adjusted at the 'ac'.
These adjusted values take precedence over the global values.  The structure of 'ac-group-profile' is similar to the one used to model each 'ac' (<xref target="ac-svc-tree"/>).</t>
        </section>
        <section anchor="sec-pc">
          <name>AC Placement Contraints</name>
          <t>The 'placement-constraints' specifies the placement constraints of an AC. For example, this container can be used to request avoiding to connecting two ACes 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 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 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>'peer-sap-id':</dt>
            <dd>
              <t>Includes references to the remote endpoints of an attachment circuit <xref target="I-D.ietf-opsawg-sap"/>.</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>'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 ACes. An example is provided in <xref target="sec-ex-prec"/>.</t>
            </dd>
            <dt>'name':</dt>
            <dd>
              <t>Associates a name that uniquely identifies an AC within a service provider network.</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. This structure relies upon the common groupings defined in <xref target="I-D.boro-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 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 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.boro-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, the module supports BGP, OSPF, IS-IS, and RIP. It also includes a reference to the 'routing-profile-identifier' defined in <xref target="sec-profiles"/>, so that additional constraints can be applied to a specific instance of each routing protocol.</t>
            <figure anchor="rtg-svc-tree">
              <name>Routing Tree Structure</name>
              <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        +--rw customer-name?       string
        +--rw description?         string
        +--rw requested-start?     yang:date-and-time
        +--rw requested-stop?      yang:date-and-time
        +--ro actual-start?        yang:date-and-time
        +--ro actual-stop?         yang:date-and-time
        +--rw peer-sap-id*         string
        +--rw ac-group-profile*    ac-group-reference
        +--rw group* [group-id]
        |  +--rw group-id      string
        |  +--rw precedence?   identityref
        +--rw name                 string
        +--rw l2-connection
        | ...
        +--rw ip-connection
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  ...
        |     +--rw bgp
        |     |  ...
        |     |  ...
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |        ...
        +--rw oam
        |  ...
        +--rw security
        |  ...
        +--rw service
           ...
]]></artwork>
            </figure>
            <section anchor="static-routing">
              <name>Static Routing</name>
              <t>The static tree structure is shown in <xref target="static-rtg-svc-tree"/>.</t>
              <figure anchor="static-rtg-svc-tree">
                <name>Static Routing Tree Structure</name>
                <artwork align="center"><![CDATA[
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  +--rw cascaded-lan-prefixes
        |     |     +--rw ipv4-lan-prefixes* [lan next-hop]
        |     |     |       {vpn-common:ipv4}?
        |     |     |  +--rw lan         inet:ipv4-prefix
        |     |     |  +--rw lan-tag?    string
        |     |     |  +--rw next-hop    union
        |     |     |  +--rw metric?     uint32
        |     |     |  +--rw status
        |     |     |     +--rw admin-status
        |     |     |     |  +--rw status?        identityref
        |     |     |     |  +--rw last-change?   yang:date-and-time
        |     |     |     +--ro oper-status
        |     |     |        +--ro status?        identityref
        |     |     |        +--ro last-change?   yang:date-and-time
        |     |     +--rw ipv6-lan-prefixes* [lan next-hop]
        |     |             {vpn-common:ipv6}?
        |     |        +--rw lan         inet:ipv6-prefix
        |     |        +--rw lan-tag?    string
        |     |        +--rw next-hop    union
        |     |        +--rw metric?     uint32
        |     |        +--rw status
        |     |           +--rw admin-status
        |     |           |  +--rw status?        identityref
        |     |           |  +--rw last-change?   yang:date-and-time
        |     |           +--ro oper-status
        |     |              +--ro status?        identityref
        |     |              +--ro last-change?   yang:date-and-time
        |     +--rw bgp
        |     |  ...
        |     +--rw ospf
        |     |  ...
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |        ...
]]></artwork>
              </figure>
            </section>
            <section anchor="bgp">
              <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-address?    inet:ip-address
        |     |  |     +--ro local-as?         inet:as-number
        |     |  |     +--rw peer-as?          inet:as-number
        |     |  |     +--rw address-family?   identityref
        |     |  |     +--rw authentication
        |     |  |        +--rw enable?            boolean
        |     |  |        +--rw keying-material
        |     |  |           +--rw (option)?
        |     |  |              +--:(ao)
        |     |  |              |  +--rw enable-ao?          boolean
        |     |  |              |  +--rw ao-keychain?
        |     |  |              |          key-chain:key-chain-ref
        |     |  |              +--:(md5)
        |     |  |              |  +--rw md5-keychain?
        |     |  |              |          key-chain:key-chain-ref
        |     |  |              +--:(explicit)
        |     |  |                 +--rw key-id?             uint32
        |     |  |                 +--rw key?                string
        |     |  |                 +--rw crypto-algorithm?
        |     |  |                         identityref
        |     |  +--rw neighbor* [id]
        |     |     +--rw id                string
        |     |     +--rw remote-address?   inet:ip-address
        |     |     +--ro local-address?    inet:ip-address
        |     |     +--rw peer-group?
        |     |     |       -> ../../peer-groups/peer-group/name
        |     |     +--ro local-as?         inet:as-number
        |     |     +--rw peer-as?          inet:as-number
        |     |     +--rw address-family?   identityref
        |     |     +--rw authentication
        |     |     |  +--rw enable?            boolean
        |     |     |  +--rw keying-material
        |     |     |     +--rw (option)?
        |     |     |        +--:(ao)
        |     |     |        |  +--rw enable-ao?          boolean
        |     |     |        |  +--rw ao-keychain?
        |     |     |        |          key-chain:key-chain-ref
        |     |     |        +--:(md5)
        |     |     |        |  +--rw md5-keychain?
        |     |     |        |          key-chain:key-chain-ref
        |     |     |        +--:(explicit)
        |     |     |           +--rw key-id?             uint32
        |     |     |           +--rw key?                string
        |     |     |           +--rw crypto-algorithm?   identityref
        |     |     +--rw status
        |     |        +--rw admin-status
        |     |        |  +--rw status?        identityref
        |     |        |  +--rw last-change?   yang:date-and-time
        |     |        +--ro oper-status
        |     |           +--ro status?        identityref
        |     |           +--ro last-change?   yang:date-and-time
        |     +--rw ospf
        |     |  ...
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |        ...
]]></artwork>
              </figure>
              <t>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 (Section 3.1 of <xref target="RFC5925"/>).</t>
            </section>
            <section anchor="ospf">
              <name>OSPF</name>
              <t>The OSPF tree structure is shown in <xref target="ospf-rtg-svc-tree"/>.</t>
              <figure anchor="ospf-rtg-svc-tree">
                <name>OSPF Tree Structure</name>
                <artwork align="center"><![CDATA[
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  ...
        |     +--rw bgp
        |     |  ...
        |     +--rw ospf
        |     |  +--rw address-family?   identityref
        |     |  +--rw area-id           yang:dotted-quad
        |     |  +--rw metric?           uint16
        |     |  +--rw authentication
        |     |  |  +--rw enable?            boolean
        |     |  |  +--rw keying-material
        |     |  |     +--rw (option)?
        |     |  |        +--:(auth-key-chain)
        |     |  |        |  +--rw key-chain?
        |     |  |        |          key-chain:key-chain-ref
        |     |  |        +--:(auth-key-explicit)
        |     |  |           +--rw key-id?             uint32
        |     |  |           +--rw key?                string
        |     |  |           +--rw crypto-algorithm?   identityref
        |     |  +--rw status
        |     |     +--rw admin-status
        |     |     |  +--rw status?        identityref
        |     |     |  +--rw last-change?   yang:date-and-time
        |     |     +--ro oper-status
        |     |        +--ro status?        identityref
        |     |        +--ro last-change?   yang:date-and-time
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |        ...
]]></artwork>
              </figure>
            </section>
          </section>
          <section anchor="is-is">
            <name>IS-IS</name>
            <t>The IS-IS tree structure is shown in <xref target="isis-rtg-svc-tree"/>.</t>
            <figure anchor="isis-rtg-svc-tree">
              <name>IS-IS Tree Structure</name>
              <artwork align="center"><![CDATA[
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  ...
        |     +--rw bgp
        |     |  ...
        |     |           +--ro last-change?   yang:date-and-time
        |     +--rw ospf
        |     |  ...
        |     +--rw isis
        |     |  +--rw address-family?   identityref
        |     |  +--rw area-address      area-address
        |     |  +--rw authentication
        |     |  |  +--rw enable?            boolean
        |     |  |  +--rw keying-material
        |     |  |     +--rw (option)?
        |     |  |        +--:(auth-key-chain)
        |     |  |        |  +--rw key-chain?
        |     |  |        |          key-chain:key-chain-ref
        |     |  |        +--:(auth-key-explicit)
        |     |  |           +--rw key-id?             uint32
        |     |  |           +--rw key?                string
        |     |  |           +--rw crypto-algorithm?   identityref
        |     |  +--rw status
        |     |     +--rw admin-status
        |     |     |  +--rw status?        identityref
        |     |     |  +--rw last-change?   yang:date-and-time
        |     |     +--ro oper-status
        |     |        +--ro status?        identityref
        |     |        +--ro last-change?   yang:date-and-time
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |      ...
]]></artwork>
            </figure>
          </section>
          <section anchor="rip">
            <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
        |     |  ...
        |     |           +--ro last-change?   yang:date-and-time
        |     +--rw ospf
        |     |  ...
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  +--rw address-family?   identityref
        |     |  +--rw authentication
        |     |  |  +--rw enable?            boolean
        |     |  |  +--rw keying-material
        |     |  |     +--rw (option)?
        |     |  |        +--:(auth-key-chain)
        |     |  |        |  +--rw key-chain?
        |     |  |        |          key-chain:key-chain-ref
        |     |  |        +--:(auth-key-explicit)
        |     |  |           +--rw key?                string
        |     |  |           +--rw crypto-algorithm?   identityref
        |     |  +--rw status
        |     |     +--rw admin-status
        |     |     |  +--rw status?        identityref
        |     |     |  +--rw last-change?   yang:date-and-time
        |     |     +--ro oper-status
        |     |        +--ro status?        identityref
        |     |        +--ro last-change?   yang:date-and-time
        |     +--rw vrrp
        |      ...
]]></artwork>
            </figure>
            <t>'address-family' indicates whether IPv4, IPv6, or both address families are to be activated. For example, this parameter is used to determine whether RIPv2 <xref target="RFC2453"/>, RIP Next Generation (RIPng), or both are to be enabled <xref target="RFC2080"/>.</t>
          </section>
          <section anchor="vrrp">
            <name>VRRP</name>
            <t>The model also supports the Virtual Router Redundancy Protocol (VRRP) <xref target="RFC5798"/> on an AC (<xref target="vrrp-rtg-svc-tree"/>).</t>
            <figure anchor="vrrp-rtg-svc-tree">
              <name>VRRP Tree Structure</name>
              <artwork align="center"><![CDATA[
        |  ...
        +--rw routing-protocols
        |  +--rw routing-protocol* [id]
        |     +--rw id                  string
        |     +--rw type?               identityref
        |     +--rw routing-profiles* [id]
        |     |  +--rw id      routing-profile-reference
        |     |  +--rw type?   identityref
        |     +--rw static
        |     |  ...
        |     +--rw bgp
        |     |  ...
        |     +--rw ospf
        |     |  ...
        |     +--rw isis
        |     |  ...
        |     +--rw rip
        |     |  ...
        |     +--rw vrrp
        |        +--rw address-family?   identityref
        |        +--rw status
        |           +--rw admin-status
        |           |  +--rw status?        identityref
        |           |  +--rw last-change?   yang:date-and-time
        |           +--ro oper-status
        |              +--ro status?        identityref
        |              +--ro last-change?   yang:date-and-time
]]></artwork>
            </figure>
          </section>
          <section anchor="sec-oam">
            <name>OAM</name>
            <t>As shown in the tree depicted in <xref target="oam-svc-tree"/>, the 'oam' container defines OAM-related parameters of an AC.</t>
            <figure anchor="oam-svc-tree">
              <name>OAM Tree Structure</name>
              <artwork align="center"><![CDATA[
  +--rw specific-provisioning-profiles
  |  ...
  +--rw service-provisioning-profiles
  |  ...
  +--rw attachment-circuits
     +--rw ac-group-profile* [name]
     |  ...
     +--rw placement-constraints
     |  ...
     +--rw ac* [name]
        ...
        +--rw l2-connection
        |  ...
        +--rw ip-connection
        |  ...
        +--rw routing-protocols
        |  ...
        +--rw oam
        |  +--rw bfd {vpn-common:bfd}?
        |     +--rw holdtime?   uint32
        |     +--rw status
        |        +--rw admin-status
        |        |  +--rw status?        identityref
        |        |  +--rw last-change?   yang:date-and-time
        |        +--ro oper-status
        |           +--ro status?        identityref
        |           +--ro last-change?   yang:date-and-time
        +--rw security
        |  ...
        +--rw service
           ...
]]></artwork>
            </figure>
          </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>
          </section>
          <section anchor="sec-bw">
            <name>Service</name>
            <t>As shown in the tree depicted in <xref target="bw-tree"/>, 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':</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>
            </dl>
            <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.boro-opsawg-teas-common-ac"/>.</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 mtu?            uint32
           +--rw svc-pe-to-ce-bandwidth {vpn-common:inbound-bw}?
           |  +--rw bandwidth* [bw-type]
           |     +--rw bw-type      identityref
           |     +--rw (type)?
           |        +--:(per-cos)
           |        |  +--rw cos* [cos-id]
           |        |     +--rw cos-id    uint8
           |        |     +--rw cir?      uint64
           |        |     +--rw cbs?      uint64
           |        |     +--rw eir?      uint64
           |        |     +--rw ebs?      uint64
           |        |     +--rw pir?      uint64
           |        |     +--rw pbs?      uint64
           |        +--:(other)
           |           +--rw cir?   uint64
           |           +--rw cbs?   uint64
           |           +--rw eir?   uint64
           |           +--rw ebs?   uint64
           |           +--rw pir?   uint64
           |           +--rw pbs?   uint64
           +--rw svc-ce-to-pe-bandwidth {vpn-common:outbound-bw}?
              +--rw bandwidth* [bw-type]
                 +--rw bw-type      identityref
                 +--rw (type)?
                    +--:(per-cos)
                    |  +--rw cos* [cos-id]
                    |     +--rw cos-id    uint8
                    |     +--rw cir?      uint64
                    |     +--rw cbs?      uint64
                    |     +--rw eir?      uint64
                    |     +--rw ebs?      uint64
                    |     +--rw pir?      uint64
                    |     +--rw pbs?      uint64
                    +--:(other)
                       +--rw cir?   uint64
                       +--rw cbs?   uint64
                       +--rw eir?   uint64
                       +--rw ebs?   uint64
                       +--rw pir?   uint64
                       +--rw pbs?   uint64
]]></artwork>
            </figure>
          </section>
        </section>
      </section>
    </section>
    <section anchor="yang-modules">
      <name>YANG Modules</name>
      <section anchor="the-bearer-service-ietf-bearer-svc-yang-module-1">
        <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 markers="true"><![CDATA[ file ietf-bearer-svc@2022-11-30.yang
module ietf-bearer-svc {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-bearer-svc";
  prefix bearer-svc;

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

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

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

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

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

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

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

  // Identities 

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

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

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

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

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

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

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

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

  grouping location-information {
    description
      "Basic location information";
    container location {
      description
        "Location of the node.";
      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.";
      }
    }
  }

  container bearers {
    description
      "Main container for the bearers.";
    list bearer {
      key "id";
      description
        "Maintains a list of bearers.";
      leaf id {
        type string;
        description
          "An identifier of the bearer.";
      }
      leaf description {
        type string;
        description
          "A description of this bearer.";
      }
      leaf op-comment {
        type string;
        description
          "Includes comments that can be shared with operational teams and
           which may be useful for the activation of a bearer. This may include,
           for example, information about the building, level, etc.";
      }
      container customer-point {
        description
          "Base container to link the Bearer existence";
        leaf identified-by {
          type identityref {
            base identification-type;
          }
          description
            "Attribute used to identify the bearer";
        }
        container device {
          when
            "derived-from-or-self(../identified-by, "
          + "'device-id') or derived-from-or-self(../identified-by, "
          + "'site-and-device-id')" {
            description
              "Only applicable if identified-by is device.";
          }
          description
            "Bearer is linked to device.";
          leaf device-id {
            type string;
            description
              "Identifier for the device where that bearer belongs.";
          }
          uses location-information;
        }
        container site {
          when
            "derived-from-or-self(../identified-by, "
          + "'site-id') or derived-from-or-self(../identified-by, "
          + "'site-and-device-id')" {
            description
              "Only applicable if identified-by is site.";
          }
          description
            "Bearer is linked to a site.";
          leaf site-id {
            type string;
            description
              "Identifier for the site or sites where that bearer belongs.";
          }
          uses location-information;
        }
        leaf custom-id {
          when "derived-from-or-self(../identified-by, "
             + "'custom')" {
            description
              "Only enabled id identified-by is custom.";
          }
          type string;
          description
            "The semantic of this identifier is shared between the
              customer/provider using out-of-band means.";
        }
      }
      leaf requested-type {
        type identityref {
          base bearer-type;
        }
        description
          "Type of the requested bearer (e.g., Ethernet, or wireless)";
      }
      leaf 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-refs {
        type ac-svc:attachment-circuit-reference;
        config false;
        description
          "Specifies the set of ACes that are bound to the bearer.";
      }
      uses ac-common:op-instructions;
      uses vpn-common:service-status;
    }
  }
}
]]></sourcecode>
      </section>
      <section anchor="the-ac-service-ietf-ac-svc-yang-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.boro-opsawg-teas-common-ac"/>.</t>
        <sourcecode markers="true"><![CDATA[ file ietf-ac-svc@2022-11-30.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 (ACs) as a service.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  // Full Layer 2 connection

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

  // Basic IP connection

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

  // Full IP connection

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

  // Routing protocol list

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

  //  BGP Service 

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

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

  //  OSPF Service 

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

  //  IS-IS Service 

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

  //  RIP Service 

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

  //  VRRP Service 

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

  // Basic routing parameters

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

  // Full routing parameters

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

  // Encryption choice

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

  // Basic security parameters

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

  // Bandwith

  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 parameter

  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
         circuits 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.";
        uses ac-common:bfd;
        uses vpn-common:service-status;
      }
    }
    container security {
      description
        "AC-specific security parameters.";
      uses ac-security-basic;
    }
    container service {
      description
        "AC-specific bandwith parameters.";
      uses bandwidth;
    }
  }

  /******************** 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 per-node AC profiles.";
      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.";
      }
      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 a per-node AC profile.";
      }
      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.";
        }
      }
      uses ac;
    }
  }
}
]]></sourcecode>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The YANG modules specified in this document define schema for data
   that is designed to be accessed via network management protocols such
   as NETCONF <xref target="RFC6241"/> or RESTCONF <xref target="RFC8040"/>.  The lowest NETCONF layer
   is the secure transport layer, and the mandatory-to-implement secure
   transport is Secure Shell (SSH) <xref target="RFC6242"/>.  The lowest RESTCONF layer
   is HTTPS, and the mandatory-to-implement secure transport is TLS
   <xref target="RFC8446"/>.</t>
      <t>The Network Configuration Access Control Model (NACM) <xref target="RFC8341"/>
   provides the means to restrict access for particular NETCONF or
   RESTCONF users to a preconfigured subset of all available NETCONF or
   RESTCONF protocol operations and content.</t>
      <t>There are a number of data nodes defined in these YANG modules that are
   writable/creatable/deletable (i.e., config true, which is the
   default).  These data nodes may be considered sensitive or vulnerable
   in some network environments.  Write operations (e.g., edit-config)
   and delete operations to these data nodes without proper protection
   or authentication can have a negative effect on network operations.
   These are the subtrees and data nodes and their sensitivity/
   vulnerability in the "ietf-ac-svc" module:</t>
      <ul spacing="normal">
        <li>TBC</li>
        <li>TBC</li>
      </ul>
      <t>Some of the readable data nodes in these YANG module may be considered
   sensitive or vulnerable in some network environments.  It is thus
   important to control read access (e.g., via get, get-config, or
   notification) to these data nodes.  These are the subtrees and data
   nodes and their sensitivity/vulnerability in the "ietf-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>
        <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">
              <organization/>
            </author>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter">
              <organization/>
            </author>
            <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="RFC8342">
          <front>
            <title>Network Management Datastore Architecture (NMDA)</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund">
              <organization/>
            </author>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder">
              <organization/>
            </author>
            <author fullname="P. Shafer" initials="P." surname="Shafer">
              <organization/>
            </author>
            <author fullname="K. Watsen" initials="K." surname="Watsen">
              <organization/>
            </author>
            <author fullname="R. Wilton" initials="R." surname="Wilton">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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="RFC9181">
          <front>
            <title>A Common YANG Data Model for Layer 2 and Layer 3 VPNs</title>
            <author fullname="S. Barguil" initials="S." surname="Barguil">
              <organization/>
            </author>
            <author fullname="O. Gonzalez de Dios" initials="O." role="editor" surname="Gonzalez de Dios">
              <organization/>
            </author>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair">
              <organization/>
            </author>
            <author fullname="Q. Wu" initials="Q." surname="Wu">
              <organization/>
            </author>
            <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.boro-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="6" month="March" year="2023"/>
            <abstract>
              <t>   The document specifies a common Attachment Circuits (ACs) YANG
   module, which is designed with the intent to be reusable by other
   models.  For example, this common model can be reused by service
   models to expose ACs as a service, service models that require
   binding a service to a set of ACs, network and device models to
   provision ACs, etc.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-boro-opsawg-teas-common-ac-01"/>
        </reference>
        <reference anchor="RFC5880">
          <front>
            <title>Bidirectional Forwarding Detection (BFD)</title>
            <author fullname="D. Katz" initials="D." surname="Katz">
              <organization/>
            </author>
            <author fullname="D. Ward" initials="D." surname="Ward">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="Y. Qu" initials="Y." surname="Qu">
              <organization/>
            </author>
            <author fullname="D. Yeung" initials="D." surname="Yeung">
              <organization/>
            </author>
            <author fullname="I. Chen" initials="I." surname="Chen">
              <organization/>
            </author>
            <author fullname="J. Zhang" initials="J." surname="Zhang">
              <organization/>
            </author>
            <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="RFC6991">
          <front>
            <title>Common YANG Data Types</title>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder">
              <organization/>
            </author>
            <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="RFC6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns">
              <organization/>
            </author>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund">
              <organization/>
            </author>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder">
              <organization/>
            </author>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman">
              <organization/>
            </author>
            <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="RFC8040">
          <front>
            <title>RESTCONF Protocol</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman">
              <organization/>
            </author>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund">
              <organization/>
            </author>
            <author fullname="K. Watsen" initials="K." surname="Watsen">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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>
        <name>Informative References</name>
        <reference anchor="AC-SVC-Tree" target="https://raw.githubusercontent.com/boucadair/attachment-circuit-model/main/yang/full-trees/ac-svc-without-groupings.txt">
          <front>
            <title>Full Service Attachment Circuit Tree Structure</title>
            <author>
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="AC-SVC-GRP" target="https://raw.githubusercontent.com/boucadair/attachment-circuit-model/main/yang/full-trees/ac-svc-groupings.txt">
          <front>
            <title>Reusable Groupings in Service Attachment Circuits</title>
            <author>
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="I-D.ietf-opsawg-sap">
          <front>
            <title>A YANG Network Model for Service Attachment Points (SAPs)</title>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</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="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Victor Lopez" initials="V." surname="Lopez">
              <organization>Nokia</organization>
            </author>
            <date day="18" month="January" 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).

   This document augments the 'ietf-network' data model 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-Network Interface (UNI) and Network-to-
   Network Interface (NNI) are supported in the SAP data model.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-sap-15"/>
        </reference>
        <reference anchor="RFC5737">
          <front>
            <title>IPv4 Address Blocks Reserved for Documentation</title>
            <author fullname="J. Arkko" initials="J." surname="Arkko">
              <organization/>
            </author>
            <author fullname="M. Cotton" initials="M." surname="Cotton">
              <organization/>
            </author>
            <author fullname="L. Vegoda" initials="L." surname="Vegoda">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="A. Lord" initials="A." surname="Lord">
              <organization/>
            </author>
            <author fullname="P. Smith" initials="P." surname="Smith">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair">
              <organization/>
            </author>
            <author fullname="D. Lopez" initials="D." surname="Lopez">
              <organization/>
            </author>
            <author fullname="C. Xie" initials="C." surname="Xie">
              <organization/>
            </author>
            <author fullname="L. Geng" initials="L." surname="Geng">
              <organization/>
            </author>
            <date month="January" year="2021"/>
            <abstract>
              <t>Data models provide a programmatic approach to represent services and networks. Concretely, they can be used to derive configuration information for network and service components, and state information that will be monitored and tracked.  Data models can be used during the service and network management life cycle (e.g., service instantiation, service provisioning, service optimization, service monitoring, service diagnosing, and service assurance).  Data models are also instrumental in the automation of network management, and they can provide closed-loop control for adaptive and deterministic service creation, delivery, and maintenance.</t>
              <t>This document describes a framework for service and network management automation that takes advantage of YANG modeling technologies. This framework is drawn from a network operator perspective irrespective of the origin of a data model; thus, it can accommodate YANG modules that are developed outside the IETF.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8969"/>
          <seriesInfo name="DOI" value="10.17487/RFC8969"/>
        </reference>
        <reference anchor="I-D.boro-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="March" year="2023"/>
            <abstract>
              <t>   This document specifies a network model for attachment circuits.  The
   model can be used for the provisioning of attachment circuits prior
   or during service provisioning (e.g., Network Slice Service).  A
   companion service model is specified in
   [I-D.boro-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-boro-opsawg-ntw-attachment-circuit-02"/>
        </reference>
        <reference anchor="RFC8349">
          <front>
            <title>A YANG Data Model for Routing Management (NMDA Version)</title>
            <author fullname="L. Lhotka" initials="L." surname="Lhotka">
              <organization/>
            </author>
            <author fullname="A. Lindem" initials="A." surname="Lindem">
              <organization/>
            </author>
            <author fullname="Y. Qu" initials="Y." surname="Qu">
              <organization/>
            </author>
            <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="1" month="March" 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-16"/>
        </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">
              <organization/>
            </author>
            <author fullname="G. Fioccola" initials="G." role="editor" surname="Fioccola">
              <organization/>
            </author>
            <author fullname="C. Xie" initials="C." surname="Xie">
              <organization/>
            </author>
            <author fullname="L. Jalil" initials="L." surname="Jalil">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski">
              <organization/>
            </author>
            <author fullname="L. Tomotaki" initials="L." surname="Tomotaki">
              <organization/>
            </author>
            <author fullname="K. Ogaki" initials="K." surname="Ogaki">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="L. Berger" initials="L." role="editor" surname="Berger">
              <organization/>
            </author>
            <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="RFC7665">
          <front>
            <title>Service Function Chaining (SFC) Architecture</title>
            <author fullname="J. Halpern" initials="J." role="editor" surname="Halpern">
              <organization/>
            </author>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro">
              <organization/>
            </author>
            <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="RFC3644">
          <front>
            <title>Policy Quality of Service (QoS) Information Model</title>
            <author fullname="Y. Snir" initials="Y." surname="Snir">
              <organization/>
            </author>
            <author fullname="Y. Ramberg" initials="Y." surname="Ramberg">
              <organization/>
            </author>
            <author fullname="J. Strassner" initials="J." surname="Strassner">
              <organization/>
            </author>
            <author fullname="R. Cohen" initials="R." surname="Cohen">
              <organization/>
            </author>
            <author fullname="B. Moore" initials="B." surname="Moore">
              <organization/>
            </author>
            <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="RFC9182">
          <front>
            <title>A YANG Network Data Model for Layer 3 VPNs</title>
            <author fullname="S. Barguil" initials="S." surname="Barguil">
              <organization/>
            </author>
            <author fullname="O. Gonzalez de Dios" initials="O." role="editor" surname="Gonzalez de Dios">
              <organization/>
            </author>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair">
              <organization/>
            </author>
            <author fullname="L. Munoz" initials="L." surname="Munoz">
              <organization/>
            </author>
            <author fullname="A. Aguado" initials="A." surname="Aguado">
              <organization/>
            </author>
            <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="RFC5925">
          <front>
            <title>The TCP Authentication Option</title>
            <author fullname="J. Touch" initials="J." surname="Touch">
              <organization/>
            </author>
            <author fullname="A. Mankin" initials="A." surname="Mankin">
              <organization/>
            </author>
            <author fullname="R. Bonica" initials="R." surname="Bonica">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="R. Minnear" initials="R." surname="Minnear">
              <organization/>
            </author>
            <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="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">
              <organization/>
            </author>
            <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="RFC8695">
          <front>
            <title>A YANG Data Model for the Routing Information Protocol (RIP)</title>
            <author fullname="X. Liu" initials="X." surname="Liu">
              <organization/>
            </author>
            <author fullname="P. Sarda" initials="P." surname="Sarda">
              <organization/>
            </author>
            <author fullname="V. Choudhary" initials="V." surname="Choudhary">
              <organization/>
            </author>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document describes a data model for the management of the Routing Information Protocol (RIP).  Both RIP version 2 and RIPng are covered.  The data model includes definitions for configuration, operational state, and Remote Procedure Calls (RPCs).</t>
              <t>The YANG data model in this document conforms to the Network Management Datastore Architecture (NMDA).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8695"/>
          <seriesInfo name="DOI" value="10.17487/RFC8695"/>
        </reference>
        <reference anchor="I-D.ietf-teas-ietf-network-slice-nbi-yang">
          <front>
            <title>A YANG Data Model for the IETF Network Slice Service</title>
            <author fullname="Bo Wu" initials="B." surname="Wu">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Dhruv Dhody" initials="D." surname="Dhody">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Reza Rokui" initials="R." surname="Rokui">
              <organization>Ciena</organization>
            </author>
            <author fullname="Tarek Saad" initials="T." surname="Saad">
              <organization>Cisco Systems, Inc</organization>
            </author>
            <author fullname="Liuyan Han" initials="L." surname="Han">
              <organization>China Mobile</organization>
            </author>
            <author fullname="John Mullooly" initials="J." surname="Mullooly">
              <organization>Cisco Systems, Inc</organization>
            </author>
            <date day="13" month="March" year="2023"/>
            <abstract>
              <t>   This document defines a YANG data model for the IETF Network Slice
   Service.  The model can be used in the IETF Network Slice Service
   interface between a customer and a provider that offers IETF Network
   Slices.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teas-ietf-network-slice-nbi-yang-04"/>
        </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">
              <organization/>
            </author>
            <author fullname="L. Chen" initials="L." surname="Chen">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="K. Patel" initials="K." surname="Patel">
              <organization/>
            </author>
            <author fullname="L. Zheng" initials="L." surname="Zheng">
              <organization/>
            </author>
            <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 2587?>

<section anchor="examples">
      <name>Examples</name>
      <t>This section includes a non-exhaustive list of examples to illustrate the use of the service models defined in this document.</t>
      <section anchor="ex-create-bearer">
        <name>Create A New Bearer</name>
        <t>An example of a request message body to create a bearer is shown in <xref target="create-bearer"/>.</t>
        <figure anchor="create-bearer">
          <name>Example of a Message Body to Create A New Bearer</name>
          <artwork><![CDATA[
{
  "ietf-bearer-svc:bearers": {
    "bearer": [
      {
        "id": "an-identifier",
        "description": "A bearer example",
        "customer-point": {
          "device": {
            "device-id": "CE_X_SITE_Y"
          }
        },
        "requested-type": "ietf-bearer-svc:ethernet"
      }
    ]
  }
}
]]></artwork>
        </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>
          <artwork><![CDATA[
{
  "ietf-bearer-svc:bearers": {
    "bearer": [
      {
        "id": "an-identifier",
        "description": "A bearer example",
        "customer-point": {
          "device": {
            "device-id": "CE_X_SITE_Y"
          }
        },
        "requested-type": "ietf-bearer-svc:ethernet",
        "bearer-reference": "line-156"
      }
    ]
  }
}
  
]]></artwork>
        </figure>
      </section>
      <section anchor="ac-bearer-exist">
        <name>Create An AC over An Existing Bearer</name>
        <t>An example of  a request message body to create a simple AC over an existing bearer is shown in <xref target="ac-b"/>. The bearer reference is assumed to be known to both the customer and the network provider. Such a reference can be retrieved, e.g., following the example described in <xref target="ex-create-bearer"/> or using other means (including, exchanged out-of-band or via proprietary APIs).</t>
        <figure anchor="ac-b">
          <name>Example of a Message Body to Request an AC over an Existing Bearer</name>
          <artwork><![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"
        }
      }
    ]
  }
}
]]></artwork>
        </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>
          <artwork><![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"
        }
      }
    ]
  }
}
]]></artwork>
        </figure>
      </section>
      <section anchor="ac-no-bearer-peer-sap">
        <name>Create An AC for a Known Peer SAP</name>
        <t>An example of a request to create a simple AC, when the peer SAP is known, is shown in <xref target="ac-known-ps"/>. In this example, the peer SAP identifier points to an identifier of a service function. The (topological) location of that service function is assumed to be known to the network controller. For example, this can be determined as part of an on-demand procedure to instantiate a service function in a cloud. That instantiated service function can be granted a connectivity service via the provider network.</t>
        <figure anchor="ac-known-ps">
          <name>Example of a Message Body to Request an AC with a Peer SAP</name>
          <artwork><![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
            }
          }
        }
      }
    ]
  }
}
]]></artwork>
        </figure>
      </section>
      <section anchor="sec-ex-one-ce-multi-acs">
        <name>One CE, Two ACs</name>
        <t>Let’s consider the example of an eNodeB (CE) that is directly connected to the access routers of the mobile backhaul (see <xref target="enodeb"/>). In this example, two ACs are needed to service the eNodeB (e.g., distinct VLANs for Control and User Planes).</t>
        <figure anchor="enodeb">
          <name>Example of a CE-PE ACs</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="240" width="432" viewBox="0 0 432 240" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
                <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 ACes on The Same Link (Not Recommended)</name>
          <artwork><![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"
          },
          "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"
            }
          ]
        }
      }
    ]
  }
}
]]></artwork>
        </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">
          <artwork><![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"
            }
          ]
        }
      }
    ]
  }
}
]]></artwork>
        </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 ACes on The Same Link (Node Profile)</name>
          <artwork><![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
            }
          }
        }
     }
    ]
  }
}
]]></artwork>
        </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>
          <artwork><![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"
        }
      }
    ]
  }
}
]]></artwork>
        </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">
                <g class="text">
                  <text x="288" y="36">┌───┐</text>
                  <text x="156" y="52">ac1:</text>
                  <text x="208" y="52">primary</text>
                  <text x="272" y="52">│</text>
                  <text x="304" y="52">│</text>
                  <text x="204" y="68">┌────────────────────┤PE1│</text>
                  <text x="24" y="84">┌───┐</text>
                  <text x="104" y="84">│</text>
                  <text x="192" y="84">bearerX@site1</text>
                  <text x="272" y="84">│</text>
                  <text x="304" y="84">│</text>
                  <text x="8" y="100">│</text>
                  <text x="72" y="100">├───────┘</text>
                  <text x="288" y="100">└───┘</text>
                  <text x="16" y="116">│CE</text>
                  <text x="40" y="116">│</text>
                  <text x="8" y="132">│</text>
                  <text x="72" y="132">├───────┐</text>
                  <text x="288" y="132">┌───┐</text>
                  <text x="24" y="148">└───┘</text>
                  <text x="104" y="148">│</text>
                  <text x="156" y="148">ac2:</text>
                  <text x="216" y="148">secondary</text>
                  <text x="272" y="148">│</text>
                  <text x="304" y="148">│</text>
                  <text x="204" y="164">└────────────────────┤PE2│</text>
                  <text x="192" y="180">bearerY@site1</text>
                  <text x="272" y="180">│</text>
                  <text x="304" y="180">│</text>
                  <text x="288" y="196">└───┘</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>
          <artwork><![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"
        }
      }
    ]
  }
}
]]></artwork>
        </figure>
      </section>
      <section anchor="multiple-ces">
        <name>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">
                <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>
          <artwork><![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"
        }
      }
    ]
  }
}
]]></artwork>
        </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>The topology is made up of two sites (site1 and site2), interconnected via a Transport Network (e.g. IP/MPLS Network). A Network Function is deployed within each site in a dedicated IP Subnet.</li>
          <li>A 5G SMO is responsible for the deployment Network Functions and the indirect management of a local Gateway (i.e., CE device).</li>
          <li>An IETF Network Slice Controller is responsible for the deployment of IETF Network Slices across the TN.</li>
        </ul>
        <t>Network Functions are deployed within each site.</t>
        <figure anchor="slice-vlan-1">
          <name>An Example of a Network Topology Used to Deploy Slices</name>
          <artwork><![CDATA[
      5G SMO                 IETF NSC                 5G SMO
         │               (TN ORCHESTRATOR)               │
         │                        │                      │
   ◄─────┴─────►        ◄─────────┴────────►        ◄────┴─────►
       Site1             TRANSPORT NETWORK              Site2
   ┌───┐                  ┌──────────────┐                 ┌───┐
   │NF1│                  │              │                 │NF2│
   └─┬─┘   ┌───┐        ┌─┴─┐          ┌─┴─┐        ┌───┐  └─┬─┘
     │     │   │        │   │          │   │        │   │    │
   ──┴─────┤GW1├────────┤PE1│          │PE2├────────┤GW2├────┴──
       ▲   │   │    ▲   │   │          │   │   ▲    │   │  ▲
       │   └───┘    │   └─┬─┘          └─┬─┘   │    └───┘  │
       │            │     │              │     │           │
       │            │     └──────────────┘     │           │
     LAN1           │                          │          LAN2
198.51.100.0/24     │                          │  203.0.113.0/24
                    │                          │
                    │                          │
            Physical Link ID:           Physical Link ID:
              bearerX@site1               bearerX@site2

]]></artwork>
        </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>
          <artwork><![CDATA[
                             AS 65536  ◄────BGP───► AS 65550

 ┌───┐                     ┌────────┐                    ┌───┐
 │NF1│       192.0.2.0/30  │        │   192.0.2.4/30     │NF2│
 └─┬─┘   ┌───┐          ┌──┴┐      ┌┴──┐          ┌───┐  └─┬─┘
   │     │   │.1      .2│   │      │   │.6      .5│   │    │
 ──┴─────┤GW1│----------│PE1│      │PE2│----------│GW2├────┴──
         │   │ vlan-id  │   │      │   │ vlan-id  │   │
         └───┘   100    └──┬┘      └┬──┘   200    └───┘
198.51.100.0/24            │        │             203.0.113.0/24
                           └────────┘
                         sdp1      sdp2
             ◄─────────► ◄────────────► ◄─────────►
             Attachment   Ietf Network   Attachment
              Circuit         Slice       Circuit
                ac1         EMBB_UP        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>
        </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>
          <artwork><![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
                  }
                ]
              }
            }
          ]
        }
      }
    ]
  }
}
]]></artwork>
        </figure>
        <t><xref target="slice-acs-res"/> shows the message body of a reponse received from the controller.</t>
        <figure anchor="slice-acs-res">
          <artwork><![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 
                  }
                ]
              }
            }
          ]
        }
      }
    ]
  }
}
]]></artwork>
        </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>
          <artwork><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "ietf-network-slice-service:network-slice-services": {
    "slo-sle-templates": {
      "slo-sle-template": [
        {
          "id": "low-latency-template",
          "template-description": "Lowest possible latencey \
                                                 forwarding behavior"
        }
      ]
    },
    "slice-service": [
      {
        "service-id": "Slice URLLC_UP",
        "service-description": "Dedicate TN Slice for URLLC-UP",
        "slo-sle-template": "low-latency-template",
        "status": {},
        "sdps": {
          "sdp": [
            {
              "sdp-id": "sdp1",
              "ac-svc-name": ["ac1"]
            },
            {
              "sdp-id": "sdp2",
              "ac-svc-name": ["ac2"]
            }
          ]
        }
      }
    ]
  }
}
]]></artwork>
        </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>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.</li>
          <li>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.</li>
          <li>The customer provisions the networking logic within the Cloud Provider based on that unique connection Identifier (i.e., logical interfaces, IP addressing, and routing).</li>
        </ol>
        <figure anchor="cloud-provider-1">
          <name>An Example of Realization for Connecting a Cloud Site</name>
          <artwork><![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
    .--------------------│-▼---------------------------------.
    |             If-A┌──┴──┐       Service Provider Network |
    |                 │     │                                |
    |                 │ PE1 │ BGP_ASN: 65550                 |
    |                 │     │                                |
    |                 └─────┘                                |
    |                                                        |
    |                                                        |
    |                                                        |
    |                                                        |
    '--------------------------------------------------------'
]]></artwork>
        </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">
                <g class="text">
                  <text x="52" y="36">Customer</text>
                  <text x="544" y="36">Cloud</text>
                  <text x="56" y="52">Orchestration</text>
                  <text x="148" y="52">DIRECT</text>
                  <text x="240" y="52">INTERCONNECTION</text>
                  <text x="340" y="52">ORDERING</text>
                  <text x="400" y="52">(API)</text>
                  <text x="548" y="52">Provider</text>
                  <text x="312" y="68">──────────────────────────────────────────────►</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="464" y="100">ID:1234-56789</text>
                  <text x="316" y="116">◄───────────────────────────────────────────────</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>Cloud Provider for the configuration as per (3) above.</li>
          <li>Service provider network via the Attachment Circuit model. This request can be used in conjunction with additional requests based on L3SM (VPN provisioning) or Network Slice Service model (5G hybrid Cloud deployment).</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>
          <artwork><![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
                    }
                  ]
                }
              }
            ]
          }
        }
      }
    ]
  }
}
]]></artwork>
        </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>
          <artwork><![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"
                      }
                    }
                  }
                ]
              }
            }
          ]
        }
      }
    ]
  }
}
]]></artwork>
        </figure>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to TBC for the comments.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="V." surname="Lopez" fullname="Victor Lopez">
        <organization>Nokia</organization>
        <address>
          <email>victor.lopez@nokia.com</email>
        </address>
      </contact>
      <contact initials="I." surname="Bykov" fullname="Ivan Bykov">
        <organization>Ribbon Communications</organization>
        <address>
          <email>Ivan.Bykov@rbbn.com</email>
        </address>
      </contact>
      <contact initials="Q." surname="Wu" fullname="Qin Wu">
        <organization>Huawei</organization>
        <address>
          <email>bill.wu@huawei.com</email>
        </address>
      </contact>
      <contact initials="K." surname="Ogaki" fullname="Kenichi Ogaki">
        <organization>KDDI</organization>
        <address>
          <email>ke-oogaki@kddi.com</email>
        </address>
      </contact>
      <contact initials="L. A." surname="Munoz" fullname="Luis Angel Munoz">
        <organization>Vodafone</organization>
        <address>
          <email>luis-angel.munoz@vodafone.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+29TXMcx7UgukfE/IccaAGAQjcJgKQpyJbUBEAKzyQIAxBl
j8ehqO4uAGVWV7WrqgFCFF84HLO8Cy8cd+6LmMVb3OVdvbiribd6P8W/5J2P
/K6s6moAlCgbFQqxUZUfJzNPnq88eU6v11uqkiqNt8Xy7wYHz8VuVEXiZT6O
01Kc5oVYGVRVNDqfxFkldpJiNEuqcqUXlb2odxwXF8koFquDnSg6XlteiobD
Ir6AlujF8tIoquKzvLjaFmU1Xloa56MsmkBP4yI6rXrDvMh7+bSMLs96VYwt
6p56I+6p9+DxUjkbTpKyTPKsuppC5f29k2dL2WwyjIvtpTH0sL00yrMyzspZ
uS2qYhYvAQhbS1ERRwDKq2lcRBXULkWUjcXLKIvOYuxjeekyL96cFflsisUO
jwffPl9eehNfwevx9pLoieMURydHiS9ebL0+PKAfm/hjKZpV53mBZZcEPKez
NOUBvszP4d+xeJrPRtE4Sgr6nhdnUZZ8T9Bsi1dFlJ3F9KHIcf7jcVLlXDKe
REm6LSbcTH+omvkqp0r9UT5Zqvd6lIzOo2IsjnKYm6oM9Pl/zLIE5qO106Lg
6l/9kQv3s7gKdPaqHEWFeJ5n30dp/L0Yx2I3yUN9nsRpfJpnySiye8mxev9M
Vh8DGHn5VaWLNozwOJokcSGeRsXZLEnF86SI0nEe6PQgf5M4/ZVUsz/kmt+d
cc2vMizX0NnTXHw7C7T99Sy6jBMY1+g8y9P8LIlLu6cUMKx/ORvmX51TQW4d
ULQqkuGsInyRfXE/r5MRvBUv8mn8veouMIILKtZPsZgDt9PY/kWUiadXb/IL
09RRMhzmmdjJJ5MZTi7tBrtprNSnSl8Vw2EWavc3SWbNhpoEu5FhkqYwbmfU
bhu/jqH380S8OoveJKapX+/u7tsNvYl7eY5FvnozHgcbejFLSjGAjZCKl7Ms
t2btdT6OAINiZ0GgdA+3TdqfYOmvLmQhbjrLiwlMyQXQkaUkO7X+EmKw0zt+
vdM7KeJ4m5qUpPIZIIkiDKJOIAVWEMdAi0bVrGBgiFKJzQebW9wQIGJcbYvz
qpqW2/fvF9Fl/yypzmfDWRkXiC3QHgJ4X2/++wH6OEFCfR/Gmd2/giHeR+zt
VdB7eT8a9cqLUe8SGs1nVY8IXZKdlf3qbWWN7fnRoTO0o3hWRsM0Fs9VBQFL
3zzW8icdnTeqXq8nomFZFdEI/jo5BzQBpjMjeMtpPEpOYbOKSBCnK+WYxsjx
qCtieIEhIocr1/qCGuSSI9hmw1jAcMZUqzqPxbTILxJkVACQyE9hhkt4l8BX
+G88K/C16tQpuxr3z/rr4iCukCW5fIe6jYPDSMtcEOQzWK7qPKrEbIoLUYoc
wCl0X8j3Mtk2ly4FogUBXcR/miUFjELjPpCKKoftDLVkZyPVVIlfcFjUG3BY
MQIuW0HtWYkDwQYHO7pjmqr+0tIAIF2nj8HVKOMKp6tQmGcWVXx7HtNQIrdN
Kgt1S7XFYJ3j0ySjYSgoJizEwNyXyWSaXsGnUTob43zg5yI+jYs4gyYTBGIc
l8lZJkbnOfYC4EArZex2CwAdxekVjnQ2zbPgcHGGJiRk0ETlFwD95TnQPWsM
iJZxCkQG5/08KqmhSVwA5YDa43iUF0WcwrzyBy2yIFimlQsAZzY9K6JxrCCB
HQVwQUlaKBhhGo8q+HeEleF7ZfEsnJhTWDycvT5vnUkyHqfx0tInYh+4FWDK
CLEB/v5EHI+A7xAm7ePmBYYtvimh6E6eZdBHcpFUVwZLEDMIw7Hc8EphH0E1
mpVVDoMtgaPhtI+RI0GxKi4mSQb4B7M7zRMcg9wXasCns4wAKtd1IyC/nEF/
qzt75dq6mMbwZnD89AhK0K7GcWNPZ9DDZXQFrxH6AsARe29BWAKmIA6pL9hm
A5i++mBwsYZRCUCmgEIR0KtKoKxJu5k6AWqTlYBLNM+wqEAQinwiVnHTx2VF
WFnla7ByZ/A1qw8UZwVLY7U1uXcDs0F7bhinOW60nJYcpJpYz8V9CfE6IniC
41TjAVTNADfXccnhW5SNgFdHxRW9xYHLHZgP/0jDj0tN04JTMomuRAxDqWY0
KUAHM5Dzq4TWEXEkOgMiPeZNMoS1j2HYkVm0SJMjiSRFXzyjDmGE7pziQKM3
gE1pBB0j1ZIbXNVUTa0L2D24k8tyhqI3U6gxUDfcRzDA2RQ/a7oLRWhvYltp
kr2R8yvHa2ANLASNsAaAKHNrAJI/lLMR7IcSGRdMmUQ503Mp+2Yar0mxhpZo
VEH4w4TNZmhANxp51TrSnJTpwgx2a8FUCzvz24Vmlocx7NiiXO77TDMaAzIy
2SfyjUQ2IYRCUpSFZJ+oNFufJAdGwI3+JtZ59+6/Hj3bebj1+OH79+siJjaA
SATi1heguMxou8rJY4mAoYzhF28NwmJ8g/zpqqziCWxr6IiE5YuoSGLAVOhp
nJwSga8E7vxtcXh4KMyGgDqDk5cgexeIxI4ws/qaJvBZgZsL6D0gO7wBYLF3
JB20t04BH+GlauBFDgRCDIAbYhMHit6tvn4xOChhU2fh6s+P9kQ1A6BS+ONF
dAVosYkNnNA7XLLDIq/yUZ6K1RebJ4drpvT+YRmPzJ9xNeoL8S3uEZBNgTti
M7hmiMBi2UhXQkpXy5JFQJdncQZKMqIovCoB7RFvz4EjRawn4FpT/YRJTwTK
I64UdDjIRL1pIhBDxr4yL5C2YDMWOaKNAog2K5mEoIx6ds4MDrnxMm0iRNdl
Wm/dJrYTyVFjaYYW+vgcMD7CUhWhUCL3c4IkEzZuWSYoWhBZuySNcRxriYYI
GG/ilNYAGUlp6EN9hLBRQDRxiBruXiD3JVG3S8DEdBb3ovGY9rMkzDQhkohK
JAeGkjGGv01KojL13ohXg/p4diYBSrKyijIkuHIrYo+BekxXfLkUOg5AJ0pY
g3SMQM4An6IRCBMg0SD1HMLGg/mapvkVNl9qkW4YjyJAtTBMURA1JJGDTZ7n
xVhR1pD4DBvc5nyTBBEky4M8MBoDkU5Q8Ef2BVUr5FerenFQVtIEGxkzzTXQ
+VyZh2D3VnE0KW0eQ02rarzFgDDcuwevQOyaoLA84l3CCwhoFouVwDpIg5ma
adqiZyg5A+qTcJqcXgXngNZJOOtU3rvHE0KtDGNLlCSEDU57WaPsXdSh1WUg
pqc91rWW12j3kDTahKZaLeC5INnPMHtkYlDICIBSvgOISU4DXQkl7qRCEUbX
UlIfvjvPeYuArlJEWvjHLyT6+VKF1J1uprFF4wsQmKx9soDqhpMeC2cWlRby
oRQft7Oa8lPWtJ9VRqYId6QyEEFzcvSWeuNs8LUPqDXFjtrkKBXXVpvwzSoU
iNduU39Csqt0KIUK+A4mtriaEiEsQYKZIIqOx4mkM8g8SZyUrB3Q9N49d3ee
Rhd5wQOMplCOpJ9Tgi+NK5hNAGrelOJ6xdGYZKEZkJgRk1ra3yj4o2EH+b3S
8ZVpAEm3h/PWzq5Tm7oM2L93b2npqcUbAhyIcFCygkiwACp5MWAyifvrvsCb
pvmlTT8M0kAnSaFa0ZwYqA9TZ9KbcWF4jKA/QlswBN4sXI02DBMM0wMSjQoZ
fRED/wWdxxL8gaYj8iOVU/2qPUWzBfWumEgrwwNvUQDUWisFLPLULPCBQJBd
ouBl+sjNvOWFoSZECY8Hh4DdT5FvMwLy9iln0ynISo6ZxDfW7CGuwXuYeegS
9jswiTHbiyLQJRKAynwoFLuMxKqmurBiaLMDnQ714LqyJ5COMG9fl6jgC0Mw
GkAVIInIcWZplQDah4yQh9JQgONdA+Xiy/3ebp8WVR4sldH0/fu+eJG8iS+B
u6wbvg5Vat3C3nd6BH7QF1/nl7DwxbqkKlOk0EarJfBZIzzcEw3KqUQIqUqq
7cSTfJ4Ad8+UNAPNp9JEL8Ue0H5RTlbUtb5k4piEdQmYbcZLSlY2SLjh9hVA
dB6RwyYoYISDkgR+aaKLqyhJS2nqILqJ1KKn6MSazfmNLkP4hdKZYv3NGHYS
olb37o1zaAVbwCHDlF6xLs9k1ECjR6R5IC5ZTJYVHGCkXlnCdrm4xHTvXl/s
aDowzgmy8wgpAKn0PKHQqJrRiwToizTenEdq8Kpr/AvkXeyUbR3x2whp+XqY
dtvCCnSk6afZ5tx0rg0WGmdRfsIdAf9srAv8Z3Nd9Pt9/v1bluKMeYPoOlqS
Jb2BDl8fHuiJ64t9xdR9Iu6w+lJRc8NPALLT5GxG05yRWY7Zzjprl+qzRlWY
tDESZTlbWiODpU1phyWlg2CynJo4LifRXI3P27117Gec8NaV4It4RaWYoYU/
JjiM3DB8sjZqxNKglUSBmWou40nrMq0btM0sB8hSL6sut7MsWW4mWw1bxUYO
Ir2W1YPOVt5WapIBkNXhjNWmNJkklbRFgr5dxo6d5t07iZHl+/fbS0v3QGZj
/hNW406J5bzJ8stMcxyx+u4dCJ5ZrjgqfuChgCh8T+xrATI26BrUdpXiTYRa
8jhovIxHvfhtD6h0bxT3qAmQdEvZ/A4vqiTAILONiU9SY63dmZaxmmztaUI0
vSSBXs0/cybJZ4u4Z1sT21umdgygtGUjsZPmM7So29qM6sRSNmxOYpocYWVq
ktBELZ9QQtf+4cVDFDsLxOphmo/e4CbFhqUGpAQr3oGAhUfPdh79YusXaJmT
DTzGYZ4mb+dX3Hry8DOsiBuVSNqsyrN8ks9gK5CVTqwOjtcEO250AWTrsyd6
C5CCahTTsm4MRWoCfE/tf6WPGXcPcmwBogATPChG57ATeLZXD17uDtZsLYpN
lE+2Hm5S/598AlJGyUZP8mshxeEVEXrLWUbvVd6jSr0e10G9d08Sssg+lYtT
0Ot56E8+e/wZCi0OW+ZmNY+UxgbFrFnvIV6h6a+S8R2JZKVskElYkpEKc1jI
AXDwL9LpjS1frrdqFbXN2CymFvbx5BSEQgA3Y7tAgzSyHiL1Nap+zBRaASop
otUBn0c6pNGZbLSYsvFhdobQQhWkYACoU0zRZttXCeh2wFWpmVxb6802R7Xc
ePJSk43RzIk72AHdrqcVzSOpRlqKrsSfLdyKKAI9fX7ocJdkXPSGZ1M+WAfS
4ckWtv5BmP+J+Pb8ShwA7N/QfL7YPH6JeHCktRCzA/jwHDfIlzwRVFhC9PDx
Y4BohLS4ZJvtYKenkBbdt3Ds7JjSh80LxWC9gZiVjPzUlKGQaNzNc2mr3aRT
viIZBeQqqjeNispsHIJBmtq3HJlmXRocktKcxChDUc24WV1NE7L475Thmdrq
OFPHwJXTqFAo/mLz4KWEfctM3+Znn91o+rac6dNzoY7H0is5LWpGHVFPmtT7
AHwR51qWokaRrhURyAAk6QAkeCrIVg5ylrOtxkiKJsRVs/E6URMibmjIoSGR
fCJd9XCGrDknQxQ1wAK2aVULPGpXEFcUcXaRFHlG/a6FEAOBN/OAhgV3L2iB
AbdQGZP/oS+YALnEs/IdPWo+GtzVh2SSKbxBOwAI/6VYfvnN8cnyOv8rDl7R
76O933yzf7S3i7+Pvx68eKF/LMkSx1+/+ubFrvllau68evly72CXK8Nb4bxa
Wn45+N0yU9TlV4cn+68OBi+WAyeJLHUMpXIFLJ8OcsslYCCjIhkyF3u6c/j/
/d8bDyV/3NzYQJyUzHLjFw/hj8vzOOPe8gxwiv9EM8gS0GmQ4khaTVGAncJK
Iw3GtT9HGRKPGWE27/0eZ+YP2+KXw9F04+EX8gUO2Hmp5sx5SXNWf1OrzJMY
eBXoRs+m896baRfewe+cv9W8Wy9/+WUKTEr0Np58+cUS4wjaqcjZSmr55dVk
mKeafZMAhJ5PYpxEePagzKGW1CJJ/wPJiewFJpsxtnOaI6rTiQsw/nIbzXQo
XW8vbQMzmp5fkaMDsg40cuJPOjK2j8ZLm/ujjEG+C6h1rrHo6ousyOakDK8O
doFcFESfsKdLorTYD4hVngHGMbh6SvFwlqRjbQNjyUXZEa+m+oDNSGKO4NKH
EWMNPgBCbQZmZkTGGW3mqtv1cmX6ujLGN2kBQ3lfC+mSFqlpouU2RrM1LcCY
piW0ys44DohZSuErZ8MSlTM8xVFqAtpLaam18RNgnWXRZAg6NgjheAKgIL/E
zea6I/HuJzuYmhhY7lE8JVXHXT15Wpx8z8vAR8iSfWnGaTkdWMe+TecuQR2z
jg0hFUseNePJkO3S4WiOvBq6GTqTF3lWK6hOpW3XpcjsCkRR1LYOalIrbp/d
GFgJYY86sYIq8iAStJ0pcml9BB08n2jS+aBLZfrMQXWJ6Zgzp05JvCh539W7
5fEgSY9w32qfP41V0i4u/Vek4EerXwY6JERhuScNjymwQMxvD9WQ9sZnQDAO
9/AYJo3VwR4gt8RbdRgcoc+RkbbOY8s+5WjjdRXCmi5/JpnMOQoQHmPhEBT3
H8f+hGjRQvpnoH1M/bHFwAeP/8q1ACQMQW2lCZT8lBbzNrv/BF3mEee/KWPN
WxytFSRXFK1OlB5ISC833ku1Y5QhlJZPutstLb17NxsB1wdhLEH0Ahik4y9M
5hSJ9pU4TdVBFmHiRZ5eSKv6CZnPZMFE2o/x/gKsfFwQcYlKya9KMkgNgmAo
AmDtU6ktkYVKsTHeEZruuq9dxAbCmJ9WlwSPOg/UR9XiQjr8+E6JGpskJQq4
qlm6N8EGBYpxD9WTK+9Em7wRd/awOaVy2+oyucgoqxtKTbxlWSatHSDhBKkT
qMABhznaq5++AAgE6TSdIcVnZRRmnfqEf9XkW16cfIgi6we9B6FFnCMDRKiU
xnrsBcaLNlTy9/F9QaXg84vHjx+xLQwRRXYPk7HqWC1qDgJqAI0nQPo0zcDz
yQZtOvixyZJzdHbG2GoKK4Io18RXQei8qEQvFCDFpW12Up5xGgAcf8Afjk6b
XG4X4qAkBjrYre0z2CvTA6X1uTiorT9YBBDBN/TIOURUZGDJldVYDyykhNo4
z8bW5B6wMSlAVJSr4Y7LdteRjoq6ec3JsKZCeDxXlwKHOvxkkYePWkob0Y0j
sfY2ojV1yKEGBebcoMHW2roB7HDPxpCth2vSI++kPmOFEseloQFBZv8FZD4S
0tyaLXlCJKlJrTVNFRCp8CTnUvqOkJMkMTdzJhNNo2ECOzkxO0y5MLL3JYgU
Y5idKBtdWb6Hr4+ODtdwd/2f8Cz9/W//8ve//Tn031+F9zQX7fjfXzs19leA
6S+61P9qb8gU9UB16g12ak38u2mA+iNaYJqz271BH4g/QvwAPfytYbT/tkB/
f3H+amxxqQVQH0qeBiV0OHMyBy+6Qeys5SJz6461HVeIfDfhyr916MurVJ8k
6OGhGs+clWwaROPYnPY+bVzFxirB/z5t/laD84fmrpxizV+6NdAF7vBGCiE5
Ua932+KT2Yjvu/1qZU8dm7H73wqQf8LrHsg7Z9mvlvkKyfJ7vgUTg7SGJBnI
8aGtw+KR0GBEZFRJ/PZ3tvEAxR4BcS1iUTvSVx52bSd/yOJA1o7JvCYFS1ST
yPlinE8rpbD6LaxL8U/pVqdo7ZzOKu1o1ayXKz+wmk6CzOYcjabo5OQKj2Fd
vmaCbZBZlAygrDwdRMW+2M/YuYL6v8iTsTWl6KAibSysZzJ7q1xPmYyOW/C0
kqxAfEMgsBh09YXP3tQtG3R/8W59yenqXSZ4v2Yn5E4mD9dtD67gQTtbZuzV
0mesmW17iSqrKUDPS6sb6+JhSNyvjOGM6vZJtevFb0G5Q+ssmw6n8hDUeH8E
XA65KMpvaOfVLsXsb3PFO6AslRzRvO0/7bnPpy1lkcZozXAOZVHtfhpoV7eh
djAf1jjtyQtpqGejvyC6ydO/P9CaGEfCa4IQGpoGZ87QfhCvtK0GUfq602DO
znn4uv0lNfx062Ka4TEozEQ0ldrMCF9cu8/AuG354sOOW/W043gkqeE3tWej
qPO7oXwTK/Ta/9Rr89Om9241an2X/C6d3vhf8+EHv5o3eU3v60A6Y24BcjdW
2OtOQ2g+sBt3FeaX99F0Xnl3FAzpp53K/yBh47JdyrP7SdGx/KLwyE78H/PK
H+yd7Lw6eHZ/58V+v/bctAOfcNceQAk5RD55ahERdb+y5Key/g+odxlUs8t6
SokL0qco8/+g+28ZVngCVP+Lj5hcL8VgXk/1h+o9teRW4MpScl0eZEIKryy7
yp3wTQkot9wsxi7ZwlIcleq2hOvyY59HMG+nEyhzquN602gb9Ra6LxwPDtek
wyVdULYOyNUZlr7tptqxvbtQOqGLLmQlm0hHRnWJz5Mll1FgS3vS0W2ZbxVC
TSAg2hd32fjsq2J8aEm+F2vOMRYU3z/UfnMzy5W5frBJ5jV9QSMp2RejrOjW
qTptiWYgVjA1O8U7pTzc2sktO32hyX6XTt2n9uGHb7JHdULuCh2FqXaZYY2P
jV/SnQeU6dS3yhHs6FjZudplBMJSXg9K5DkOjHQaF2Q9kpBZIquRLGPUMOQR
xdoi57+DhgsOMLV87GhZ5NTJbX+p6TAVF0/5ebFuVT85tSxwHMvCdoQD5ec8
L1yJF9smMxsOZHSuD2uTbKyu2KzS2ud8NIx+61HtKHlt3TLh2/cpzJ046yWd
06mFfiZN39ocx5datoW3/ktEm4pLtZRLilzpV/fE75PxHzRB40+gPNUekANQ
i3ULjg2aftlaMJ/28GoZjObL9haVMbZHllj98QcDmrqP0hteYVv8orqCaa2X
5mMg+733qZeMv6yDYpdTuqD3UQMsqUTT8L3SQMAqoFQj2MZfzi8NZavYTNic
0iOYBavwvNKg+lXFlQalXlrCAOwnODH4QU7f3fw1zx8jtJqoekEupU+2e+i3
wkVDmI2lc6Vkakpi+hfvUC+ja9vZtl/s/ZeNvcJMFbw1McrSNl757gG371XJ
JG6plE8Z1DmVcjzLn8G6mW4WqqS66QIervmstCU0hWeTJOvVv/7gVtQdhWbf
Lp5GZdXjYB5ftsOlx4PcKgCB/t4NAl18PgRaZtRcXwmOnuDgBitrkRz1eZ4+
NEMygMfw6+LgmbwfzzYufXbln6dKXvS5DOhBXHUi/a2Mj5L21vKuVHJ8F3np
8ip4HKaOE5X84oMTPldUrZDPfJ8OXT33eH8E7K/A10j5Jsp5jnFn+HT8hC7S
af6opSUpBlh3cLEZx9FhJRmvoJfIN9IA6s+N8TxTx7tGTnBOetnBxszUKE1I
LvUMg7o16NoCmWDYN3fV0cl2Rs4VNeHU1Dec3q1uR1mQBVRUB23tPZ2lTVIo
3mFK0jH5aNM1L4lrfXGQu27hgB35iOMQSfkb3SDVbJNIacW1QBulG9ZixRVB
aBTHOlKC4ztVD+OkrOhqdQZG6jNXeaWYSP53MtIBSyP4C0AbUpuMp0Wcn3LQ
JtmtY7NuXEgxSFN1O6/t8q+6j7niMqDAoI3vle1gubpXcUibdS3Pq4WBRn0G
tML+arBS5Cdt7nGaPa69JmruUZbfpT3DJ+cqmJEv9jfav/t0063Hsr6UlkEd
Mt4MmVIt5Z1TPuUI9dPgq2mCNyCo9XkQk6Qo1O1+GQtRbSXc/BweTju4q7N7
HcsCo/0Z13UKdwU/C7rzRk4+dPNPrjyuBLMWh6hghMQ3rq2eCrGmwXHK1CTT
LXJ7B5O91w24ImsjmlmXcKr8jCdC3h5HvgQlJ9M+MJ9Yerx8tvFkAxaAtn5e
6CtNALhSdANBpjylV0cocRRevJXxSg7PBOMk2qxGTbqvdZE4dK6B850oP3XS
13OKPYl1SWOXZxlSkpDL1bPP0vCP0ySlQLEgRLCdTZbnjroWr188cvS6SIbE
VC2AhocmGKnj6bZ0ee033EPLBawmesA0FY5GbnPCKqELpZs94/BrS8T1osm0
c1EZMqOnQmaU7cXzaNJeoIxHswLEq3mlCkeFlAPWkpXBAyVaKXQDDLqWeIWB
4uQtQ2oWWdoFbAfy4onwgpcVkhbvCOpK9SAy9ZCY2KxEaGIIBqNNMFjC6C84
Hp3c8EyYyT8JKemlDk1T61PGkPLu4tXum+QFlcgv6KM8geTwKxO8e8MgAnnw
r95RmHAuBXseqAaxfCM8fQGQ37Mi12qLlIY0muTBOKUUFcS9/Uev3Eiq6uqg
F1FV2Syll6Ud+8AZUn8ueHRvBrhJqFufugYD/qiOOoXxIOvs6kq/fz8a3cc/
VtZMPA8VxCN0IZSWU8e9IAMs+sbVo1zEtxbkgkXd9uAWdcf8DxnbgpxzO0S2
IG8/syvp8B7Ep1DIWoMtdPV0Lv7T6oBkkRexGqAvnZexpWjgGIo4qaQhVXZs
LgWRfZT9auWtRsubhTiSePcJXj9XDIrcYj5xTNY8CyvtfHCF1gjxmC72n00t
jrrmyHFBjxZ2t+CdEIijpXrR4e8YdCt6JZE/++YlX6b27oCzaGK5z2yL38y0
H7SWQX6TH6+tC/EUyGMRqysYz/LiMiqIYO7Gyh119emzXSh6qr/Juw8mIJQF
N4ihoJm6ITcrezxJKbeeio/pT5Md/owoix0EzFIbpdxd2m1bh0SwB9BlFJUW
JYWTvoEeD6jOYGBRgmOaw7ZO2N02E0pnkwb1kLGaqdZCshOXvIBVGPf0qY4Z
iyylWbiJxKXasQpr+/cPSgawTeDaVme396e8vJ2Ghqfj22nIINPttGeJWu2N
iYbGOsu1tYLt/bV0dicVf0RSsUXMlVjsc5EWKXjgaFoOY1inK0ZyDSUPlaxC
ku7t+XwHqdZKK3KuGAWeiKZ2nlcF1m1CK9+wkaZuviFOw4fIc6m1VAEMN7Y6
Nm6ZmkR7QwdFv5XYrfj3BVUcG0W0rRgiyGbsGIYUj5ovAcsTXJTglJXFAU8R
+5UwpZwHhYlbNErR1Hsq5cR14PfFG80xI3n5R56WyhA0jx8+5DtAK2Hq2tR5
V85t5orlg0dPnjwAJcSeGLzj9kZNTI0DrrQSaw88drqUHbKqMJ1yjGaW2jSY
OH/R6E1clexrcWXun8nDbDoh142h0VV6KpAwYpwpEGGxE4q4wPGwVFilF0nJ
0cVf0M3ClWY+0TTNWsxxBqViZ6mZk0uKcRdUwbWG6STRU0XYwA+Sztw/VjtH
ERwMWMyRoUD0vyDazlGb9G6ifRo+hiDVQjpNHe0d0w/avUAhUDy1ZSkQuaRX
TWHB5QlXWsGznF7WzXZHyga72r3iT8tkzkxKW8o10Q2bYi7rUxRumk2M3PCl
diSWwEZi9SzNh1G6FmoLPR3wpjuqjlakFH2hU8EuIyo45lgetIozmmGKAC+i
JR0X+QMk4hoMaYzrH4qB72kr0Wgq7SsrviiwIuehtLSHCL10KIr4qR1YEyPu
9QXp1YoHuco1TM0KadGw3zCgiZTXrcMeRT3Hf5yRNV2GsAOoVvpLPIH6G4V+
LmX2Ay+cGVbiNZLF+oJv29mWzMBYUWV1483ghCtXe1YUCMkQIhnOzVLM1Izv
iEMdb4DIAwlISjUcqbkOilErVuRponC6JauQDhtVuzfAPlZSc/QCQminerwB
IEPVK1EK/7rMddRE60afZUOTC20OSmyQkrJJQRSrZewMd4ze7iUIUivkd4Q3
fJPRDD3NJI9316lhnlybs0GBn5XhWdhis5jzdJfBlRuG+gLdmT/oFMsI96Je
nErgh9oxu12eL7Pb7/WnVf7W4/vta196hbjc9moyXqt/0eDThAHkPHHaE8sr
K5ziPU//CfUapWmPg1kC62zpH8sRSdal0ZUgnkyVBhBsmcAItSvq7XJZdmqw
2m1VnLQe4WG80iUc0qN35/FsWHU1tDdwjdDWDGC9vzEdEvnz2JQfSu/1vPjw
Y6vjU8iDcJ6LlOVFdC1vpeu5K13PX2k+hCpCKmzre+0zUF9LePRLLUR5tRpI
jPCpUE95fTZ5spnN2OR3yeVILvSf4IA8uw8P3zcGGeFQPv/EdhWL0OgrAAHZ
d6HzxoA3j50foPRck5ytLV182J2lNO7+sh3tKHN5nqvQ1/Kc4/quRlzX2jVu
XY0uWsgr4klexVZ0h8bENC1RmOuStDt0t1vl8pYXlgpj5U+wZEilnFAn1AO1
zKo2CfnEQLFVmUOQQnRyApzSEUIDN2xX1NZe0ZciKN+XdJHSV2FHV4LcR3TU
DE8SZ8VnYBxjEjfFlxc+Gcei8WOgeqO8SIgenKiypmmrxCT6/LElGtaKs+3Z
X4n8SRCOlMP2rjj73S+zxWXkRve+FtUZf4aN7X2CN/xJbWnve6kmQELvfR5e
ypDCIIGocE47Jjya3rVSlYKhSFXKHbB7eAbf7MMza6l1BHa5FdL4Ai8+vzBR
Pq3LHDJMrznqAoSOpiWoLQSbPjrF40tOv6U94Cjs6DPpvBWsZscwlupVKQ8s
/eMtEs2B7FzGoJHJ6Ov75nxHRy15MTjo7e9ibrVT2zDi9s+CvtxzBkaY3BzG
MYrIZlJxZmaZ9XBaxrNxjg5tJjTKYYHByGIBfZpjv9eHL/DcDydEF4x/W8Uy
JprJCKfPpVdf/xZaWAvNn+M/IE+7jSgKS4erpHO9yHPioKtHl2PjOyn1Tkq9
k1K9JzigRgFTHy8bYmN/1iXMlQ79NNxaMreT8mrjT94X0150pq+JNDdkTCQX
aZTJCygz2Cgbj4NdUtIzaKnHwcxu1rk8KU8yfxBisXZ08VIOQjQNQvjDDZeU
thtkmDJD25d10LfxO1NoXaxpPmol6wVFGBFal07XMbwoWMi4Q4z0FSMc9dZm
e/HTqOiBREw4kdUR14bgYupqP7fV970ufb+FxQx+N0WypOddWGwBQjgEbaLu
kXVaELcuCJfy7hoOBFhvtW1ehXHqYpr5eCQMHuHNLXNNjB7rMhd/raNy6C6Y
fOokUj0L3RL72WvNlnSstOaA5N1ZaZbC+/5hq9y+peR2Vwmx5Pb5Ujp0ERDQ
bZcuR5Ce4bV/yhVxBdwtGZFcim75+JPxEhbng0uWfFuAU89gsnhKIWMO1Jx7
KBRnKJlePLT0F+tees0tn1o10+lHEfphEaOP+gwt2vsBX7wPMIWC77LqMAN+
EbW9JCWAITXSAqRarC3cTmOcoKeXxtlZde5JGs6DhPFJsAnZfE+GQFd6UyNc
czj/qtdOjcsKSRQlqgbIotWWgo3u/YWasqgsZxcKt2dDyOV6+WlPgtCzbiI3
SRhWP/FbdGBOqsaeRE3NkB3E/iIKZ2q9BZnmeQpyMf7ji8X1qrq2LG5eN11m
DtYmjaIB4+p1uuJqU28gCjRtg3oV9XTrTCKQdhIdn4+mc/AHiyhRjlF37gLX
qnQZRgwIKO9TtYFObaNb1lUD3ELCrbFMQwPENgy7PfnBai21hM10XSmovZZ6
OiwcjYf5ltkzgaEIb6/ANlG7JrhTAlU67ZHgfFnUonVImss89rnMY5fLCE9q
cbiiK7dsNcstYhVZ5FqL+EL89nF3fvv4p+C3drMLTuI8Vi3MsqqFexxaONGF
VS/c2PVZtViEVdtwhVm16MaqhSoZZtX6RwdWrX+0sGq7zHVZda2fIKu2S4lu
rNqrUluQFlZdryoWYNUttRtZdbBOV1xt6q2JVQerqKdbZ/NZtd1JB1btwdSF
VTcMo4FV+6A3sWr7R0dW7f3oyKq9H6Ibq67XUk+HhZvPqj1Y5rJq0VSl0x4J
zleAVdeHJOrs9/E12e/jNvbLDsvSDZptBXjY6N560DHZOLGK0r2hoHsXAu0L
NZuLbWNQnq0qggPFWbOUcZMfQF4dpALKS/s0pkza0gmWbQ+vrKNt69Iad629
W70YHLIu+6DXayn/7wo9hBmesck8itdKVeaJ5tAbyi9Xtc6pAzm1VYtTt31f
ww7AQHdEKBSGHzGkhLXEONEqo4SOCqN6NAnc8IjBHy0nmuaQzm56bF2F4uBR
kEZAUj4YrXJlyJHt6dNUvCatrUBPnx+ui1fHh8/Wxf5xb/+YjyaP9g/7Yl/m
+Db3/1y3ax+XfIf+uteCvgAKmFjK+NMKYAryYjwIvCsjfCNA+brrlVKnuP6U
3Z1V3p1V3p1V+s9CZ5UfzhcuXMQLK2mLYB2CS9rFA4enc1Uaj4yVQWh+8AHy
iV99+b2Kc44vNThMueuteEquLj88m3Yp3NICUDlfWGspDdSie+GLovBLi5/w
bMcWiZSUpqSrzic6n5BQdswMVtZWruD0zosR5Hp/S/HXFc7qlpK7jfWjbSzJ
MqNyFI2BT6E/ANtdavq8M39ocLPLwujgT5HFb6veeT4NjFOYLdBu0qpDhy3r
adcGRO56bk300WiIf1ovr+DHl7Xz9nrxCYY0GzFm1A/S6+W9gJb1uVFaXCD+
Zr2w12xrMMyW2t2jc4bhDQfrDK27LH4tcHXt64FrrKKLo6165ppTPSNECG0f
t6GtWBBtxWJoKxZEW9EBbe1ic9FWv7kW2nq1r4cHBt75aOsVvxa44rpou5B4
I8WIchoA5aOSe7QsEhAEdPQLR7ZYVDIBtZ7FEbwR3yqLwNzeCSIfjyCykIRv
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
M/DPwd5z20a2Z2RiQzS5lg57I/U1xGtG8UZP4s2tc+9jtnYdf0SD3bzJYFtN
FidksPiYFnbrJmN92H6ThPXjj2m0D1tH2ygwuZS78wUxTaPlKaNjztB6vC0v
SRHqKdrjsjMxMAFQd1QgW7YYUsgVxYWOUwourewjJf6pYkvYx5SlgP8Fo9HQ
MSIH1ysxosx+b7dPBLWKo7JHvxTfoNZ72TDpYXwM4GIcmwvXgW6kVSqmPAEl
ewEeQzQNw9VwA0RtN4gJ8i1kGQkgG2OoP/hHX/eqFI+NSnEZS3Mm6HHnsUpG
IcpRPo3L7aWlHtlqdY0Ej1jHIP1PibFe5oIXcJW1UTSW4K/NtXVf5MSrWZE4
0QEG1VTTFRGxf3j/5eGLY/V2rU8hE7jEM+syGzD4NL/CBFUcbIUsKjRFdJ9s
HCur6/6hOJ4NYcR9GMJAPHoujl++4mgwxPYTjJ2mbFfcKmGF36mOUUYWXboD
YQWVJLSk0z3xHLq9jK5U1L6dPRldaI0ACOLXjrmLOx8w6KreBEbmLPKSV/rk
AJAiAH8RN0+bFY4GHjlL/sP9Hu/UPnB5QySkhcR6Vk8OxKujna/3jk+OBiev
jta8747Zol59/ifZwN//5/+oWVD+03/zr/9b1woUb63apY1Af2psx9JWYx6Y
joPjw1dHJxiK8ttXR792h4UVNmlgQauaMwEL2e/qLQTsiDCpB882gnNeexkq
RfWV9UoZnf5DG9MaxqRe/6cPaMOHWjNeT0sOfNpM5gLugN9eRo+nCUf+/fm3
G82Wxz9rU6nTIZn52uo8/7ZeQPat0Ovv//r/1ICtv6oPiQvZr+DNklewZgp1
P5hl1fXq6/0XEWrK2vweFrmLNvdDl4YWMsf+W1snLwYHG4Eugo/zESpuLm18
9qT/aKO/gfd4728+7NjE5oOt/oP+xsYWVQpaeuc1cvNKh+dXJV4851Pb/d3t
tm9ed/4BQNO3zSUjJNpyTcAuTcy3Zjf4RkaS3CWWJ9kkmwus9jZrcpK8VO/e
K4/Zvo0CQJS9KXU4mQAzRzGhLl3KiGEum214Bsfi8aNHW49rrOXp80OHAXHB
Rw+WlppIqbeMLRyi03mI8BmCcpZ6cH/rQYBgqs8P6bNwGEJnduB8+E/9gV7+
Z3vpPzexgxozUDd5+5seqTQlHssSj+rMYB4r+IuxgBGl37Cb5/Mdp0QHUm9T
a2lfqZH5thJ2Oz5lB5rkffgPTdnp5X/YpTdrpWmWQ/TNgdz/SU8H+hYE26fb
zTXL8XRD/9p0y80RB2HLzRMYuxc1QiE/Fs0ASRv0QsuOPAhkQaNHURf1MAly
vtVmIhoZurv38unT7745NJ+A7AI1wSIcj7tKUPsTvVqcum2XkmMRiWTbiD/4
N6g+0rdFrMI2WNs21+aBHmCJQ13CfNuU3+SV8W11I9nHJ9AjnaGZK/noZiBP
3WBs3xG1p0Ftdh3U7yQLsge1GRrUpjWoRy2DeuwPCki5kN6g5TZR+9o6GVdM
KgFkvrmE39+jIPPcVMzzheRxry7QiBBf2mwRY060XbiznTrc++g6zxwaYTi6
GVlEgsxwlmqd0wteIA5enexti5X/voKOLbG4LKLpVLpwURjQJ7/4bFP4IQ9g
AB2N7LYlWdngGuzIjRa4HZO/rmLTxwa6s3HUhgcP7JomnMv8WC4tJrhWw/1C
dvsGs71vte8QgcU23tvNdjipXgpUrPuY220qF3MX/IXv8v73dtlr3qPcooPw
Bx2b7TGE/JodeGqroA/Ia8vTsDRymMqpuVaPvwcWHA9qonIUjQFTkViw+3ns
j8FABuvhF/x9cHJD1akJxCHyuHcoew1mXT6L31a983zq3SRoab4HWIylfXaw
HKzzPvD2D7V3fin3b/svU1cn01HABinO5kIUZ1NTnM1/RorjTnVX+iM5+x39
+VD0Z3g2bSY+8DFMebI4OTsf5kUDDQlTkEbg5GcKhxbhJITFp9CG97f7Qpt7
Sb1/bx9xabFKSV9dDrSOLFnKk846hURYICLCndjEn380IlbbFraDxIMHjRj3
U8lYjbf4Nv1ZCVziC5LLwDYPEIXafbWAxNJygW/DZ/LuXrZ3+vvgVH0M5PRO
nLObvxPn/nko4eYtUMLblvYaKeHjj5oSPvpHoIQfr2DZUEqZ97jY1mPxkwug
1wjkIHPiKlseSadO7i2STrV4ii7k17Qeen5N7m0stChy2bG0LDrmyr54lanL
n0gBrEyT6nKXm0gslpbyY9mZBKktMCaHyKW8jPT38lk6wzRQVlqg+3g9FC+G
lnk949jB8c4HM3i6HmQSmu3gW0uWL9McvsW9KobRYtR/awvVPjobyCWVtFnS
/LKH5bLRlanjkGn1tuexwhectHaal+zzxK3EV+IaqvJpXlxGxZgja59HFwns
/No24Y0j6duyMzth5UZ+lOSXMeeboxcvdkAAsXmuKucNcFc6o4mTA4l26NZF
DfS8BuqTPm9iSQKc0dLZFLscT2tEGt7Np8tQSI4TD8rqlJaVxJ6Ucn5PCp9L
s96vL9CDr0IEe9j0e7g+FUQCtYgeHnmE4si+X25RQL5qm8n8mJF4nRTVLEqT
74EA7JlMrOJolmUUVJdyGmDUe7yyy9dutJspRcP33UxX372j9zrtJ/p4rs31
PnVzkxp3Uu57PzstIs5lL6P1t1wHconjJHojPSZMDhwimIT36DK60ecFsS7x
yzjgLznUuPbZiKOJkPmds7hYE+d0jfbCmsPEBbRonkb0GCU3Z7wcPbI9J8m3
EgQzTHQFTVL2ZnW9nXNDy1UTL6PROedIt/tRXw8xJWwV2+vKSRmsvtALxPUP
pYvH3jCQWUBPmFBI5vXhljGnj3XFxGcl7oC3uWnAV5iqSDnIYkpllbQOfXg1
CFaOOrVAJ2wYMu4uErd38XbzDt2zcUA1TjAGWzBJ/RhVGOkca6xIYnWqfIKM
vL1mpbAGPE0uKOctpWHNCxgUTjp5Cmc4GZjTlIIqBCegL+jCuq5HE2e6Wgco
Z1kCO9tRu/ZNnjEEwqRbw6UrYlifTK4KbazDfX/CFE7TPik5v7XJpUH38vGY
1U4H6W14PWcEsYRxFAJReRMr5yTyqT6NgJ2vCy+EBIHPcjIlLdX+Rv3517PC
D+Xf7HJFDB9viLs78upbx+r157aq+25B8/5esPG/vH5JXj30a1P/2iIHF59y
8CQ1NeX6Rc37eyE42ZNpU/77SP67scnFWlx2nEYafJ3a3/xH7et1/msYlf9Y
Hl3dpsWt/C8NY5iPGI1N/kXsvHj1zS7/fPr88LvB8YFSDLs2cXj06vX+7t6R
bEJMxo+2/WLzoBDi+bf653J29fZg7+i70aNynD1+8OT02W/Sra2tjfFycxO2
15W3pnOQsX29yAm5v9mliZUQlUIfOsePruFZadYq5K5dUkku9q2bK0iPTQHz
8jv0DbJbwIXhR7kO8dHTxubWw96jx7948lmgS/Wn8adsc37TYMwpIPobzZSf
5utf/99rUf/9097Adcp0N4eSljUbUJJeEwo0+nnXn7YmDvc2avvr0YOFmrgx
FHWvxLk0+iPhkD9h9eCO7vKsWEl5Pe0o7Cl+ZInJMv+Q0dqYL9OFWTpz9ZpE
Z3ETB6OUGcZYqSQJ0Ah96uJWQPRV0nVNbTnldORJaRd25GMVm8jT0NadJG5J
dgFiY17QJb3ZdExCLek5dUs5KT6y1Ysonelr8g2Ssh+aaEcJwdd7aAqWXjk3
DsXu/tHezonYPzjZO9p5dXAAf+y/wttjwPn2D56LVZDFnetjagp9engrAsft
/Pev/7sWP8Oa4B1p2eRFsmd+d9uwjdrwOroi/1j/dbbWvf2JS6qi+qqKNeMW
l3Z2HmhVzT04CdaAB+ketAf3vt6T31gb0robU/dEtiBBYgLN3t9XWh8x4EbK
p9189xWtkhb7Q49WIZE7iN9W66RjI6SnKVqTpNEoyRLOwri9tHTPV+wUgYOx
nyZnM9kJJoREbXVrTUTD/CLuQ8XjBnuS0a0bbstIg5MdQU6ZskCfho7/qC4E
sxVnPE7wL1hQWaU0GvaLreOXYvX14YGwJ2ANrU7u9Z1jx3y2+ui5OL8aFslY
jt+YeFC5rnGIaHQbvtOWoS5gNbBNi6uvX679A7ha93pPf3vS293p6VPM14c7
vdM873yC7s0RNIervugJwihECD7ms/iFzsQ3Nh9uySHd1oH4T+7+6I973kl1
l7Pq4BF8y9H7dU6sW86s559at/jgtJ9c+2fXgVsn+NyG40yDU0H7GU2Nmi5y
VKPOiT2pPihtB8V7QNZ5rpVMqhvzTU21MH+QV7E6NwYe5pEnTJKsNQhgaNj0
y91HIprBC5C1R0Y/gTFGwzQpzyn/+/NDi0bhbdIvyBYtz6XlQUFJbeEV1Yjk
m/QKM74iTo7VPFFoqzQF2LFJ5JJilU/I6ej0SpRAhT2oyzV7WNhFOTs9xQSy
evxlPJoVeIBwGUdvMpi7GNPQlkDVJdN+9+5Y0tdNHPOXwGMebzzCYCVotra+
9jf0988ebZpQWncMrPX52TGwH8mZ7NFNfMk+AN9sS4zhlvQdyTYf/oSOZJt3
jmQfzpFs63EnR7JGfzOXeTSIFlTyTXyFczwBblAkUdpSFApPxo96UGF0HiVE
thqPDBqaCAkT4bc/ijNckOe3iRkmOCRyuLrYsYjIsfSJGIwwlzxw3jMKCQYw
ZbPJEG0Mv1o+jdIy5ixI6oD95OmOpWpPqE5/6f8HUf6Uwr8IAgA=

-->

</rfc>
