rfc9836v1.txt | rfc9836.txt | |||
---|---|---|---|---|
Internet Engineering Task Force (IETF) M. Boucadair, Ed. | Internet Engineering Task Force (IETF) M. Boucadair, Ed. | |||
Request for Comments: 9836 Orange | Request for Comments: 9836 Orange | |||
Category: Standards Track R. Roberts | Category: Standards Track R. Roberts | |||
ISSN: 2070-1721 Juniper | ISSN: 2070-1721 Juniper | |||
S. Barguil Giraldo | S. Barguil | |||
Nokia | Nokia | |||
O. Gonzalez de Dios | O. Gonzalez de Dios | |||
Telefonica | Telefonica | |||
August 2025 | September 2025 | |||
A YANG Data Model for Augmenting VPN Service and Network Models with | A YANG Data Model for Augmenting VPN Service and Network Models with | |||
Attachment Circuits | Attachment Circuits | |||
Abstract | Abstract | |||
This document defines a YANG data model, referred to as the "AC Glue" | This document defines a YANG data model, referred to as the "AC Glue" | |||
model, to augment the Layer 2/3 Service Model (LxSM) and Layer 2/3 | model, to augment the LxVPN Service Model (LxSM) and LxVPN Network | |||
Network Model (LxNM) with references to attachment circuits (ACs). | Model (LxNM) with references to attachment circuits (ACs). The AC | |||
The AC Glue model enables a provider to associate Layer 2/3 VPN | Glue model enables a provider to associate Layer 2/3 VPN (LxVPN) | |||
(LxVPN) services with the underlying AC infrastructure, thereby | services with the underlying AC infrastructure, thereby facilitating | |||
facilitating consistent provisioning and management of new or | consistent provisioning and management of new or existing ACs in | |||
existing ACs in conjunction with LxVPN services. Specifically, by | conjunction with LxVPN services. Specifically, by introducing an | |||
introducing an integrated approach to AC and LxVPN management, this | integrated approach to AC and LxVPN management, this model supports | |||
model supports Attachment Circuit-as-a-Service (ACaaS) and provides a | Attachment Circuit as a Service (ACaaS) and provides a standardized | |||
standardized mechanism for aligning AC/VPN requests with the network | mechanism for aligning AC/VPN requests with the network | |||
configurations required to deliver them. | configurations required to deliver them. | |||
Status of This Memo | Status of This Memo | |||
This is an Internet Standards Track document. | This is an Internet Standards Track document. | |||
This document is a product of the Internet Engineering Task Force | This document is a product of the Internet Engineering Task Force | |||
(IETF). It represents the consensus of the IETF community. It has | (IETF). It represents the consensus of the IETF community. It has | |||
received public review and has been approved for publication by the | received public review and has been approved for publication by the | |||
Internet Engineering Steering Group (IESG). Further information on | Internet Engineering Steering Group (IESG). Further information on | |||
skipping to change at line 96 ¶ | skipping to change at line 96 ¶ | |||
over these links. The required setup is referred to in this document | over these links. The required setup is referred to in this document | |||
as an attachment circuit (AC), while the underlying link is referred | as an attachment circuit (AC), while the underlying link is referred | |||
to as "bearer". | to as "bearer". | |||
The document specifies a YANG module ("ietf-ac-glue", Section 6) that | The document specifies a YANG module ("ietf-ac-glue", Section 6) that | |||
updates existing service and network Virtual Private Network (VPN) | updates existing service and network Virtual Private Network (VPN) | |||
modules with the required information to bind specific services to | modules with the required information to bind specific services to | |||
ACs that are created using the AC service model [RFC9834]. | ACs that are created using the AC service model [RFC9834]. | |||
Specifically, the following modules are augmented: | Specifically, the following modules are augmented: | |||
* The Layer 2 Service Model (L2SM) [RFC8466] | * The L2VPN Service Model (L2SM) [RFC8466] | |||
* The Layer 3 Service Model (L3SM) [RFC8299] | * The L3VPN Service Model (L3SM) [RFC8299] | |||
* The Layer 2 Network Model (L2NM) [RFC9291] | * The L2VPN Network Model (L2NM) [RFC9291] | |||
* The Layer 3 Network Model (L3NM) [RFC9182] | * The L3VPN Network Model (L3NM) [RFC9182] | |||
Likewise, the document augments the L2NM and L3NM with references to | Likewise, the document augments the L2NM and L3NM with references to | |||
the ACs that are managed using the AC network model [RFC9835]. | the ACs that are managed using the AC network model [RFC9835]. | |||
This approach allows operators to separate AC provisioning from | This approach allows operators to separate AC provisioning from | |||
actual VPN service provisioning. Refer to Section 4.2 for more | actual VPN service provisioning. Refer to Section 4.2 for more | |||
discussion. | discussion. | |||
The YANG data model in this document conforms to the Network | The YANG data model in this document conforms to the Network | |||
Management Datastore Architecture (NMDA) defined in [RFC8342]. | Management Datastore Architecture (NMDA) defined in [RFC8342]. | |||
skipping to change at line 144 ¶ | skipping to change at line 144 ¶ | |||
ref: Reference | ref: Reference | |||
svc: Service | svc: Service | |||
The names of data nodes are prefixed using the prefix associated with | The names of data nodes are prefixed using the prefix associated with | |||
the corresponding imported YANG module as shown in Table 1: | the corresponding imported YANG module as shown in Table 1: | |||
+===========+================+==========================+ | +===========+================+==========================+ | |||
| Prefix | Module | Reference | | | Prefix | Module | Reference | | |||
+===========+================+==========================+ | +===========+================+==========================+ | |||
| ac-svc | ietf-ac-svc | Section 5.2 of [RFC9834] | | | ac-svc | ietf-ac-svc | Section 6.2 of [RFC9834] | | |||
+-----------+----------------+--------------------------+ | +-----------+----------------+--------------------------+ | |||
| ac-ntw | ietf-ac-ntw | [RFC9835] | | | ac-ntw | ietf-ac-ntw | [RFC9835] | | |||
+-----------+----------------+--------------------------+ | +-----------+----------------+--------------------------+ | |||
| l2nm | ietf-l2vpn-ntw | [RFC9291] | | | l2nm | ietf-l2vpn-ntw | [RFC9291] | | |||
+-----------+----------------+--------------------------+ | +-----------+----------------+--------------------------+ | |||
| l2vpn-svc | ietf-l2vpn-svc | [RFC8466] | | | l2vpn-svc | ietf-l2vpn-svc | [RFC8466] | | |||
+-----------+----------------+--------------------------+ | +-----------+----------------+--------------------------+ | |||
| l3nm | ietf-l3vpn-ntw | [RFC9182] | | | l3nm | ietf-l3vpn-ntw | [RFC9182] | | |||
+-----------+----------------+--------------------------+ | +-----------+----------------+--------------------------+ | |||
| l3vpn-svc | ietf-l3vpn-svc | [RFC8299] | | | l3vpn-svc | ietf-l3vpn-svc | [RFC8299] | | |||
skipping to change at line 225 ¶ | skipping to change at line 225 ¶ | |||
provider's network or a third-party infrastructure). A CE is seen | provider's network or a third-party infrastructure). A CE is seen | |||
by the network as a peer Service Attachment Point (SAP) [RFC9408]. | by the network as a peer Service Attachment Point (SAP) [RFC9408]. | |||
* CEs may be either dedicated to one single connectivity service or | * CEs may be either dedicated to one single connectivity service or | |||
host multiple connectivity services (e.g., CEs with roles of | host multiple connectivity services (e.g., CEs with roles of | |||
service functions [RFC7665]). | service functions [RFC7665]). | |||
* A network provider may bind a single AC to one or multiple peer | * A network provider may bind a single AC to one or multiple peer | |||
SAPs (e.g., CE1 and CE2 are tagged as peer SAPs for the same AC). | SAPs (e.g., CE1 and CE2 are tagged as peer SAPs for the same AC). | |||
For example, and as discussed in [RFC4364], multiple CEs can be | For example, and as discussed in [RFC4364], multiple CEs can be | |||
attached to a PE over the same attachment circuit. This scenario | attached to a PE over the same AC. This scenario is typically | |||
is typically implemented when the Layer 2 infrastructure between | implemented when the Layer 2 infrastructure between the CE and the | |||
the CE and the network is a multipoint service. | network is a multipoint service. | |||
* A single CE may terminate multiple ACs, which can be associated | * A single CE may terminate multiple ACs, which can be associated | |||
with the same bearer or distinct bearers (e.g., CE4). | with the same bearer or distinct bearers (e.g., CE4). | |||
* Customers may request protection schemes in which the ACs | * Customers may request protection schemes in which the ACs | |||
associated with their endpoints are terminated by the same PE | associated with their endpoints are terminated by the same PE | |||
(e.g., CE3), distinct PEs (e.g., CE4), etc. The network provider | (e.g., CE3), distinct PEs (e.g., CE4), etc. The network provider | |||
uses this request to decide where to terminate the AC in the | uses this request to decide where to terminate the AC in the | |||
service provider network and also whether to enable specific | service provider network and also whether to enable specific | |||
capabilities (e.g., Virtual Router Redundancy Protocol (VRRP)). | capabilities (e.g., Virtual Router Redundancy Protocol (VRRP)). | |||
skipping to change at line 268 ¶ | skipping to change at line 268 ¶ | |||
These ACs can be referenced when creating VPN services. Refer to the | These ACs can be referenced when creating VPN services. Refer to the | |||
examples provided in Appendix A to illustrate how VPN services can be | examples provided in Appendix A to illustrate how VPN services can be | |||
bound to ACs. | bound to ACs. | |||
4.2. Separate AC Provisioning from Actual VPN Service Provisioning | 4.2. Separate AC Provisioning from Actual VPN Service Provisioning | |||
The procedure to provision a service in a service provider network | The procedure to provision a service in a service provider network | |||
may depend on the practices adopted by a service provider. This | may depend on the practices adopted by a service provider. This | |||
includes the flow put in place for the provisioning of advanced | includes the flow put in place for the provisioning of advanced | |||
network services and how they are bound to an attachment circuit. | network services and how they are bound to an AC. For example, a | |||
For example, a single attachment circuit may be used to host multiple | single AC may be used to host multiple connectivity services (e.g., | |||
connectivity services (e.g., Layer 2 VPN ("ietf-l2vpn-svc"), Layer 3 | L2VPN ("ietf-l2vpn-svc"), L3VPN ("ietf-l3vpn-svc"), Network Slice | |||
VPN ("ietf-l3vpn-svc"), Network Slice Service ("ietf-network-slice- | Service ("ietf-network-slice-service")). In order to avoid service | |||
service")). In order to avoid service interference and redundant | interference and redundant information in various locations, a | |||
information in various locations, a service provider may expose an | service provider may expose an interface to manage ACs network-wide | |||
interface to manage ACs network-wide using [RFC9834]. Customers can | using the modules in [RFC9834]. Customers can request for an AC | |||
request for an attachment circuit ("ietf-ac-svc") to be put in place | ("ietf-ac-svc") to be put in place and then refer to that AC when | |||
and then refer to that AC when requesting VPN services that are bound | requesting VPN services that are bound to the AC ("ietf-ac-glue"). | |||
to the AC ("ietf-ac-glue"). | ||||
Also, internal references ("ietf-ac-ntw") used within a service | Also, internal references ("ietf-ac-ntw") used within a service | |||
provider network to implement ACs can be used by network controllers | provider network to implement ACs can be used by network controllers | |||
to glue the L2NM ("ietf-l2vpn-ntw") or the L3NM ("ietf-l3vpn-ntw") | to glue the L2NM ("ietf-l2vpn-ntw") or the L3NM ("ietf-l3vpn-ntw") | |||
services with relevant ACs. | services with relevant ACs. | |||
Figure 3 shows the positioning of the AC models in the overall | Figure 3 shows the positioning of the AC models in the overall | |||
service delivery process. | service delivery process. | |||
.-------------. | .-------------. | |||
skipping to change at line 323 ¶ | skipping to change at line 322 ¶ | |||
Models | | | | Models | | | | |||
.---+---. | | | .---+---. | | | |||
| Config | | | | | Config | | | | |||
| Manager | | | | | Manager | | | | |||
'---+---' | | | '---+---' | | | |||
| | | | | | | | |||
NETCONF/CLI....................... | NETCONF/CLI....................... | |||
| | | | | | | | |||
.--------------------------------. | .--------------------------------. | |||
.---. Bearer | | Bearer .---. | .---. Bearer | | Bearer .---. | |||
|CE#1+--------+ Network +--------+CE#2| | |CE1 +--------+ Network +--------+ CE2| | |||
'---' | | '---' | '---' | | '---' | |||
'--------------------------------' | '--------------------------------' | |||
Site A Site B | Site A Site B | |||
Figure 3: An Example of AC Models Usage | Figure 3: An Example of AC Models Usage | |||
5. Module Tree Structure | 5. Module Tree Structure | |||
[RFC8299] specifies that a 'site-network-access' attachment is | [RFC8299] specifies that a 'site-network-access' attachment is | |||
achieved through a 'bearer' with an 'ip-connection' on top. From | achieved through a 'bearer' with an 'ip-connection' on top. From | |||
that standpoint, a 'site-network-access' is mapped to an attachment | that standpoint, a 'site-network-access' is mapped to an AC with both | |||
circuit with both Layer 2 and 3 properties per [RFC9834]. [RFC8466] | Layer 2 and Layer 3 properties per [RFC9834]. [RFC8466] specifies | |||
specifies that a 'site-network-access' represents a logical Layer 2 | that a 'site-network-access' represents a logical Layer 2 connection | |||
connection to a site. A 'site-network-access' can thus be mapped to | to a site. A 'site-network-access' can thus be mapped to an AC with | |||
an attachment circuit with Layer 2 properties [RFC9834]. Similarly, | Layer 2 properties [RFC9834]. Similarly, 'vpn-network-access' | |||
'vpn-network-access' defined in both [RFC9182] and [RFC9291] is | defined in both [RFC9182] and [RFC9291] is mapped to an AC per | |||
mapped to an attachment circuit per [RFC9834] or [RFC9835]. | [RFC9834] or [RFC9835]. | |||
As such, ACs created using the "ietf-ac-svc" module [RFC9834] can be | As such, ACs created using the "ietf-ac-svc" module [RFC9834] can be | |||
referenced in other VPN-related modules (e.g., LxSM and LxNM). Also, | referenced in other VPN-related modules (e.g., LxSM and LxNM). Also, | |||
ACs managed using the "ietf-ac-ntw" module [RFC9835] can be | ACs managed using the "ietf-ac-ntw" module [RFC9835] can be | |||
referenced in VPN-related network modules (mainly, the LxNM). The | referenced in VPN-related network modules (mainly, the LxNM). The | |||
required augmentations to that aim are shown in Figure 4. | required augmentations to that aim are shown in Figure 4. | |||
module: ietf-ac-glue | module: ietf-ac-glue | |||
augment /l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site | augment /l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site | |||
skipping to change at line 401 ¶ | skipping to change at line 400 ¶ | |||
+--rw ac-ref? leafref | +--rw ac-ref? leafref | |||
+--rw node-ref? leafref | +--rw node-ref? leafref | |||
+--rw network-ref? -> /nw:networks/network/network-id | +--rw network-ref? -> /nw:networks/network/network-id | |||
Figure 4: AC Glue Tree Structure | Figure 4: AC Glue Tree Structure | |||
When an AC is referenced within a specific network access, that AC | When an AC is referenced within a specific network access, that AC | |||
information takes precedence over any overlapping information that is | information takes precedence over any overlapping information that is | |||
also enclosed for this network access. | also enclosed for this network access. | |||
This approach is consistent with the design in [YANG-NSS] where an AC | | This approach is consistent with the design in [YANG-NSS] where | |||
service reference, called 'ac-svc-name', is used to indicate the | | an AC service reference, called 'ac-svc-ref', is used to | |||
names of AC services. As per [YANG-NSS], when both 'ac-svc-name' and | | indicate the names of AC services. As per [YANG-NSS], when | |||
the attributes of 'attachment-circuits' are defined, the 'ac-svc- | | both 'ac-svc-ref' and the attributes of 'attachment-circuits' | |||
name' takes precedence. | | are defined, the 'ac-svc-ref' takes precedence. | |||
The "ietf-ac-glue" module includes provisions to reference ACs within | The "ietf-ac-glue" module includes provisions to reference ACs within | |||
or outside a VPN network access to accommodate deployment contexts | or outside a VPN network access to accommodate deployment contexts | |||
where an AC reference may be created before or after a VPN instance | where an AC reference may be created before or after a VPN instance | |||
is created. Appendix A.1 illustrates how an AC reference can be | is created. Appendix A.1 illustrates how an AC reference can be | |||
included as part of a specific VPN network access, while Appendix A.2 | included as part of a specific VPN network access, while Appendix A.2 | |||
shows how AC references can be indicated outside individual VPN | shows how AC references can be indicated outside individual VPN | |||
network access entries. | network access entries. | |||
6. The AC Glue ("ietf-ac-glue") YANG Module | 6. The AC Glue ("ietf-ac-glue") YANG Module | |||
skipping to change at line 453 ¶ | skipping to change at line 452 ¶ | |||
} | } | |||
import ietf-l2vpn-ntw { | import ietf-l2vpn-ntw { | |||
prefix l2nm; | prefix l2nm; | |||
reference | reference | |||
"RFC 9291: A YANG Network Data Model for Layer 2 VPNs"; | "RFC 9291: A YANG Network Data Model for Layer 2 VPNs"; | |||
} | } | |||
import ietf-ac-svc { | import ietf-ac-svc { | |||
prefix ac-svc; | prefix ac-svc; | |||
reference | reference | |||
"RFC 9834: YANG Data Models for Bearers and Attachment | "RFC 9834: YANG Data Models for Bearers and Attachment | |||
Circuits-as-a-Service (ACaaS)"; | Circuits as a Service (ACaaS)"; | |||
} | } | |||
import ietf-ac-ntw { | import ietf-ac-ntw { | |||
prefix ac-ntw; | prefix ac-ntw; | |||
reference | reference | |||
"RFC 9835: A Network YANG Data Model for Attachment Circuits"; | "RFC 9835: A Network YANG Data Model for Attachment Circuits"; | |||
} | } | |||
organization | organization | |||
"IETF OPSAWG (Operations and Management Area Working Group)"; | "IETF OPSAWG (Operations and Management Area Working Group)"; | |||
contact | contact | |||
skipping to change at line 477 ¶ | skipping to change at line 476 ¶ | |||
Editor: Mohamed Boucadair | Editor: Mohamed Boucadair | |||
<mailto:mohamed.boucadair@orange.com> | <mailto:mohamed.boucadair@orange.com> | |||
Author: Richard Roberts | Author: Richard Roberts | |||
<mailto:rroberts@juniper.net> | <mailto:rroberts@juniper.net> | |||
Author: Samier Barguil | Author: Samier Barguil | |||
<mailto:ssamier.barguil_giraldo@nokia.com> | <mailto:ssamier.barguil_giraldo@nokia.com> | |||
Author: Oscar Gonzalez de Dios | Author: Oscar Gonzalez de Dios | |||
<mailto:oscar.gonzalezdedios@telefonica.com>"; | <mailto:oscar.gonzalezdedios@telefonica.com>"; | |||
description | description | |||
"This YANG module defines a YANG data model for augmenting the | "This YANG module defines a YANG data model for augmenting the | |||
LxSM and the LxNM with attachment circuit references. | LxSM and the LxNM with AC references. | |||
Copyright (c) 2025 IETF Trust and the persons identified as | Copyright (c) 2025 IETF Trust and the persons identified as | |||
authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
to the license terms contained in, the Revised BSD License | to the license terms contained in, the Revised BSD License | |||
set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
Relating to IETF Documents | Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info). | (https://trustee.ietf.org/license-info). | |||
skipping to change at line 503 ¶ | skipping to change at line 502 ¶ | |||
description | description | |||
"Initial revision."; | "Initial revision."; | |||
reference | reference | |||
"RFC 9836: A YANG Data Model for Augmenting VPN Service | "RFC 9836: A YANG Data Model for Augmenting VPN Service | |||
and Network Models with Attachment Circuits"; | and Network Models with Attachment Circuits"; | |||
} | } | |||
feature ac-glue { | feature ac-glue { | |||
description | description | |||
"The VPN implementation supports binding a specific VPN | "The VPN implementation supports binding a specific VPN | |||
network access or site access to an attachment circuit."; | network access or site access to an AC."; | |||
} | } | |||
grouping single-ac-svc-ref { | grouping single-ac-svc-ref { | |||
description | description | |||
"A grouping with a single reference to a service AC."; | "A grouping with a single reference to a service AC."; | |||
leaf ac-svc-ref { | leaf ac-svc-ref { | |||
type ac-svc:attachment-circuit-reference; | type ac-svc:attachment-circuit-reference; | |||
description | description | |||
"A reference to the AC as exposed at the service that was | "A reference to the AC as exposed at the service that was | |||
provisioned using the ACaaS module."; | provisioned using the ACaaS module."; | |||
skipping to change at line 568 ¶ | skipping to change at line 567 ¶ | |||
network module."; | network module."; | |||
uses ac-ntw:attachment-circuit-reference; | uses ac-ntw:attachment-circuit-reference; | |||
} | } | |||
} | } | |||
augment "/l2vpn-svc:l2vpn-svc" | augment "/l2vpn-svc:l2vpn-svc" | |||
+ "/l2vpn-svc:sites/l2vpn-svc:site" | + "/l2vpn-svc:sites/l2vpn-svc:site" | |||
+ "/l2vpn-svc:site-network-accesses" { | + "/l2vpn-svc:site-network-accesses" { | |||
description | description | |||
"Augments VPN site network accesses with AC provisioning | "Augments VPN site network accesses with AC provisioning | |||
details. Concretely, it binds a site to a set of | details. Concretely, it binds a site to a set of ACs with | |||
attachment circuits with Layer 2 properties that were | Layer 2 properties that were created using the ACaaS module."; | |||
created using the ACaaS module."; | ||||
uses ac-svc-ref; | uses ac-svc-ref; | |||
} | } | |||
augment "/l2vpn-svc:l2vpn-svc" | augment "/l2vpn-svc:l2vpn-svc" | |||
+ "/l2vpn-svc:sites/l2vpn-svc:site" | + "/l2vpn-svc:sites/l2vpn-svc:site" | |||
+ "/l2vpn-svc:site-network-accesses" | + "/l2vpn-svc:site-network-accesses" | |||
+ "/l2vpn-svc:site-network-access" { | + "/l2vpn-svc:site-network-access" { | |||
if-feature "ac-glue"; | if-feature "ac-glue"; | |||
description | description | |||
"Augments VPN site network access with AC provisioning | "Augments VPN site network access with AC provisioning | |||
details. Concretely, it glues a 'site-network-access' | details. Concretely, it glues a 'site-network-access' | |||
to an attachment circuit with Layer 2 properties that was | to an AC with Layer 2 properties that was created using the | |||
created using the ACaaS module. | ACaaS module. | |||
The ACaaS information takes precedence over any overlapping | The ACaaS information takes precedence over any overlapping | |||
information that is also provided for a site network access."; | information that is also provided for a site network access."; | |||
uses single-ac-svc-ref; | uses single-ac-svc-ref; | |||
} | } | |||
augment "/l3vpn-svc:l3vpn-svc" | augment "/l3vpn-svc:l3vpn-svc" | |||
+ "/l3vpn-svc:sites/l3vpn-svc:site" | + "/l3vpn-svc:sites/l3vpn-svc:site" | |||
+ "/l3vpn-svc:site-network-accesses" { | + "/l3vpn-svc:site-network-accesses" { | |||
description | description | |||
"Augments VPN site network accesses with AC provisioning | "Augments VPN site network accesses with AC provisioning | |||
details. Concretely, it binds a site to a set of attachment | details. Concretely, it binds a site to a set of ACs with | |||
circuits with both Layer 2 and Layer 3 properties that were | both Layer 2 and Layer 3 properties that were created using | |||
created using the ACaaS module."; | the ACaaS module."; | |||
uses ac-svc-ref; | uses ac-svc-ref; | |||
} | } | |||
augment "/l3vpn-svc:l3vpn-svc" | augment "/l3vpn-svc:l3vpn-svc" | |||
+ "/l3vpn-svc:sites/l3vpn-svc:site" | + "/l3vpn-svc:sites/l3vpn-svc:site" | |||
+ "/l3vpn-svc:site-network-accesses" | + "/l3vpn-svc:site-network-accesses" | |||
+ "/l3vpn-svc:site-network-access" { | + "/l3vpn-svc:site-network-access" { | |||
if-feature "ac-glue"; | if-feature "ac-glue"; | |||
description | description | |||
"Augments VPN site network access with AC provisioning | "Augments VPN site network access with AC provisioning | |||
details. Concretely, it glues a 'site-network-access' to an | details. Concretely, it glues a 'site-network-access' to an | |||
attachment circuit with both Layer 2 and Layer 3 properties | AC with both Layer 2 and Layer 3 properties that was created | |||
that was created using the ACaaS module. | using the ACaaS module. | |||
The ACaaS information takes precedence over any overlapping | The ACaaS information takes precedence over any overlapping | |||
information that is also provided for a site network access."; | information that is also provided for a site network access."; | |||
uses single-ac-svc-ref; | uses single-ac-svc-ref; | |||
} | } | |||
augment "/l2nm:l2vpn-ntw/l2nm:vpn-services/l2nm:vpn-service" | augment "/l2nm:l2vpn-ntw/l2nm:vpn-services/l2nm:vpn-service" | |||
+ "/l2nm:vpn-nodes/l2nm:vpn-node" | + "/l2nm:vpn-nodes/l2nm:vpn-node" | |||
+ "/l2nm:vpn-network-accesses" { | + "/l2nm:vpn-network-accesses" { | |||
description | description | |||
"Augments VPN network accesses with both service and network | "Augments VPN network accesses with both service and network | |||
AC provisioning details. Concretely, it binds a site to (1) | AC provisioning details. Concretely, it binds a site to (1) | |||
a set of attachment circuits with Layer 2 properties that were | a set of ACs with Layer 2 properties that were created using | |||
created using the ACaaS module and (2) a set of attachment | the ACaaS module and (2) a set of ACs with Layer 2 properties | |||
circuits with Layer 2 properties that were provisioned using | that were provisioned using the AC network model."; | |||
the AC network model."; | ||||
uses ac-svc-ntw-ref; | uses ac-svc-ntw-ref; | |||
} | } | |||
augment "/l2nm:l2vpn-ntw/l2nm:vpn-services/l2nm:vpn-service" | augment "/l2nm:l2vpn-ntw/l2nm:vpn-services/l2nm:vpn-service" | |||
+ "/l2nm:vpn-nodes/l2nm:vpn-node" | + "/l2nm:vpn-nodes/l2nm:vpn-node" | |||
+ "/l2nm:vpn-network-accesses" | + "/l2nm:vpn-network-accesses" | |||
+ "/l2nm:vpn-network-access" { | + "/l2nm:vpn-network-access" { | |||
if-feature "ac-glue"; | if-feature "ac-glue"; | |||
description | description | |||
"Augments VPN network access with service and network | "Augments VPN network access with service and network | |||
references to an AC. Concretely, it glues a VPN network | references to an AC. Concretely, it glues a VPN network | |||
access to (1) an attachment circuit with Layer 2 properties | access to (1) an AC with Layer 2 properties | |||
that was created using the ACaaS module and (2) an attachment | that was created using the ACaaS module and (2) an AC with | |||
circuit with Layer 2 properties that was created using the AC | Layer 2 properties that was created using the AC network | |||
network module. | module. | |||
The AC service and network information takes precedence over | The AC service and network information takes precedence over | |||
any overlapping information that is also provided for a VPN | any overlapping information that is also provided for a VPN | |||
network access."; | network access."; | |||
uses single-ac-svc-ntw-ref; | uses single-ac-svc-ntw-ref; | |||
} | } | |||
augment "/l3nm:l3vpn-ntw/l3nm:vpn-services/l3nm:vpn-service" | augment "/l3nm:l3vpn-ntw/l3nm:vpn-services/l3nm:vpn-service" | |||
+ "/l3nm:vpn-nodes/l3nm:vpn-node" | + "/l3nm:vpn-nodes/l3nm:vpn-node" | |||
+ "/l3nm:vpn-network-accesses" { | + "/l3nm:vpn-network-accesses" { | |||
description | description | |||
"Augments VPN network accesses with both service and network | "Augments VPN network accesses with both service and network | |||
AC provisioning details. Concretely, it binds a site to (1) | AC provisioning details. Concretely, it binds a site to (1) | |||
a set of attachment circuits with both Layer 2 and Layer 3 | a set of ACs with both Layer 2 and Layer 3 properties that | |||
properties that were created using the ACaaS module and (2) | were created using the ACaaS module and (2) a set of ACs with | |||
a set of attachment circuits with both Layer 2 and Layer 3 | both Layer 2 and Layer 3 properties that were provisioned | |||
properties that were provisioned using the AC network model."; | using the AC network model."; | |||
uses ac-svc-ntw-ref; | uses ac-svc-ntw-ref; | |||
} | } | |||
augment "/l3nm:l3vpn-ntw/l3nm:vpn-services/l3nm:vpn-service" | augment "/l3nm:l3vpn-ntw/l3nm:vpn-services/l3nm:vpn-service" | |||
+ "/l3nm:vpn-nodes/l3nm:vpn-node" | + "/l3nm:vpn-nodes/l3nm:vpn-node" | |||
+ "/l3nm:vpn-network-accesses" | + "/l3nm:vpn-network-accesses" | |||
+ "/l3nm:vpn-network-access" { | + "/l3nm:vpn-network-access" { | |||
if-feature "ac-glue"; | if-feature "ac-glue"; | |||
description | description | |||
"Augments VPN network access with service and network | "Augments VPN network access with service and network | |||
references to an AC. Concretely, it glues a VPN network | references to an AC. Concretely, it glues a VPN network | |||
access to (1) an attachment circuit with both Layer 2 and | access to (1) an AC with both Layer 2 and Layer 3 properties | |||
Layer 3 properties that was created using the ACaaS module | that was created using the ACaaS module and (2) an AC with | |||
and (2) an attachment circuit with both Layer 2 and Layer 3 | both Layer 2 and Layer 3 properties that was created using the | |||
properties that was created using the AC network module. | AC network module. | |||
The AC service and network information takes precedence over | The AC service and network information takes precedence over | |||
any overlapping information that is also provided for a VPN | any overlapping information that is also provided for a VPN | |||
network access."; | network access."; | |||
uses single-ac-svc-ntw-ref; | uses single-ac-svc-ntw-ref; | |||
} | } | |||
} | } | |||
<CODE ENDS> | <CODE ENDS> | |||
7. Security Considerations | 7. Security Considerations | |||
skipping to change at line 759 ¶ | skipping to change at line 756 ¶ | |||
Reference: RFC 9836 | Reference: RFC 9836 | |||
9. References | 9. References | |||
9.1. Normative References | 9.1. Normative References | |||
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
DOI 10.17487/RFC3688, January 2004, | DOI 10.17487/RFC3688, January 2004, | |||
<https://www.rfc-editor.org/info/rfc3688>. | <https://www.rfc-editor.org/info/rfc3688>. | |||
[RFC4252] Ylonen, T. and C. Lonvick, Ed., "The Secure Shell (SSH) | ||||
Authentication Protocol", RFC 4252, DOI 10.17487/RFC4252, | ||||
January 2006, <https://www.rfc-editor.org/info/rfc4252>. | ||||
[RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for | [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for | |||
the Network Configuration Protocol (NETCONF)", RFC 6020, | the Network Configuration Protocol (NETCONF)", RFC 6020, | |||
DOI 10.17487/RFC6020, October 2010, | DOI 10.17487/RFC6020, October 2010, | |||
<https://www.rfc-editor.org/info/rfc6020>. | <https://www.rfc-editor.org/info/rfc6020>. | |||
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | ||||
and A. Bierman, Ed., "Network Configuration Protocol | ||||
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | ||||
<https://www.rfc-editor.org/info/rfc6241>. | ||||
[RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | ||||
Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, | ||||
<https://www.rfc-editor.org/info/rfc8040>. | ||||
[RFC8299] Wu, Q., Ed., Litkowski, S., Tomotaki, L., and K. Ogaki, | [RFC8299] Wu, Q., Ed., Litkowski, S., Tomotaki, L., and K. Ogaki, | |||
"YANG Data Model for L3VPN Service Delivery", RFC 8299, | "YANG Data Model for L3VPN Service Delivery", RFC 8299, | |||
DOI 10.17487/RFC8299, January 2018, | DOI 10.17487/RFC8299, January 2018, | |||
<https://www.rfc-editor.org/info/rfc8299>. | <https://www.rfc-editor.org/info/rfc8299>. | |||
[RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration | [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration | |||
Access Control Model", STD 91, RFC 8341, | Access Control Model", STD 91, RFC 8341, | |||
DOI 10.17487/RFC8341, March 2018, | DOI 10.17487/RFC8341, March 2018, | |||
<https://www.rfc-editor.org/info/rfc8341>. | <https://www.rfc-editor.org/info/rfc8341>. | |||
[RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., | [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., | |||
and R. Wilton, "Network Management Datastore Architecture | and R. Wilton, "Network Management Datastore Architecture | |||
(NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, | (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, | |||
<https://www.rfc-editor.org/info/rfc8342>. | <https://www.rfc-editor.org/info/rfc8342>. | |||
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | ||||
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | ||||
<https://www.rfc-editor.org/info/rfc8446>. | ||||
[RFC8466] Wen, B., Fioccola, G., Ed., Xie, C., and L. Jalil, "A YANG | [RFC8466] Wen, B., Fioccola, G., Ed., Xie, C., and L. Jalil, "A YANG | |||
Data Model for Layer 2 Virtual Private Network (L2VPN) | Data Model for Layer 2 Virtual Private Network (L2VPN) | |||
Service Delivery", RFC 8466, DOI 10.17487/RFC8466, October | Service Delivery", RFC 8466, DOI 10.17487/RFC8466, October | |||
2018, <https://www.rfc-editor.org/info/rfc8466>. | 2018, <https://www.rfc-editor.org/info/rfc8466>. | |||
[RFC9000] Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based | ||||
Multiplexed and Secure Transport", RFC 9000, | ||||
DOI 10.17487/RFC9000, May 2021, | ||||
<https://www.rfc-editor.org/info/rfc9000>. | ||||
[RFC9182] Barguil, S., Gonzalez de Dios, O., Ed., Boucadair, M., | [RFC9182] Barguil, S., Gonzalez de Dios, O., Ed., Boucadair, M., | |||
Ed., Munoz, L., and A. Aguado, "A YANG Network Data Model | Ed., Munoz, L., and A. Aguado, "A YANG Network Data Model | |||
for Layer 3 VPNs", RFC 9182, DOI 10.17487/RFC9182, | for Layer 3 VPNs", RFC 9182, DOI 10.17487/RFC9182, | |||
February 2022, <https://www.rfc-editor.org/info/rfc9182>. | February 2022, <https://www.rfc-editor.org/info/rfc9182>. | |||
[RFC9291] Boucadair, M., Ed., Gonzalez de Dios, O., Ed., Barguil, | [RFC9291] Boucadair, M., Ed., Gonzalez de Dios, O., Ed., Barguil, | |||
S., and L. Munoz, "A YANG Network Data Model for Layer 2 | S., and L. Munoz, "A YANG Network Data Model for Layer 2 | |||
VPNs", RFC 9291, DOI 10.17487/RFC9291, September 2022, | VPNs", RFC 9291, DOI 10.17487/RFC9291, September 2022, | |||
<https://www.rfc-editor.org/info/rfc9291>. | <https://www.rfc-editor.org/info/rfc9291>. | |||
[RFC9834] Boucadair, M., Ed., Roberts, R., Ed., Gonzalez de Dios, | [RFC9834] Boucadair, M., Ed., Roberts, R., Ed., Gonzalez de Dios, | |||
O., Barguil, S., and B. Wu, "YANG Data Models for Bearers | O., Barguil, S., and B. Wu, "YANG Data Models for Bearers | |||
and Attachment Circuits-as-a-Service (ACaaS)", RFC 9834, | and Attachment Circuits as a Service (ACaaS)", RFC 9834, | |||
DOI 10.17487/RFC9834, August 2025, | DOI 10.17487/RFC9834, September 2025, | |||
<https://www.rfc-editor.org/info/rfc9834>. | <https://www.rfc-editor.org/info/rfc9834>. | |||
[RFC9835] Boucadair, M., Ed., Roberts, R., Gonzalez de Dios, O., | [RFC9835] Boucadair, M., Ed., Roberts, R., Gonzalez de Dios, O., | |||
Barguil, S., and B. Wu, "A Network YANG Data Model for | Barguil, S., and B. Wu, "A Network YANG Data Model for | |||
Attachment Circuits", RFC 9835, DOI 10.17487/RFC9835, | Attachment Circuits", RFC 9835, DOI 10.17487/RFC9835, | |||
August 2025, <https://www.rfc-editor.org/info/rfc9835>. | September 2025, <https://www.rfc-editor.org/info/rfc9835>. | |||
9.2. Informative References | 9.2. Informative References | |||
[RFC4252] Ylonen, T. and C. Lonvick, Ed., "The Secure Shell (SSH) | ||||
Authentication Protocol", RFC 4252, DOI 10.17487/RFC4252, | ||||
January 2006, <https://www.rfc-editor.org/info/rfc4252>. | ||||
[RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private | [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private | |||
Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February | Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February | |||
2006, <https://www.rfc-editor.org/info/rfc4364>. | 2006, <https://www.rfc-editor.org/info/rfc4364>. | |||
[RFC4664] Andersson, L., Ed. and E. Rosen, Ed., "Framework for Layer | [RFC4664] Andersson, L., Ed. and E. Rosen, Ed., "Framework for Layer | |||
2 Virtual Private Networks (L2VPNs)", RFC 4664, | 2 Virtual Private Networks (L2VPNs)", RFC 4664, | |||
DOI 10.17487/RFC4664, September 2006, | DOI 10.17487/RFC4664, September 2006, | |||
<https://www.rfc-editor.org/info/rfc4664>. | <https://www.rfc-editor.org/info/rfc4664>. | |||
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | ||||
and A. Bierman, Ed., "Network Configuration Protocol | ||||
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | ||||
<https://www.rfc-editor.org/info/rfc6241>. | ||||
[RFC7665] Halpern, J., Ed. and C. Pignataro, Ed., "Service Function | [RFC7665] Halpern, J., Ed. and C. Pignataro, Ed., "Service Function | |||
Chaining (SFC) Architecture", RFC 7665, | Chaining (SFC) Architecture", RFC 7665, | |||
DOI 10.17487/RFC7665, October 2015, | DOI 10.17487/RFC7665, October 2015, | |||
<https://www.rfc-editor.org/info/rfc7665>. | <https://www.rfc-editor.org/info/rfc7665>. | |||
[RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | ||||
Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, | ||||
<https://www.rfc-editor.org/info/rfc8040>. | ||||
[RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", | [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", | |||
BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, | BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, | |||
<https://www.rfc-editor.org/info/rfc8340>. | <https://www.rfc-editor.org/info/rfc8340>. | |||
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | ||||
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | ||||
<https://www.rfc-editor.org/info/rfc8446>. | ||||
[RFC9000] Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based | ||||
Multiplexed and Secure Transport", RFC 9000, | ||||
DOI 10.17487/RFC9000, May 2021, | ||||
<https://www.rfc-editor.org/info/rfc9000>. | ||||
[RFC9408] Boucadair, M., Ed., Gonzalez de Dios, O., Barguil, S., Wu, | [RFC9408] Boucadair, M., Ed., Gonzalez de Dios, O., Barguil, S., Wu, | |||
Q., and V. Lopez, "A YANG Network Data Model for Service | Q., and V. Lopez, "A YANG Network Data Model for Service | |||
Attachment Points (SAPs)", RFC 9408, DOI 10.17487/RFC9408, | Attachment Points (SAPs)", RFC 9408, DOI 10.17487/RFC9408, | |||
June 2023, <https://www.rfc-editor.org/info/rfc9408>. | June 2023, <https://www.rfc-editor.org/info/rfc9408>. | |||
[RFC9833] Boucadair, M., Ed., Roberts, R., Ed., Gonzalez de Dios, | [RFC9833] Boucadair, M., Ed., Roberts, R., Ed., Gonzalez de Dios, | |||
O., Barguil, S., and B. Wu, "A Common YANG Data Model for | O., Barguil, S., and B. Wu, "A Common YANG Data Model for | |||
Attachment Circuits", RFC 9833, DOI 10.17487/RFC9833, | Attachment Circuits", RFC 9833, DOI 10.17487/RFC9833, | |||
August 2025, <https://www.rfc-editor.org/info/rfc9833>. | September 2025, <https://www.rfc-editor.org/info/rfc9833>. | |||
[YANG-GUIDELINES] | [YANG-GUIDELINES] | |||
Bierman, A., Boucadair, M., Ed., and Q. Wu, "Guidelines | Bierman, A., Boucadair, M., Ed., and Q. Wu, "Guidelines | |||
for Authors and Reviewers of Documents Containing YANG | for Authors and Reviewers of Documents Containing YANG | |||
Data Models", Work in Progress, Internet-Draft, draft- | Data Models", Work in Progress, Internet-Draft, draft- | |||
ietf-netmod-rfc8407bis-22, 14 January 2025, | ietf-netmod-rfc8407bis-22, 14 January 2025, | |||
<https://datatracker.ietf.org/doc/html/draft-ietf-netmod- | <https://datatracker.ietf.org/doc/html/draft-ietf-netmod- | |||
rfc8407bis-22>. | rfc8407bis-22>. | |||
[YANG-NSS] Wu, B., Dhody, D., Rokui, R., Saad, T., and J. Mullooly, | [YANG-NSS] Wu, B., Dhody, D., Rokui, R., Saad, T., and J. Mullooly, | |||
skipping to change at line 878 ¶ | skipping to change at line 875 ¶ | |||
teas-ietf-network-slice-nbi-yang-25, 9 May 2025, | teas-ietf-network-slice-nbi-yang-25, 9 May 2025, | |||
<https://datatracker.ietf.org/doc/html/draft-ietf-teas- | <https://datatracker.ietf.org/doc/html/draft-ietf-teas- | |||
ietf-network-slice-nbi-yang-25>. | ietf-network-slice-nbi-yang-25>. | |||
Appendix A. Examples | Appendix A. Examples | |||
A.1. A Service AC Reference Within the VPN Network Access | A.1. A Service AC Reference Within the VPN Network Access | |||
Let us consider the example depicted in Figure 5, which is inspired | Let us consider the example depicted in Figure 5, which is inspired | |||
from Section 2.1 of [RFC4664]. Each PE is servicing two CEs. Let us | from Section 2.1 of [RFC4664]. Each PE is servicing two CEs. Let us | |||
also assume that the service references to identify attachment | also assume that the service references to identify ACs with these | |||
circuits with these CEs are shown in Figure 5. | CEs are shown in Figure 5. | |||
.----. .----. | .----. .----. | |||
| | AC1 AC2 | | | | | AC1 AC2 | | | |||
| CE1 |--+ 2001:db8:100::1 2001:db8:200::1 +--| CE2 | | | CE1 |--+ 2001:db8:100::1 2001:db8:200::1 +--| CE2 | | |||
| | | .-----. .-----. .-----. | | | | | | | .-----. .-----. .-----. | | | | |||
'----' +----|---- | | P | | ----+----+ '----' | '----' +----|---- | | P | | ----+----+ '----' | |||
|VPWS\----|-----|-----|/VPWS| | |VPWS\----|-----|-----|/VPWS| | |||
| PE1 |===|=====|=====| PE2 | | | PE1 |===|=====|=====| PE2 | | |||
| /|---|-----|-----|\\ | | | /|---|-----|-----|\\ | | |||
.----. +----|---- | | | | ----|----+ .----. | .----. +----|---- | | | | ----|----+ .----. | |||
skipping to change at line 1308 ¶ | skipping to change at line 1305 ¶ | |||
} | } | |||
} | } | |||
] | ] | |||
} | } | |||
] | ] | |||
} | } | |||
Figure 11: Example of SAP Response (Message Body) | Figure 11: Example of SAP Response (Message Body) | |||
The response in Figure 11 indicates that the VPLS service can be | The response in Figure 11 indicates that the VPLS service can be | |||
delivered to CE1. [RFC9835] can be also used to access AC-related | delivered to CE1. The "ietf-ac-ntw" module [RFC9835] can be also | |||
details that are bound to the target SAP (Figure 12). | used to access AC-related details that are bound to the target SAP | |||
(Figure 12). | ||||
{ | { | |||
"ietf-sap-ntw:service":[ | "ietf-sap-ntw:service":[ | |||
{ | { | |||
"service-type":"ietf-vpn-common:vpls", | "service-type":"ietf-vpn-common:vpls", | |||
"sap":[ | "sap":[ | |||
{ | { | |||
"sap-id":"sap#1", | "sap-id":"sap#1", | |||
"peer-sap-id":[ | "peer-sap-id":[ | |||
"ce-1" | "ce-1" | |||
skipping to change at line 1443 ¶ | skipping to change at line 1441 ¶ | |||
Authors' Addresses | Authors' Addresses | |||
Mohamed Boucadair (editor) | Mohamed Boucadair (editor) | |||
Orange | Orange | |||
Email: mohamed.boucadair@orange.com | Email: mohamed.boucadair@orange.com | |||
Richard Roberts | Richard Roberts | |||
Juniper | Juniper | |||
Email: rroberts@juniper.net | Email: rroberts@juniper.net | |||
Samier Barguil Giraldo | Samier Barguil | |||
Nokia | Nokia | |||
Email: samier.barguil_giraldo@nokia.com | Email: samier.barguil_giraldo@nokia.com | |||
Oscar Gonzalez de Dios | Oscar Gonzalez de Dios | |||
Telefonica | Telefonica | |||
Email: oscar.gonzalezdedios@telefonica.com | Email: oscar.gonzalezdedios@telefonica.com | |||
End of changes. 38 change blocks. | ||||
102 lines changed or deleted | 100 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |