< draft-ietf-opsawg-sap-03.txt   draft-ietf-opsawg-sap-04.txt >
OPSAWG M. Boucadair, Ed. OPSAWG M. Boucadair, Ed.
Internet-Draft Orange Internet-Draft Orange
Intended status: Standards Track O. Gonzalez de Dios Intended status: Standards Track O. Gonzalez de Dios
Expires: 22 September 2022 S. Barguil Expires: 13 October 2022 S. Barguil
Telefonica Telefonica
Q. Wu Q. Wu
Huawei Huawei
V. Lopez V. Lopez
Nokia Nokia
21 March 2022 11 April 2022
A Network YANG Model for Service Attachment Points (SAPs) A Network YANG Model for Service Attachment Points (SAPs)
draft-ietf-opsawg-sap-03 draft-ietf-opsawg-sap-04
Abstract Abstract
This document defines a YANG data model for representing an abstract This document defines a YANG data model for representing an abstract
view of the provider network topology that contains the points from view of the provider network topology that contains the points from
which its services can be attached (e.g., basic connectivity, VPN, which its services can be attached (e.g., basic connectivity, VPN,
network slices). Also, the model can be used to retrieve the points network slices). Also, the model can be used to retrieve the points
where the services are actually being delivered to customers where the services are actually being delivered to customers
(including peer networks). (including peer networks).
skipping to change at page 1, line 49 skipping to change at page 1, line 49
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on 22 September 2022. This Internet-Draft will expire on 13 October 2022.
Copyright Notice Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the Copyright (c) 2022 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document. license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
skipping to change at page 2, line 39 skipping to change at page 2, line 39
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 20 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 20
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 20
10.1. Normative References . . . . . . . . . . . . . . . . . . 20 10.1. Normative References . . . . . . . . . . . . . . . . . . 20
10.2. Informative References . . . . . . . . . . . . . . . . . 22 10.2. Informative References . . . . . . . . . . . . . . . . . 22
Appendix A. A Simplified SAP Network Example . . . . . . . . . . 24 Appendix A. A Simplified SAP Network Example . . . . . . . . . . 24
Appendix B. A Simple Example of SAP Network Model: Node Appendix B. A Simple Example of SAP Network Model: Node
Filter . . . . . . . . . . . . . . . . . . . . . . . . . 27 Filter . . . . . . . . . . . . . . . . . . . . . . . . . 27
Appendix C. An Example of NNI SAP: Inter-AS VPN Option A . . . . 32 Appendix C. An Example of NNI SAP: Inter-AS VPN Option A . . . . 32
Appendix D. An Example of Using the SAP Network Model in Service Appendix D. An Example of Using the SAP Network Model in Service
Creation . . . . . . . . . . . . . . . . . . . . . . . . 35 Creation . . . . . . . . . . . . . . . . . . . . . . . . 35
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 35 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 36
1. Introduction 1. Introduction
From the perspective of a service provider, the Service Attachment From the perspective of a service provider, the Service Attachment
Points (SAPs) are abstraction of the network reference points where Points (SAPs) are abstraction of the network reference points where
network services can be delivered to customers. The SAP is an network services can be delivered to customers. The SAP is an
important architectural concept in many implementations and service important architectural concept in many implementations and service
deployments, such as Virtual Private Networks (VPNs), Software- deployments, such as Virtual Private Networks (VPNs), Software-
Defined Wide Area Network (SDWAN) [I-D.ietf-bess-bgp-sdwan-usage], or Defined Wide Area Network (SDWAN) [I-D.ietf-bess-bgp-sdwan-usage], or
network slices [I-D.ietf-teas-ietf-network-slices]. For example, network slices [I-D.ietf-teas-ietf-network-slices]. For example,
skipping to change at page 8, line 38 skipping to change at page 8, line 38
| | | | | |
+----V----+ +----V----+ +----V----+ +----V----+ +----V----+ +----V----+
|TE Topo | |L3 Topo | |L2 Topo | |TE Topo | |L3 Topo | |L2 Topo |
| Model | | Model | | Model | ... | Model | | Model | | Model | ...
+---------+ +---------+ +---------+ +---------+ +---------+ +---------+
Figure 6: Relation of SAP Network Model to Other Models Figure 6: Relation of SAP Network Model to Other Models
Figure 6 depicts the relationship of the SAP network model to other Figure 6 depicts the relationship of the SAP network model to other
models. The SAP network model augments the Network model [RFC8345] models. The SAP network model augments the Network model [RFC8345]
and imports Network Topology model, while other technology-specific and imports the Network Topology model, while other technology-
topology models (e.g., Traffic Engineering (TE) Topologies model specific topology models (e.g., Traffic Engineering (TE) Topologies
[RFC8795] or Layer 3 Topologies model [RFC8346]) augment the Network model [RFC8795] or Layer 3 Topologies model [RFC8346]) augment the
Topology. Network Topology model.
Also, the SAP is not a tunnel termination point (TTP) (Section 3.6 of
[RFC8795]) nor a link.
In the context of Software-Defined Networking (SDN) In the context of Software-Defined Networking (SDN)
[RFC7149][RFC7426], the SAP YANG data model can be used to exchange [RFC7149][RFC7426], the SAP YANG data model can be used to exchange
information between control elements, so as to support VPN service information between control elements, so as to support VPN service
provision and resource management discussed in provision and resource management discussed in
[RFC9182][I-D.ietf-opsawg-l2nm]. Through this data model, the [RFC9182][I-D.ietf-opsawg-l2nm]. Through this data model, the
service orchestration layer can learn the available endpoints (i.e., service orchestration layer can learn the available endpoints (i.e.,
SAPs) of interconnection resources of the underlying network. The SAPs) of interconnection resources of the underlying network. The
service orchestration layer can determine which interconnection service orchestration layer can determine which interconnection
endpoints to add to an L2VPN or L3VPN service. With the help of endpoints to add to an L2VPN or L3VPN service. With the help of
skipping to change at page 9, line 17 skipping to change at page 9, line 20
use. use.
Advanced low-level interface-specific data nodes are not exposed in Advanced low-level interface-specific data nodes are not exposed in
the SAP model. Filters based on the interface identifiers listed in the SAP model. Filters based on the interface identifiers listed in
the SAP model can be used together with dedicated device models to the SAP model can be used together with dedicated device models to
set or get such data. set or get such data.
5. SAP Module Tree Structure 5. SAP Module Tree Structure
The SAP network model 'ietf-sap-ntw' builds on the 'ietf-network' The SAP network model 'ietf-sap-ntw' builds on the 'ietf-network'
module [RFC8345] by augmenting the nodes with SAPs, which anchor the module [RFC8345] by augmenting the nodes with SAPs.
links and are contained in nodes.
The 'sap' attribute defined in the SAP network model is not a tunnel
termination point (TTP) (Section 3.6 of [RFC8795]) nor a link, but an
abstraction of the termination point defined in [RFC8345].
The structure of the 'ietf-sap-ntw' module is shown in Figure 7. The structure of the 'ietf-sap-ntw' module is shown in Figure 7.
module: ietf-sap-ntw module: ietf-sap-ntw
augment /nw:networks/nw:network/nw:network-types: augment /nw:networks/nw:network/nw:network-types:
+--rw sap-network! +--rw sap-network!
+--rw service-type* identityref +--rw service-type* identityref
augment /nw:networks/nw:network/nw:node: augment /nw:networks/nw:network/nw:node:
+--rw service* [service-type] +--rw service* [service-type]
+--rw service-type identityref +--rw service-type identityref
skipping to change at page 11, line 25 skipping to change at page 11, line 25
'parent-termination-point': Includes a reference to the parent 'parent-termination-point': Includes a reference to the parent
interface to which the SAP is bound (e.g., a physical port). interface to which the SAP is bound (e.g., a physical port).
This attribute is used, e.g., to associate an interface with its This attribute is used, e.g., to associate an interface with its
sub-interfaces as all these interfaces may be listed under the sub-interfaces as all these interfaces may be listed under the
SAPs of a node. It is also used to link a SAP with the physical SAPs of a node. It is also used to link a SAP with the physical
topology. topology.
For example, this data node can be used to map the IETF Network For example, this data node can be used to map the IETF Network
Slice endpoints to the service/tunnel/path endpoints in the Slice endpoints ([I-D.ietf-teas-ietf-network-slices]) to the
underlay network as per Section 5.4 of service/tunnel/path endpoints in the underlay network.
[I-D.ietf-teas-ietf-network-slices].
'attachment-interface': Indicates a reference to the interface to 'attachment-interface': Indicates a reference to the interface to
which the SAP is bound. The same interface may host multiple which the SAP is bound. The same interface may host multiple
services. services.
Whether the attachment identifier echoes the content of the Whether the attachment identifier echoes the content of the
attachment interface is deployment specific. attachment interface is deployment specific.
For example, this reference may be any of the identifiers ('l2- For example, this reference may be any of the identifiers ('l2-
termination-point', 'local-bridge-reference', 'bearer-reference', termination-point', 'local-bridge-reference', 'bearer-reference',
skipping to change at page 12, line 22 skipping to change at page 12, line 22
'role': Specifies the role of a SAP (e.g., a UNI or NNI). 'role': Specifies the role of a SAP (e.g., a UNI or NNI).
A SAP inherits the role of its parent interface ('parent- A SAP inherits the role of its parent interface ('parent-
termination-point'). termination-point').
'peer-sap-id': Includes a reference to the remote endpoint of an 'peer-sap-id': Includes a reference to the remote endpoint of an
attachment circuit. attachment circuit.
Examples of such a reference are: a site identifier (Section 6.3 Examples of such a reference are: a site identifier (Section 6.3
of [RFC8299]), a CE identifier (Section 2.1 of of [RFC8299]), a Service Demarcation Point (SDP) identifier
[I-D.ietf-teas-ietf-network-slices]), the IP address of a peer (Section 2.1 of [I-D.ietf-teas-ietf-network-slices]), the IP
Autonomous System Border Router (ASBR). address of a peer Autonomous System Border Router (ASBR).
'sap-status': Indicates the operational status of a SAP. Values are 'sap-status': Indicates the operational status of a SAP. Values are
taken from the values defined in [RFC9181]. taken from the values defined in [RFC9181].
When both a sub-interface and its parent interface are present, When both a sub-interface and its parent interface are present,
the status of the parent interface takes precedence over the the status of the parent interface takes precedence over the
status indicated for the sub-interface. status indicated for the sub-interface.
'service-status': Reports the operational status of service for a 'service-status': Reports the operational status of service for a
given SAP. This information is particularly useful when many given SAP. This information is particularly useful when many
services are enabled for the same SAP, but only a subset of them services are enabled for the same SAP, but only a subset of them
are activated. are activated.
6. SAP YANG Module 6. SAP YANG Module
This module imports types from [RFC8343], [RFC8345], and [RFC9181]. This module imports types from [RFC8343], [RFC8345], and [RFC9181].
The 'sap-information' is defined as a grouping for the reuse of these The 'sap-information' is defined as a grouping for the reuse of these
nodes in service-specific YANG modules. nodes in service-specific YANG modules.
<CODE BEGINS> file "ietf-sap-ntw@2022-02-17.yang" <CODE BEGINS> file "ietf-sap-ntw@2022-04-11.yang"
module ietf-sap-ntw { module ietf-sap-ntw {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-sap-ntw"; namespace "urn:ietf:params:xml:ns:yang:ietf-sap-ntw";
prefix sap; prefix sap;
import ietf-network-topology { import ietf-network-topology {
prefix nt; prefix nt;
reference reference
"RFC 8345: A YANG Data Model for Network "RFC 8345: A YANG Data Model for Network
Topologies, Section 6.2"; Topologies, Section 6.2";
skipping to change at page 14, line 13 skipping to change at page 14, line 13
without modification, is permitted pursuant to, and subject to without modification, is permitted pursuant to, and subject to
the license terms contained in, the Revised BSD License set the license terms contained in, the Revised BSD License set
forth in Section 4.c of the IETF Trust's Legal Provisions 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).
This version of this YANG module is part of RFC XXXX This version of this YANG module is part of RFC XXXX
(https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself
for full legal notices."; for full legal notices.";
revision 2022-02-17 { revision 2022-04-11 {
description description
"Initial version"; "Initial version";
reference reference
"RFC XXXX: A Network YANG Model for Service Attachment "RFC XXXX: A Network YANG Model for Service Attachment
Points (SAPs)"; Points (SAPs)";
} }
identity virtual-network { identity virtual-network {
base vpn-common:service-type; base vpn-common:service-type;
description description
skipping to change at page 18, line 25 skipping to change at page 18, line 25
"Indicates the service status."; "Indicates the service status.";
uses vpn-common:oper-status-timestamp; uses vpn-common:oper-status-timestamp;
} }
} }
} }
augment "/nw:networks/nw:network/nw:network-types" { augment "/nw:networks/nw:network/nw:network-types" {
description description
"Introduces a new network type for SAP network."; "Introduces a new network type for SAP network.";
container sap-network { container sap-network {
presence "Indicates SAP Network Type."; presence "Indicates SAP network type.";
description description
"The presence of the container node indicates the "The presence of the container node indicates the
SAP network type."; SAP network type.";
leaf-list service-type { leaf-list service-type {
type identityref { type identityref {
base vpn-common:service-type; base vpn-common:service-type;
} }
description description
"Indicates the set of supported service types."; "Indicates the set of supported service types.";
} }
} }
} }
augment "/nw:networks/nw:network/nw:node" { augment "/nw:networks/nw:network/nw:node" {
when "../nw:network-types/sap:sap-network" {
description
"Augmentation parameters apply only for SAP
networks.";
}
description description
"Parameters for the SAP level."; "SAP parameters for the node level.";
list service { list service {
key "service-type"; key "service-type";
description description
"A list of supported service type for the node."; "A list of supported service types for the node.";
leaf service-type { leaf service-type {
type identityref { type identityref {
base vpn-common:service-type; base vpn-common:service-type;
} }
description description
"Indicates a service type."; "Indicates a service type.";
} }
uses sap-information; uses sap-information;
} }
} }
} }
<CODE ENDS> <CODE ENDS>
7. IANA Considerations 7. IANA Considerations
This document registers the following namespace URI in the "ns" This document registers the following namespace URI in the "ns"
skipping to change at page 20, line 30 skipping to change at page 20, line 34
Unauthorized access to this subtree can disclose the operational Unauthorized access to this subtree can disclose the operational
state information of the nodes in a SAP network model (e.g., state information of the nodes in a SAP network model (e.g.,
disclose the identity of a customer 'peer-sap-id'). disclose the identity of a customer 'peer-sap-id').
9. Acknowledgements 9. Acknowledgements
Thanks to Adrian Farrell and Daniel King for the suggestions on the Thanks to Adrian Farrell and Daniel King for the suggestions on the
name used in a previous version. name used in a previous version.
Thanks to Dhruv Dhody, Benoit Claise, Bo Wu, Erez Segev, Raul Arco, Thanks to Dhruv Dhody, Benoit Claise, Bo Wu, Erez Segev, Raul Arco,
and Joe Clarke for the comments. Joe Clarke, and Riyas Valiyapalathingal for the comments.
Thanks to Martin Bjoerklund for yang-doctors review. Thanks to Martin Bjoerklund for yang-doctors review.
10. References 10. References
10.1. Normative References 10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
skipping to change at page 22, line 39 skipping to change at page 22, line 45
Framework for Enhanced Virtual Private Network (VPN+) Framework for Enhanced Virtual Private Network (VPN+)
Services", Work in Progress, Internet-Draft, draft-ietf- Services", Work in Progress, Internet-Draft, draft-ietf-
teas-enhanced-vpn-10, 6 March 2022, teas-enhanced-vpn-10, 6 March 2022,
<https://www.ietf.org/archive/id/draft-ietf-teas-enhanced- <https://www.ietf.org/archive/id/draft-ietf-teas-enhanced-
vpn-10.txt>. vpn-10.txt>.
[I-D.ietf-teas-ietf-network-slices] [I-D.ietf-teas-ietf-network-slices]
Farrel, A., Drake, J., Rokui, R., Homma, S., Makhijani, Farrel, A., Drake, J., Rokui, R., Homma, S., Makhijani,
K., Contreras, L. M., and J. Tantsura, "Framework for IETF K., Contreras, L. M., and J. Tantsura, "Framework for IETF
Network Slices", Work in Progress, Internet-Draft, draft- Network Slices", Work in Progress, Internet-Draft, draft-
ietf-teas-ietf-network-slices-08, 6 March 2022, ietf-teas-ietf-network-slices-10, 27 March 2022,
<https://www.ietf.org/archive/id/draft-ietf-teas-ietf- <https://www.ietf.org/archive/id/draft-ietf-teas-ietf-
network-slices-08.txt>. network-slices-10.txt>.
[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>.
[RFC4761] Kompella, K., Ed. and Y. Rekhter, Ed., "Virtual Private [RFC4761] Kompella, K., Ed. and Y. Rekhter, Ed., "Virtual Private
LAN Service (VPLS) Using BGP for Auto-Discovery and LAN Service (VPLS) Using BGP for Auto-Discovery and
Signaling", RFC 4761, DOI 10.17487/RFC4761, January 2007, Signaling", RFC 4761, DOI 10.17487/RFC4761, January 2007,
<https://www.rfc-editor.org/info/rfc4761>. <https://www.rfc-editor.org/info/rfc4761>.
skipping to change at page 24, line 52 skipping to change at page 25, line 10
An example of a SAP topology that is reported by a network controller An example of a SAP topology that is reported by a network controller
is depicted in Figure 8. This example echoes the topology shown in is depicted in Figure 8. This example echoes the topology shown in
Figure 5. Only a minimum set of information is provided for each Figure 5. Only a minimum set of information is provided for each
SAP. SAP.
{ {
"ietf-network:networks": { "ietf-network:networks": {
"network": [ "network": [
{ {
"network-types": { "network-types": {
"service-type": [ "ietf-sap-ntw:sap-network": {
"ietf-vpn-common:l3vpn", "service-type": [
"ietf-vpn-common:vpls" "ietf-vpn-common:l3vpn",
] "ietf-vpn-common:vpls"
]
}
}, },
"network-id": "foo:an-id", "network-id": "foo:an-id",
"node": [ "node": [
{ {
"node-id": "PE1", "node-id": "PE1",
"ietf-sap-ntw:service": [ "ietf-sap-ntw:service": [
{ {
"service-type": "ietf-vpn-common:l3vpn", "service-type": "ietf-vpn-common:l3vpn",
"sap": [ "sap": [
{ {
skipping to change at page 33, line 10 skipping to change at page 33, line 10
Figure 13 shows an example of a message body that is received from Figure 13 shows an example of a message body that is received from
the network controller of AS A (with a focus on the NNIs shown in the network controller of AS A (with a focus on the NNIs shown in
Figure 12). Figure 12).
{ {
"ietf-network:networks": { "ietf-network:networks": {
"network": [ "network": [
{ {
"network-types": { "network-types": {
"service-type": [ "ietf-sap-ntw:sap-network": {
"ietf-vpn-common:l3vpn" "service-type": [
] "ietf-vpn-common:l3vpn"
]
}
}, },
"network-id": "foo:an-id", "network-id": "foo:an-id",
"node": [ "node": [
{ {
"node-id": "asbr-a1", "node-id": "asbr-a1",
"ietf-sap-ntw:service": [ "ietf-sap-ntw:service": [
{ {
"service-type": "ietf-vpn-common:l3vpn", "service-type": "ietf-vpn-common:l3vpn",
"sap": [ "sap": [
{ {
 End of changes. 21 change blocks. 
37 lines changed or deleted 42 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/