draft-ietf-teas-sf-aware-topo-model-04.txt   draft-ietf-teas-sf-aware-topo-model-05.txt 
Network Working Group I. Bryskin Network Working Group I. Bryskin
Internet-Draft Individual Internet-Draft Individual
Intended status: Informational X. Liu Intended status: Informational X. Liu
Expires: May 7, 2020 Volta Networks Expires: September 10, 2020 Volta Networks
Y. Lee Y. Lee
Sung Kyun Kwan University Sung Kyun Kwan University
J. Guichard J. Guichard
Huawei Technologies Huawei Technologies
L. Contreras L. Contreras
Telefonica Telefonica
D. Ceccarelli D. Ceccarelli
Ericsson Ericsson
J. Tantsura J. Tantsura
Apstra Networks Apstra Networks
November 4, 2019 March 9, 2020
SF Aware TE Topology YANG Model SF Aware TE Topology YANG Model
draft-ietf-teas-sf-aware-topo-model-04 draft-ietf-teas-sf-aware-topo-model-05
Abstract Abstract
This document describes a YANG data model for TE network topologies This document describes a YANG data model for TE network topologies
that are network service and function aware. that are network service and function aware.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
skipping to change at page 1, line 42 skipping to change at page 1, line 42
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 May 7, 2020. This Internet-Draft will expire on September 10, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2020 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 Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
skipping to change at page 2, line 24 skipping to change at page 2, line 24
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4
1.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 5 1.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 5
1.3. Prefixes in Data Node Names . . . . . . . . . . . . . . . 6 1.3. Prefixes in Data Node Names . . . . . . . . . . . . . . . 6
2. Modeling Considerations . . . . . . . . . . . . . . . . . . . 6 2. Modeling Considerations . . . . . . . . . . . . . . . . . . . 6
3. SF Aware TE Topology Model Structure . . . . . . . . . . . . 7 3. SF Aware TE Topology Model Structure . . . . . . . . . . . . 7
4. SF Aware TE Topology YANG Module . . . . . . . . . . . . . . 9 4. SF Aware TE Topology YANG Module . . . . . . . . . . . . . . 9
5. CSO Data Center Model Structure . . . . . . . . . . . . . . . 16 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
6. CSO Data Center YANG Module . . . . . . . . . . . . . . . . . 18 6. Security Considerations . . . . . . . . . . . . . . . . . . . 17
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 17
8. Security Considerations . . . . . . . . . . . . . . . . . . . 24 7.1. Normative References . . . . . . . . . . . . . . . . . . 17
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 24 7.2. Informative References . . . . . . . . . . . . . . . . . 19
9.1. Normative References . . . . . . . . . . . . . . . . . . 24
9.2. Informative References . . . . . . . . . . . . . . . . . 26
Appendix A. Companion YANG Model for Non-NMDA Compliant Appendix A. Companion YANG Model for Non-NMDA Compliant
Implementations . . . . . . . . . . . . . . . . . . 27 Implementations . . . . . . . . . . . . . . . . . . 20
A.1. SF Aware TE Topology State Module . . . . . . . . . . . . 27 A.1. SF Aware TE Topology State Module . . . . . . . . . . . . 20
Appendix B. Data Examples . . . . . . . . . . . . . . . . . . . 30 Appendix B. Data Examples . . . . . . . . . . . . . . . . . . . 23
B.1. A Topology with Multiple Connected Network Functions . . 30 B.1. A Topology with Multiple Connected Network Functions . . 23
B.2. A Topology with an Encapsulated Network Service . . . . . 34 B.2. A Topology with an Encapsulated Network Service . . . . . 27
Appendix C. Use Cases for SF Aware Topology Models . . . . . . . 38 Appendix C. Use Cases for SF Aware Topology Models . . . . . . . 31
C.1. Exporting SF/NF Information to Network Clients and Other C.1. Exporting SF/NF Information to Network Clients and Other
Network SDN Controllers . . . . . . . . . . . . . . . . . 38 Network SDN Controllers . . . . . . . . . . . . . . . . . 31
C.2. Flat End-to-end SFCs Managed on Multi-domain Networks . 39 C.2. Flat End-to-end SFCs Managed on Multi-domain Networks . 32
C.3. Managing SFCs with TE Constraints . . . . . . . . . . . . 40 C.3. Managing SFCs with TE Constraints . . . . . . . . . . . . 33
C.4. SFC Protection and Load Balancing . . . . . . . . . . . . 41 C.4. SFC Protection and Load Balancing . . . . . . . . . . . . 34
C.5. Network Clock Synchronization . . . . . . . . . . . . . . 44 C.5. Network Clock Synchronization . . . . . . . . . . . . . . 37
C.6. Client - Provider Network Slicing Interface . . . . . . . 44 C.6. Client - Provider Network Slicing Interface . . . . . . . 37
C.7. Dynamic Assignment of Regenerators for L0 Services . . . 44 C.7. Dynamic Assignment of Regenerators for L0 Services . . . 37
C.8. Dynamic Assignment of OAM Functions for L1 Services . . . 46 C.8. Dynamic Assignment of OAM Functions for L1 Services . . . 39
C.9. SFC Abstraction and Scaling . . . . . . . . . . . . . . . 47 C.9. SFC Abstraction and Scaling . . . . . . . . . . . . . . . 40
C.10. Dynamic Compute/VM/Storage Resource Assignment . . . . . 47 C.10. Dynamic Compute/VM/Storage Resource Assignment . . . . . 40
C.11. Application-aware Resource Operations and Management . . 48 C.11. Application-aware Resource Operations and Management . . 41
C.12. IANA Considerations . . . . . . . . . . . . . . . . . . . 49 C.12. IANA Considerations . . . . . . . . . . . . . . . . . . . 42
C.13. Security Considerations . . . . . . . . . . . . . . . . . 49 C.13. Security Considerations . . . . . . . . . . . . . . . . . 42
C.14. Acknowledgements . . . . . . . . . . . . . . . . . . . . 49 C.14. Acknowledgements . . . . . . . . . . . . . . . . . . . . 42
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 42
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 49
1. Introduction 1. Introduction
RFC Ed.: In this document, please replace all occurrences of 'XXXX' RFC Ed.: In this document, please replace all occurrences of 'XXXX'
with the actual RFC number (and remove this note). with the actual RFC number (and remove this note).
Normally network connectivity services are discussed as a means to Normally network connectivity services are discussed as a means to
inter-connect various abstract or physical network topological inter-connect various abstract or physical network topological
elements, such as ports, link termination points and nodes elements, such as ports, link termination points and nodes
[I-D.ietf-teas-yang-te-topo] [I-D.ietf-teas-yang-te]. However, the [I-D.ietf-teas-yang-te-topo] [I-D.ietf-teas-yang-te]. However, the
skipping to change at page 16, line 24 skipping to change at page 16, line 24
path "../../../../../../../nt:termination-point/" path "../../../../../../../nt:termination-point/"
+ "nt:tp-id"; + "nt:tp-id";
} }
description description
"Reference to the link termination point."; "Reference to the link termination point.";
} }
} }
} }
<CODE ENDS> <CODE ENDS>
5. CSO Data Center Model Structure 5. IANA Considerations
module: ietf-cso-dc
+--rw cso
+--rw dc* [id]
| +--rw hypervisor* [id]
| | +--rw ram
| | | +--rw total? uint32
| | | +--rw used? uint32
| | | +--rw free? uint32
| | +--rw disk
| | | +--rw total? uint32
| | | +--rw used? uint32
| | | +--rw free? uint32
| | +--rw vcpu
| | | +--rw total? uint16
| | | +--rw used? uint16
| | | +--rw free? uint16
| | +--rw instance* -> /cso/dc/instance/id
| | +--rw id string
| | +--rw name? string
| +--rw instance* [id]
| | +--rw flavor
| | | +--rw disk? uint32
| | | +--rw ram? uint32
| | | +--rw vcpus? uint16
| | | +--rw id? string
| | | +--rw name? string
| | +--rw image
| | | +--rw checksum string
| | | +--rw size uint32
| | | +--rw format
| | | | +--rw container? enumeration
| | | | +--rw disk? enumeration
| | | +--rw id? string
| | | +--rw name? string
| | +--rw hypervisor? -> /cso/dc/hypervisor/id
| | +--rw port* -> /cso/dc/network/subnetwork/port
/id
| | +--rw project? string
| | +--rw status? enumeration
| | +--rw id string
| | +--rw name? string
| +--rw image* [id]
| | +--rw checksum string
| | +--rw size uint32
| | +--rw format
| | | +--rw container? enumeration
| | | +--rw disk? enumeration
| | +--rw id string
| | +--rw name? string
| +--rw flavor* [id]
| | +--rw disk? uint32
| | +--rw ram? uint32
| | +--rw vcpus? uint16
| | +--rw id string
| | +--rw name? string
| +--rw dc-monitoring-param* [name]
| | +--rw name string
| | +--rw value-string? string
| +--rw network* [id]
| | +--rw subnetwork* [id]
| | | +--rw port* [id]
| | | | +--rw ip-address? inet:ip-address
| | | | +--rw instance? -> /cso/dc/instance/id
| | | | +--rw project? string
| | | | +--rw status? enumeration
| | | | +--rw id string
| | | | +--rw name? string
| | | +--rw project? string
| | | +--rw status? enumeration
| | | +--rw id string
| | | +--rw name? string
| | +--rw dhcp-agent* [id]
| | | +--rw enabled? boolean
| | | +--rw pools* [ip-address]
| | | | +--rw ip-address inet:ip-address
| | | +--rw project? string
| | | +--rw status? enumeration
| | | +--rw id string
| | | +--rw name? string
| | +--rw project? string
| | +--rw status? enumeration
| | +--rw id string
| | +--rw name? string
| | +--rw cso-ref? -> /cso/cso-id
| +--rw ap* -> /actn-vn:actn/ap
/access-point-list/access-point-id
| +--rw cso-ref? -> /cso/cso-id
| +--rw id string
| +--rw name? string
+--rw cso-id? string
6. CSO Data Center YANG Module
<CODE BEGINS> file "ietf-cso-dc@2017-01-16.yang"
module ietf-cso-dc
{
namespace "urn:ietf:params:xml:ns:yang:ietf-cso-dc";
prefix "dc";
import ietf-inet-types {
prefix "inet";
}
import ietf-actn-vn {
prefix "actn-vn";
}
revision 2017-01-16 {
description
"Initial revision. This YANG file defines
the reusable base types for CSO DC description.";
reference
"Derived from earlier versions of base YANG files";
}
// Abstract models
grouping resource-element {
leaf id { type string; }
leaf name { type string; }
}
grouping resource-instance {
leaf project{ type string; }
leaf status {
type enumeration {
enum active;
enum inactive;
enum pending;
}
}
uses resource-element;
}
// Compute models
grouping format {
leaf container {
type enumeration {
enum ami;
enum ari;
enum aki;
enum bare;
enum ovf;
}
default bare;
}
leaf disk {
type enumeration {
enum ami;
enum ari;
enum aki;
enum vhd;
enum vmdk;
enum raw;
enum qcow2;
enum vdi;
enum iso;
}
default qcow2;
}
}
grouping image {
leaf checksum { type string; mandatory true; }
leaf size { type uint32; units 'Bytes'; mandatory true; }
container format {
uses format;
}
uses resource-element;
}
grouping flavor {
leaf disk { type uint32; units 'GB'; default 0; }
leaf ram { type uint32; units 'MB'; default 0; }
leaf vcpus { type uint16; default 0; }
uses resource-element;
}
grouping ram {
leaf total { type uint32; units 'MB'; }
leaf used { type uint32; units 'MB'; }
leaf free { type uint32; units 'MB'; }
}
grouping disk {
leaf total { type uint32; units 'GB'; }
leaf used { type uint32; units 'GB'; }
leaf free { type uint32; units 'GB'; }
}
grouping vcpu {
leaf total { type uint16; }
leaf used { type uint16; }
leaf free { type uint16; }
}
grouping hypervisor {
container ram {
uses ram;
}
container disk {
uses disk;
}
container vcpu {
uses vcpu;
}
leaf-list instance {
type leafref { path '/cso/dc/instance/id'; } }
uses resource-element;
}
grouping instance {
container flavor { uses flavor; }
container image { uses image; }
leaf hypervisor {
type leafref { path '/cso/dc/hypervisor/id'; } }
leaf-list port { type leafref {
path '/cso/dc/network/subnetwork/port/id'; } }
uses resource-instance;
}
grouping dc-monitoring-param {
leaf name {
description "dc-monitoring-param identifier"; type string; }
leaf value-string {
description
"Current value for a string parameter";
type string;
}
}
grouping dc {
list hypervisor {
key id;
uses hypervisor;
}
list instance {
key id;
uses instance;
}
list image {
key id;
uses image;
}
list flavor {
key id;
uses flavor;
}
list dc-monitoring-param {
key "name";
uses dc-monitoring-param;
}
list network {
key id;
uses network;
}
leaf-list ap { type leafref {
path
'/actn-vn:actn/actn-vn:ap/actn-vn:access-point-list/'
+ 'actn-vn:access-point-id';
}
}
leaf cso-ref { type leafref { path "/cso/cso-id"; } }
uses resource-element;
}
container cso {
list dc {
key id;
uses dc;
}
leaf cso-id { type string; }
}
// Network models
grouping ip-address {
leaf ip-address { type inet:ip-address; }
}
grouping dhcp-agent {
leaf enabled { type boolean; }
list pools {
key ip-address;
uses ip-address;
}
uses resource-instance;
}
grouping network {
list subnetwork {
key id;
uses subnetwork;
}
list dhcp-agent {
key id;
uses dhcp-agent;
}
uses resource-instance;
leaf cso-ref { type leafref { path "/cso/cso-id"; } }
}
grouping subnetwork {
list port {
key id;
uses port;
}
uses resource-instance;
}
grouping port {
leaf ip-address { type inet:ip-address; }
leaf instance { type leafref { path '/cso/dc/instance/id'; } }
uses resource-instance;
}
}
<CODE ENDS>
7. IANA Considerations
This document registers the following namespace URIs in the IETF XML This document registers the following namespace URIs in the IETF XML
registry [RFC3688]: registry [RFC3688]:
-------------------------------------------------------------------- --------------------------------------------------------------------
URI: urn:ietf:params:xml:ns:yang:ietf-te-topology-sf URI: urn:ietf:params:xml:ns:yang:ietf-te-topology-sf
Registrant Contact: The IESG. Registrant Contact: The IESG.
XML: N/A, the requested URI is an XML namespace. XML: N/A, the requested URI is an XML namespace.
-------------------------------------------------------------------- --------------------------------------------------------------------
skipping to change at page 24, line 11 skipping to change at page 17, line 4
This document registers the following YANG modules in the YANG Module This document registers the following YANG modules in the YANG Module
Names registry [RFC6020]: Names registry [RFC6020]:
-------------------------------------------------------------------- --------------------------------------------------------------------
name: ietf-te-topology-sf name: ietf-te-topology-sf
namespace: urn:ietf:params:xml:ns:yang:ietf-te-topology-packet namespace: urn:ietf:params:xml:ns:yang:ietf-te-topology-packet
prefix: tet-sf prefix: tet-sf
reference: RFC XXXX reference: RFC XXXX
-------------------------------------------------------------------- --------------------------------------------------------------------
-------------------------------------------------------------------- --------------------------------------------------------------------
name: ietf-te-topology-sf-state name: ietf-te-topology-sf-state
namespace: urn:ietf:params:xml:ns:yang:ietf-te-topology-packet-state namespace: urn:ietf:params:xml:ns:yang:ietf-te-topology-packet-state
prefix: tet-sf-s prefix: tet-sf-s
reference: RFC XXXX reference: RFC XXXX
-------------------------------------------------------------------- --------------------------------------------------------------------
8. Security Considerations 6. Security Considerations
The configuration, state, action and notification data defined in The configuration, state, action and notification data defined in
this document are designed to be accessed via the NETCONF protocol this document are designed to be accessed via the NETCONF protocol
[RFC6241]. The data-model by itself does not create any security [RFC6241]. The data-model by itself does not create any security
implications. The security considerations for the NETCONF protocol implications. The security considerations for the NETCONF protocol
are applicable. The NETCONF protocol used for sending the data are applicable. The NETCONF protocol used for sending the data
supports authentication and encryption. supports authentication and encryption.
9. References 7. References
9.1. Normative References 7.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,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[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>.
skipping to change at page 25, line 42 skipping to change at page 18, line 34
[I-D.ietf-teas-yang-te] [I-D.ietf-teas-yang-te]
Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin,
"A YANG Data Model for Traffic Engineering Tunnels and "A YANG Data Model for Traffic Engineering Tunnels and
Interfaces", draft-ietf-teas-yang-te-22 (work in Interfaces", draft-ietf-teas-yang-te-22 (work in
progress), November 2019. progress), November 2019.
[I-D.ietf-teas-actn-vn-yang] [I-D.ietf-teas-actn-vn-yang]
Lee, Y., Dhody, D., Ceccarelli, D., Bryskin, I., and B. Lee, Y., Dhody, D., Ceccarelli, D., Bryskin, I., and B.
Yoon, "A Yang Data Model for VN Operation", draft-ietf- Yoon, "A Yang Data Model for VN Operation", draft-ietf-
teas-actn-vn-yang-07 (work in progress), October 2019. teas-actn-vn-yang-08 (work in progress), March 2020.
[ETSI-NFV-MAN] [ETSI-NFV-MAN]
ETSI, "Network Functions Virtualisation (NFV); Management ETSI, "Network Functions Virtualisation (NFV); Management
and Orchestration", ETSI GS NFV-MAN 001 V1.1.1, December and Orchestration", ETSI GS NFV-MAN 001 V1.1.1, December
2014. 2014.
[ETSI-NFV-TERM] [ETSI-NFV-TERM]
ETSI, "Network Functions Virtualisation (NFV); Terminology ETSI, "Network Functions Virtualisation (NFV); Terminology
for Main Concepts in NFV", ETSI GS NFV 003 V1.2.1, for Main Concepts in NFV", ETSI GS NFV 003 V1.2.1,
December 2014. December 2014.
skipping to change at page 26, line 36 skipping to change at page 19, line 31
Foy, X. and A. Rahman, "Network Slicing - 3GPP Use Case", Foy, X. and A. Rahman, "Network Slicing - 3GPP Use Case",
draft-defoy-netslices-3gpp-network-slicing-02 (work in draft-defoy-netslices-3gpp-network-slicing-02 (work in
progress), October 2017. progress), October 2017.
[_3GPP.28.801] [_3GPP.28.801]
3GPP, "Study on management and orchestration of network 3GPP, "Study on management and orchestration of network
slicing for next generation network", 3GPP TR 28.801 slicing for next generation network", 3GPP TR 28.801
V2.0.0, September 2017, V2.0.0, September 2017,
<http://www.3gpp.org/ftp/Specs/html-info/28801.htm>. <http://www.3gpp.org/ftp/Specs/html-info/28801.htm>.
9.2. Informative References 7.2. Informative References
[RFC7498] Quinn, P., Ed. and T. Nadeau, Ed., "Problem Statement for [RFC7498] Quinn, P., Ed. and T. Nadeau, Ed., "Problem Statement for
Service Function Chaining", RFC 7498, Service Function Chaining", RFC 7498,
DOI 10.17487/RFC7498, April 2015, DOI 10.17487/RFC7498, April 2015,
<https://www.rfc-editor.org/info/rfc7498>. <https://www.rfc-editor.org/info/rfc7498>.
[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>.
 End of changes. 15 change blocks. 
375 lines changed or deleted 37 lines changed or added

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