< draft-ietf-teas-sf-aware-topo-model-07.txt   draft-ietf-teas-sf-aware-topo-model-08.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: August 25, 2021 Volta Networks Expires: January 10, 2022 Volta Networks
Y. Lee Y. Lee
Samsung Electronics Samsung Electronics
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
D. Shytyi D. Shytyi
SFR SFR
February 21, 2021 July 9, 2021
SF Aware TE Topology YANG Model SF Aware TE Topology YANG Model
draft-ietf-teas-sf-aware-topo-model-07 draft-ietf-teas-sf-aware-topo-model-08
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 44 skipping to change at page 1, line 44
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 August 25, 2021. This Internet-Draft will expire on January 10, 2022.
Copyright Notice Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the Copyright (c) 2021 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
skipping to change at page 2, line 29 skipping to change at page 2, line 29
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. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19
6. Security Considerations . . . . . . . . . . . . . . . . . . . 17 6. Security Considerations . . . . . . . . . . . . . . . . . . . 20
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 18 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 21
7.1. Normative References . . . . . . . . . . . . . . . . . . 18 7.1. Normative References . . . . . . . . . . . . . . . . . . 21
7.2. Informative References . . . . . . . . . . . . . . . . . 21 7.2. Informative References . . . . . . . . . . . . . . . . . 24
Appendix A. Companion YANG Model for Non-NMDA Compliant Appendix A. Companion YANG Model for Non-NMDA Compliant
Implementations . . . . . . . . . . . . . . . . . . 22 Implementations . . . . . . . . . . . . . . . . . . 26
A.1. SF Aware TE Topology State Module . . . . . . . . . . . . 22 A.1. SF Aware TE Topology State Module . . . . . . . . . . . . 26
Appendix B. Data Examples . . . . . . . . . . . . . . . . . . . 25 Appendix B. Data Examples . . . . . . . . . . . . . . . . . . . 29
B.1. A Topology with Multiple Connected Network Functions . . 25 B.1. A Topology with Multiple Connected Network Functions . . 29
B.2. A Topology with an Encapsulated Network Service . . . . . 29 B.2. A Topology with an Encapsulated Network Service . . . . . 33
Appendix C. Use Cases for SF Aware Topology Models . . . . . . . 33 Appendix C. Use Cases for SF Aware Topology Models . . . . . . . 37
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 . . . . . . . . . . . . . . . . . 33 Network SDN Controllers . . . . . . . . . . . . . . . . . 37
C.2. Flat End-to-end SFCs Managed on Multi-domain Networks . 34 C.2. Flat End-to-end SFCs Managed on Multi-domain Networks . 38
C.3. Managing SFCs with TE Constraints . . . . . . . . . . . . 35 C.3. Managing SFCs with TE Constraints . . . . . . . . . . . . 39
C.4. SFC Protection and Load Balancing . . . . . . . . . . . . 36 C.4. SFC Protection and Load Balancing . . . . . . . . . . . . 40
C.5. Network Clock Synchronization . . . . . . . . . . . . . . 39 C.5. Network Clock Synchronization . . . . . . . . . . . . . . 43
C.6. Client - Provider Network Slicing Interface . . . . . . . 39 C.6. Client - Provider Network Slicing Interface . . . . . . . 43
C.7. Dynamic Assignment of Regenerators for L0 Services . . . 39 C.7. Dynamic Assignment of Regenerators for L0 Services . . . 43
C.8. Dynamic Assignment of OAM Functions for L1 Services . . . 41 C.8. Dynamic Assignment of OAM Functions for L1 Services . . . 45
C.9. SFC Abstraction and Scaling . . . . . . . . . . . . . . . 42 C.9. SFC Abstraction and Scaling . . . . . . . . . . . . . . . 46
C.10. Dynamic Compute/VM/Storage Resource Assignment . . . . . 42 C.10. Dynamic Compute/VM/Storage Resource Assignment . . . . . 46
C.11. Application-aware Resource Operations and Management . . 43 C.11. Application-aware Resource Operations and Management . . 47
C.12. Interconnection between Service Functions/Termination C.12. Interconnection between Service Functions/Termination
Points in uCPE . . . . . . . . . . . . . . . . . . . . . 44 Points in uCPE . . . . . . . . . . . . . . . . . . . . . 48
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 51 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 55
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 51 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 55
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 [RFC8795] elements, such as ports, link termination points and nodes [RFC8795]
[I-D.ietf-teas-yang-te]. However, the connectivity services, [I-D.ietf-teas-yang-te]. However, the connectivity services,
skipping to change at page 6, line 13 skipping to change at page 6, line 13
in this document, by using the tree format defined in [RFC8340]. in this document, by using the tree format defined in [RFC8340].
1.3. Prefixes in Data Node Names 1.3. Prefixes in Data Node Names
In this document, names of data nodes, actions, and other data model In this document, names of data nodes, actions, and other data model
objects are often used without a prefix, as long as it is clear from objects are often used without a prefix, as long as it is clear from
the context in which YANG module each name is defined. Otherwise, the context in which YANG module each name is defined. Otherwise,
names are prefixed using the standard prefix associated with the names are prefixed using the standard prefix associated with the
corresponding YANG module, as shown in Table 1. corresponding YANG module, as shown in Table 1.
+---------+------------------+------------------------------+ +----------+------------------+------------------------------+
| Prefix | YANG module | Reference | | Prefix | YANG module | Reference |
+---------+------------------+------------------------------+ +----------+------------------+------------------------------+
| inet | ietf-inet-types | [RFC6991] | | inet | ietf-inet-types | [RFC6991] |
| nw | ietf-network | [RFC8345] | | nw | ietf-network | [RFC8345] |
| nt | ietf-network- | [RFC8345] | | nt | ietf-network- | [RFC8345] |
| | topology | | | | topology | |
| tet | ietf-te-topology | [RFC8795] | | te-types | ietf-te-types | [RFC8776] |
| actn-vn | ietf-actn-vn | [I-D.ietf-teas-actn-vn-yang] | | tet | ietf-te-topology | [RFC8795] |
+---------+------------------+------------------------------+ | actn-vn | ietf-actn-vn | [I-D.ietf-teas-actn-vn-yang] |
+----------+------------------+------------------------------+
Table 1: Prefixes and Corresponding YANG Modules Table 1: Prefixes and Corresponding YANG Modules
2. Modeling Considerations 2. Modeling Considerations
The model introduced in this document is an augmentation of the TE The model introduced in this document is an augmentation of the TE
Topology model defined in [RFC8795]. SFs are modeled as child Topology model defined in [RFC8795]. SFs are modeled as child
elements of a TE node similarly to how Link Termination Points (LTPs) elements of a TE node similarly to how Link Termination Points (LTPs)
and Tunnel Termination Points (TTPs) are modeled in the TE Topology and Tunnel Termination Points (TTPs) are modeled in the TE Topology
model. The SFs are defined as opaque objects identified via topology model. The SFs are defined as opaque objects identified via topology
unique service-function-id's. Each SF has one or more Connection unique service-function-id's. Each SF has one or more Connection
Points (CPs) identified via SF-unique sf-connection-point-id's, over Points (CPs) identified via SF-unique sf-connection-point-id's, over
which the SF could be connected to other SFs resided on the same TE which the SF could be connected to other SFs resided on the same TE
node, as well as to other elements of the TE node, in particular, to node, as well as to other elements of the TE node, in particular, to
the node's LTPs and/or TTPs. An interested client may use service- the node's LTPs and/or TTPs. An interested client may use service-
function-id's to look up the SFs in TOSCA or YANG data store(s) function-id's to look up the SFs in TOSCA or YANG data store(s)
defined by [ETSI-NFV-MAN] to retrieve the details of the SFs, for defined by [ETSI-NFV-YANG] to retrieve the details of the SFs, for
example, to understand the SF's mutual substitutability. example, to understand the SF's mutual substitutability.
The TE Topology model introduces a concept of Connectivity Matrix The TE Topology model introduces a concept of Connectivity Matrix
(CM), and uses the CM to describe which and at what costs a TE node's (CM), and uses the CM to describe which and at what costs a TE node's
LTPs could be inter-connected internally across the TE node. The LTPs could be inter-connected internally across the TE node. The
model defined in this document heavily uses the same concept to model defined in this document heavily uses the same concept to
describe the SF connectivity via introducing 3 additional CMs: describe the SF connectivity via introducing 3 additional CMs:
1. SF2SF CM (SF to SF Connectivity Matrix). This CM describes which 1. SF2SF CM (SF to SF Connectivity Matrix). This CM describes which
pairs of SFs could be locally inter-connected, and, if yes, in pairs of SFs could be locally inter-connected, and, if yes, in
skipping to change at page 7, line 21 skipping to change at page 7, line 21
ends of corresponding TE links; ends of corresponding TE links;
3. SF2TTP CM (SF to TTP Connectivity Matrix). This CM describes 3. SF2TTP CM (SF to TTP Connectivity Matrix). This CM describes
how, in which direction and at what costs the TE node's SFs could how, in which direction and at what costs the TE node's SFs could
be connected to the TE node's TTPs and hence to SFs residing on be connected to the TE node's TTPs and hence to SFs residing on
other TE nodes on the topology that could be inter-connected with other TE nodes on the topology that could be inter-connected with
the TE node in question via TE tunnels terminated by the the TE node in question via TE tunnels terminated by the
corresponding TTPs. corresponding TTPs.
In addition to SF2SF CM, the local SF chaining could be described In addition to SF2SF CM, the local SF chaining could be described
with the help of ETSI models Virtual Links (VLs) [ETSI-NFV-MAN]. with the help of ETSI models Virtual Links (VLs) [ETSI-NFV-YANG].
This option is especially useful when the costs of the local chaining This option is especially useful when the costs of the local chaining
are negligible as compared to ones of the end-to-end SFCs said local are negligible as compared to ones of the end-to-end SFCs said local
SFCs are part of. SFCs are part of.
Section 3 and 4 provide the YANG model structure and the YANG module Section 3 and 4 provide the YANG model structure and the YANG module
for SF-aware Topology. Section 5 and 6 provide the YANG model for SF-aware Topology. Section 5 and 6 provide the YANG model
structure and the YANG module for Data Center Compute Node resource structure and the YANG module for Data Center Compute Node resource
abstraction. This provides an example of SF2LTP CM where DC compute abstraction. This provides an example of SF2LTP CM where DC compute
nodes are connected to LTPs at the remote ends of the corresponding nodes are connected to LTPs at the remote ends of the corresponding
TE links. This use-case is described in Section 10 of Appendix C. TE links. This use-case is described in Section 10 of Appendix C.
3. SF Aware TE Topology Model Structure 3. SF Aware TE Topology Model Structure
module: ietf-te-topology-sf module: ietf-te-topology-sf
augment /nw:networks/nw:network/nw:network-types/tet:te-topology: augment /nw:networks/nw:network/nw:network-types/tet:te-topology:
+--rw sf! +--rw sf!
augment /nw:networks/nw:network/nw:node/tet:te augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes: /tet:te-node-attributes:
+--rw service-function +--rw service-function
+--rw connectivity-matrices +--rw connectivity-matrices
| +--rw connectivity-matrix* [id] | +--rw connectivity-matrix* [id]
| +--rw id uint32 | +--rw id uint32
| +--rw from | +--rw from
| | +--rw service-function-id? string | | +--rw service-function-id? string
| | +--rw sf-connection-point-id? string | | +--rw sf-connection-point-id? string
| +--rw to | +--rw to
| | +--rw service-function-id? string | | +--rw service-function-id? string
| | +--rw sf-connection-point-id? string | | +--rw sf-connection-point-id? string
| +--rw enabled? boolean | +--rw enabled? boolean
| +--rw direction? connectivity-direction | +--rw direction? connectivity-direction
| +--rw virtual-link-id? string | +--rw virtual-link-id? string
+--rw link-terminations +--rw link-terminations
+--rw link-termination* [id] +--rw link-termination* [id]
+--rw id uint32 +--rw id uint32
+--rw from +--rw from
| +--rw tp-ref? -> ../../../../../../.. | +--rw tp-ref? leafref
/nt:termination-point/tp-id
+--rw to +--rw to
| +--rw service-function-id? string | +--rw service-function-id? string
| +--rw sf-connection-point-id? string | +--rw sf-connection-point-id? string
+--rw enabled? boolean +--rw enabled? boolean
+--rw direction? connectivity-direction +--rw direction? connectivity-direction
augment /nw:networks/nw:network/nw:node/tet:te augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry: /tet:information-source-entry:
+--ro service-function +--ro service-function
+--ro connectivity-matrices +--ro connectivity-matrices
| +--ro connectivity-matrix* [id] | +--ro connectivity-matrix* [id]
| +--ro id uint32 | +--ro id uint32
| +--ro from | +--ro from
| | +--ro service-function-id? string | | +--ro service-function-id? string
| | +--ro sf-connection-point-id? string | | +--ro sf-connection-point-id? string
| +--ro to | +--ro to
| | +--ro service-function-id? string | | +--ro service-function-id? string
| | +--ro sf-connection-point-id? string | | +--ro sf-connection-point-id? string
skipping to change at page 8, line 41 skipping to change at page 8, line 42
+--ro link-terminations +--ro link-terminations
+--ro link-termination* [id] +--ro link-termination* [id]
+--ro id uint32 +--ro id uint32
+--ro from +--ro from
+--ro to +--ro to
| +--ro service-function-id? string | +--ro service-function-id? string
| +--ro sf-connection-point-id? string | +--ro sf-connection-point-id? string
+--ro enabled? boolean +--ro enabled? boolean
+--ro direction? connectivity-direction +--ro direction? connectivity-direction
augment /nw:networks/nw:network/nw:node/tet:te augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point: /tet:tunnel-termination-point:
+--rw service-function +--rw service-function
+--rw tunnel-terminations +--rw tunnel-terminations
+--rw tunnel-termination* [id] +--rw tunnel-termination* [id]
+--rw id uint32 +--rw id uint32
+--rw service-function-id? string +--rw service-function-id? string
+--rw sf-connection-point-id? string +--rw sf-connection-point-id? string
+--rw enabled? boolean +--rw enabled? boolean
+--rw direction? connectivity-direction +--rw direction? connectivity-direction
augment /nw:networks/nw:network/nw:node:
+--rw service-functions
+--rw service-function* [id]
+--rw id string
+--rw type? identityref
+--rw te-metric? te-types:te-metric
+--rw priority? uint8
+--rw connection-points
+--rw connection-point* [id]
+--rw id string
+--rw type? identityref
4. SF Aware TE Topology YANG Module 4. SF Aware TE Topology YANG Module
<CODE BEGINS> file "ietf-te-topology-sf@2021-02-15.yang" This module references [RFC7665], [RFC8345], [RFC8776], [RFC8795],
[ETSI-NFV-YANG], and [ETSI-NFV-PACKAGE].
<CODE BEGINS> file "ietf-te-topology-sf@2021-06-28.yang"
module ietf-te-topology-sf { module ietf-te-topology-sf {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology-sf"; namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology-sf";
prefix "tet-sf"; prefix "tet-sf";
import ietf-network { import ietf-network {
prefix "nw"; prefix "nw";
reference reference
"RFC 8345: A YANG Data Model for Network Topologies"; "RFC 8345: A YANG Data Model for Network Topologies";
skipping to change at page 9, line 33 skipping to change at page 9, line 47
"RFC 8345: A YANG Data Model for Network Topologies"; "RFC 8345: A YANG Data Model for Network Topologies";
} }
import ietf-te-topology { import ietf-te-topology {
prefix "tet"; prefix "tet";
reference reference
"RFC 8795: YANG Data Model for Traffic Engineering (TE) "RFC 8795: YANG Data Model for Traffic Engineering (TE)
Topologies"; Topologies";
} }
import ietf-te-types {
prefix "te-types";
reference
"RFC8776: Common YANG Data Types for Traffic Engineering.";
}
organization organization
"Traffic Engineering Architecture and Signaling (TEAS) "Traffic Engineering Architecture and Signaling (TEAS)
Working Group"; Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/teas/> "WG Web: <http://tools.ietf.org/wg/teas/>
WG List: <mailto:teas@ietf.org> WG List: <mailto:teas@ietf.org>
Editors: Igor Bryskin Editors: Igor Bryskin
<mailto:Igor.Bryskin@huawei.com> <mailto:Igor.Bryskin@huawei.com>
skipping to change at page 10, line 15 skipping to change at page 10, line 37
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 to without modification, is permitted pursuant to, and subject to
the license terms contained in, the Simplified BSD License set the license terms contained in, the Simplified 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
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see the This version of this YANG module is part of RFC XXXX; see the
RFC itself for full legal notices."; RFC itself for full legal notices.";
revision 2021-02-15 { revision 2021-06-28 {
description "Initial revision"; description "Initial revision";
reference "RFC XXXX: SF Aware TE Topology YANG Model"; reference "RFC XXXX: SF Aware TE Topology YANG Model";
} }
/* /*
* Identities
*/
identity sf-type {
description
"Base identity from which all service function types are
derived. The definitions of the derived identities are
left to the implementation. An example can be 'firewall'.";
}
identity cp-type {
description
"Base identity from which all connection point types are
derived. The definitions of the derived identities are
left to the implementation. Examples can be 'ethernet',
'mpls', or 'ipv4'.";
}
/*
* Typedefs * Typedefs
*/ */
typedef connectivity-direction { typedef connectivity-direction {
type enumeration { type enumeration {
enum "to" { enum "to" {
description description
"The direction is uni-directional, towards the 'to' "The direction is uni-directional, towards the 'to'
entity direction."; entity direction.";
} }
enum "from" { enum "from" {
skipping to change at page 11, line 14 skipping to change at page 12, line 6
aware."; aware.";
container service-function { container service-function {
description description
"Containing attributes related to network services and "Containing attributes related to network services and
network functions"; network functions";
container connectivity-matrices { container connectivity-matrices {
description description
"Connectivity relations between network services/functions "Connectivity relations between network services/functions
on a TE node, which can be either abstract or physical."; on a TE node, which can be either abstract or physical.";
reference reference
"ETSI GS NFV-SOL 006: Network Functions Virtualisation "ETSI-NFV-YANG: ETSI GS NFV-SOL 006:
(NFV) Release 3; Protocols and Data Models; Network Functions Virtualisation (NFV) Release 3;
Protocols and Data Models;
NFV descriptors based on YANG specification. NFV descriptors based on YANG specification.
RFC7665: Service Function Chaining (SFC) Architecture."; RFC7665: Service Function Chaining (SFC) Architecture.";
list connectivity-matrix { list connectivity-matrix {
key "id"; key "id";
description description
"Represents the connectivity relations between network "Represents the connectivity relations between network
services/functions on a TE node."; services/functions on a TE node.";
leaf id { leaf id {
type uint32; type uint32;
description "Identifies the connectivity-matrix entry."; description "Identifies the connectivity-matrix entry.";
skipping to change at page 12, line 43 skipping to change at page 13, line 36
} }
} // connectivity-matrix } // connectivity-matrix
} // connectivity-matrices } // connectivity-matrices
container link-terminations { container link-terminations {
description description
"Connectivity relations between network services/functions "Connectivity relations between network services/functions
and link termination points on a TE node, which can be and link termination points on a TE node, which can be
either abstract or physical."; either abstract or physical.";
reference reference
"ETSI GS NFV-SOL 006: Network Functions Virtualisation "ETSI-NFV-YANG: ETSI GS NFV-SOL 006:
(NFV) Release 3; Protocols and Data Models; Network Functions Virtualisation (NFV) Release 3;
Protocols and Data Models;
NFV descriptors based on YANG specification. NFV descriptors based on YANG specification.
RFC7665: Service Function Chaining (SFC) Architecture."; RFC7665: Service Function Chaining (SFC) Architecture.";
list link-termination { list link-termination {
key "id"; key "id";
description description
"Each entry of the list represents the connectivity "Each entry of the list represents the connectivity
relation between a network service/function and relation between a network service/function and
a link termination point on a TE node."; a link termination point on a TE node.";
leaf id { leaf id {
type uint32; type uint32;
skipping to change at page 14, line 15 skipping to change at page 15, line 9
container service-function { container service-function {
description description
"Containing attributes related to network services and "Containing attributes related to network services and
network functions"; network functions";
container tunnel-terminations { container tunnel-terminations {
description description
"Connectivity relations between network services/functions "Connectivity relations between network services/functions
and tunnel termination points on a TE node, which can be and tunnel termination points on a TE node, which can be
either abstract or physical."; either abstract or physical.";
reference reference
"ETSI GS NFV-SOL 006: Network Functions Virtualisation "ETSI-NFV-YANG: ETSI GS NFV-SOL 006:
(NFV) Release 3; Protocols and Data Models; Network Functions Virtualisation (NFV) Release 3;
Protocols and Data Models;
NFV descriptors based on YANG specification. NFV descriptors based on YANG specification.
RFC7665: Service Function Chaining (SFC) Architecture."; RFC7665: Service Function Chaining (SFC) Architecture.";
list tunnel-termination { list tunnel-termination {
key "id"; key "id";
description description
"Each entry of the list represents the connectivity "Each entry of the list represents the connectivity
relation between a network service/function and relation between a network service/function and
a tunnel termination point on a TE node."; a tunnel termination point on a TE node.";
leaf id { leaf id {
type uint32; type uint32;
skipping to change at page 16, line 25 skipping to change at page 17, line 20
This portion cannot be shared with the state module."; This portion cannot be shared with the state module.";
leaf tp-ref { leaf tp-ref {
type leafref { type leafref {
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.";
} }
} }
/* Augmentations to node */
augment "/nw:networks/nw:network/nw:node" {
description
"Available service functions on the node.";
container service-functions {
description
"Containing the service functions that are available on this
node. Any of these service functions can be referenced
and enabled in te-node-attributes";
list service-function {
key "id";
description
"A list of service functions on this node.";
leaf id {
type string;
description "Identifies the service function.";
}
leaf type {
type identityref {
base "sf-type";
}
description
"The service function type, such as 'firewall'.
The parameters of each service function type are not
specified in this model, and may be speficied by other
models such as the one defined by ETSI GS NFV-IFA 011.";
reference
"ETSI-NFV-PACKAGE: ETSI GS NFV-IFA 011:
Network Functions Virtualisation (NFV) Release 4;
Management and Orchestration;
VNF Descriptor and Packaging Specification.";
}
leaf te-metric {
type te-types:te-metric;
description
"Specifies the TE (Traffic Engineering) metric for this
service function. The server uses this value as a
preference of selecting the given service function
instance.";
}
leaf priority {
type uint8;
default 0;
description
"Specifies the priority level at which the service
function instance is available.
A lower number indicates a higher priority. The highest
priority is 0.";
}
container connection-points {
description
"Containing the connection points that are available on
this service function.
node. Any of these connection points can be referenced
and enabled in te-node-attributes";
list connection-point {
key "id";
description
"A list of connection points on this node.";
leaf id {
type string;
description "Identifies the connection point.";
}
leaf type {
type identityref {
base "cp-type";
}
description
"The connection point type, such as 'ethernet',
'mpls', or 'ipv4'.
The parameters of each service function type are not
specified in this model, and may be speficied by
other models such as the one defined by ETSI GS
NFV-IFA 011.";
reference
"ETSI-NFV-PACKAGE: ETSI GS NFV-IFA 011:
Network Functions Virtualisation (NFV) Release 4;
Management and Orchestration;
VNF Descriptor and Packaging Specification.";
}
}
}
}
}
}
} }
<CODE ENDS> <CODE ENDS>
5. IANA Considerations 5. 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
skipping to change at page 18, line 16 skipping to change at page 20, line 51
/nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination-point/ /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination-point/
service-function service-function
This subtree specifies the configurations of service functions on This subtree specifies the configurations of service functions on
a tunnel-termination-point in SF Aware TE nodes. Modifying the a tunnel-termination-point in SF Aware TE nodes. Modifying the
configurations in this subtree can change the configurations of configurations in this subtree can change the configurations of
service functions on the spcified tunnel-termination-point in the service functions on the spcified tunnel-termination-point in the
specified node, causing these service functions disabled or specified node, causing these service functions disabled or
misbehaving. misbehaving.
/nw:networks/nw:network/nw:node/service-functions
This subtree specifies the available service functions in SF Aware
TE nodes. Modifying the configurations in this subtree can change
the configurations of the available service functions in the
specified node, causing these service functions disabled or
misbehaving in the specified node.
Some of the readable data nodes in this YANG module may be considered Some of the readable data nodes in this YANG module may be considered
sensitive or vulnerable in some network environments. It is thus sensitive or vulnerable in some network environments. It is thus
important to control read access (e.g., via get, get-config, or important to control read access (e.g., via get, get-config, or
notification) to these data nodes. These are the subtrees and data notification) to these data nodes. These are the subtrees and data
nodes and their sensitivity/vulnerability: nodes and their sensitivity/vulnerability:
/nw:networks/nw:network/nw:network-types/tet:te-topology/sf /nw:networks/nw:network/nw:network-types/tet:te-topology/sf
Unauthorized access to this subtree can disclose the SF Aware TE Unauthorized access to this subtree can disclose the SF Aware TE
topology type. topology type.
skipping to change at page 18, line 44 skipping to change at page 21, line 38
Unauthorized access to this subtree can disclose the operational Unauthorized access to this subtree can disclose the operational
state information of the service functions in the specified SF state information of the service functions in the specified SF
Aware TE node. Aware TE node.
/nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination-point/ /nw:networks/nw:network/nw:node/tet:te/tet:tunnel-termination-point/
service-function service-function
Unauthorized access to this subtree can disclose the operational Unauthorized access to this subtree can disclose the operational
state information of the service functions on the specified state information of the service functions on the specified
tunnel-termination-point in the specified SF Aware TE node. tunnel-termination-point in the specified SF Aware TE node.
/nw:networks/nw:network/nw:node/service-functions
Unauthorized access to this subtree can disclose the operational
state information of the availble service functions in the
specified node.
7. References 7. References
7.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,
skipping to change at page 20, line 19 skipping to change at page 23, line 19
[RFC8529] Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X. [RFC8529] Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X.
Liu, "YANG Data Model for Network Instances", RFC 8529, Liu, "YANG Data Model for Network Instances", RFC 8529,
DOI 10.17487/RFC8529, March 2019, DOI 10.17487/RFC8529, March 2019,
<https://www.rfc-editor.org/info/rfc8529>. <https://www.rfc-editor.org/info/rfc8529>.
[RFC8530] Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X. [RFC8530] Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X.
Liu, "YANG Model for Logical Network Elements", RFC 8530, Liu, "YANG Model for Logical Network Elements", RFC 8530,
DOI 10.17487/RFC8530, March 2019, DOI 10.17487/RFC8530, March 2019,
<https://www.rfc-editor.org/info/rfc8530>. <https://www.rfc-editor.org/info/rfc8530>.
[RFC8776] Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin,
"Common YANG Data Types for Traffic Engineering",
RFC 8776, DOI 10.17487/RFC8776, June 2020,
<https://www.rfc-editor.org/info/rfc8776>.
[RFC8795] Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and [RFC8795] Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and
O. Gonzalez de Dios, "YANG Data Model for Traffic O. Gonzalez de Dios, "YANG Data Model for Traffic
Engineering (TE) Topologies", RFC 8795, Engineering (TE) Topologies", RFC 8795,
DOI 10.17487/RFC8795, August 2020, DOI 10.17487/RFC8795, August 2020,
<https://www.rfc-editor.org/info/rfc8795>. <https://www.rfc-editor.org/info/rfc8795>.
[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. P., Bryskin, I.,
"A YANG Data Model for Traffic Engineering Tunnels, Label and O. G. D. Dios, "A YANG Data Model for Traffic
Switched Paths and Interfaces", draft-ietf-teas-yang-te-25 Engineering Tunnels, Label Switched Paths and Interfaces",
(work in progress), July 2020. draft-ietf-teas-yang-te-26 (work in progress), February
2021.
[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. Y.
Yoon, "A YANG Data Model for VN Operation", draft-ietf- Yoon, "A YANG Data Model for VN Operation", draft-ietf-
teas-actn-vn-yang-10 (work in progress), November 2020. teas-actn-vn-yang-11 (work in progress), February 2021.
[ETSI-NFV-MAN] [ETSI-NFV-PACKAGE]
ETSI, "Network Functions Virtualisation (NFV) Release 3; ETSI, "Network Functions Virtualisation (NFV) Release 4;
Protocols and Data Models; NFV descriptors based on YANG Management and Orchestration; VNF Descriptor and Packaging
specification", ETSI GS NFV-SOL 006 V3.3.1, August 2020, Specification", ETSI GR NFV-IFA 011 V4.2.1, May 2021,
<https://www.etsi.org/deliver/etsi_gs/NFV- <https://www.etsi.org/deliver/etsi_gs/NFV-
SOL/001_099/006/03.03.01_60/gs_NFV-SOL006v030301p.pdf>. IFA/001_099/011/04.02.01_60/gs_NFV-IFA011v040201p.pdf>.
[ETSI-NFV-TERM] [ETSI-NFV-TERM]
ETSI, "Network Functions Virtualisation (NFV); Terminology ETSI, "Network Functions Virtualisation (NFV); Terminology
for Main Concepts in NFV", ETSI GR NFV 003 V1.5.1, January for Main Concepts in NFV", ETSI GR NFV 003 V1.6.1, March
2020, <https://www.etsi.org/deliver/etsi_gr/ 2021, <https://www.etsi.org/deliver/etsi_gr/
NFV/001_099/003/01.05.01_60/gr_NFV003v010501p.pdf>. NFV/001_099/003/01.06.01_60/gr_NFV003v010601p.pdf>.
[ETSI-NFV-YANG]
ETSI, "Network Functions Virtualisation (NFV) Release 3;
Protocols and Data Models; NFV descriptors based on YANG
specification", ETSI GS NFV-SOL 006 V3.5.1, July 2021,
<https://www.etsi.org/deliver/etsi_gs/NFV-
SOL/001_099/006/03.05.01_60/gs_NFV-SOL006v030501p.pdf>.
[RFC3022] Srisuresh, P. and K. Egevang, "Traditional IP Network [RFC3022] Srisuresh, P. and K. Egevang, "Traditional IP Network
Address Translator (Traditional NAT)", RFC 3022, Address Translator (Traditional NAT)", RFC 3022,
DOI 10.17487/RFC3022, January 2001, DOI 10.17487/RFC3022, January 2001,
<https://www.rfc-editor.org/info/rfc3022>. <https://www.rfc-editor.org/info/rfc3022>.
[RFC6146] Bagnulo, M., Matthews, P., and I. van Beijnum, "Stateful [RFC6146] Bagnulo, M., Matthews, P., and I. van Beijnum, "Stateful
NAT64: Network Address and Protocol Translation from IPv6 NAT64: Network Address and Protocol Translation from IPv6
Clients to IPv4 Servers", RFC 6146, DOI 10.17487/RFC6146, Clients to IPv4 Servers", RFC 6146, DOI 10.17487/RFC6146,
April 2011, <https://www.rfc-editor.org/info/rfc6146>. April 2011, <https://www.rfc-editor.org/info/rfc6146>.
skipping to change at page 21, line 43 skipping to change at page 25, line 15
[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>.
[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>.
[I-D.defoy-netslices-3gpp-network-slicing] [I-D.defoy-netslices-3gpp-network-slicing]
Foy, X. and A. Rahman, "Network Slicing - 3GPP Use Case", Foy, X. D. and A. Rahman, "Network Slicing - 3GPP Use
draft-defoy-netslices-3gpp-network-slicing-02 (work in Case", draft-defoy-netslices-3gpp-network-slicing-02 (work
progress), October 2017. in progress), October 2017.
Appendix A. Companion YANG Model for Non-NMDA Compliant Implementations Appendix A. Companion YANG Model for Non-NMDA Compliant Implementations
The YANG module ietf-te-topology-sf defined in this document is The YANG module ietf-te-topology-sf defined in this document is
designed to be used in conjunction with implementations that support designed to be used in conjunction with implementations that support
the Network Management Datastore Architecture (NMDA) defined in the Network Management Datastore Architecture (NMDA) defined in
[RFC8342]. In order to allow implementations to use the model even [RFC8342]. In order to allow implementations to use the model even
in cases when NMDA is not supported, the following companion module, in cases when NMDA is not supported, the following companion module,
ietf-te-topology-sf-state, is defined as state model, which mirrors ietf-te-topology-sf-state, is defined as state model, which mirrors
the module ietf-te-topology-sf defined earlier in this document. the module ietf-te-topology-sf defined earlier in this document.
skipping to change at page 22, line 27 skipping to change at page 26, line 27
The companion module, ietf-te-topology-sf-state, is redundant and The companion module, ietf-te-topology-sf-state, is redundant and
SHOULD NOT be supported by implementations that support NMDA. SHOULD NOT be supported by implementations that support NMDA.
As the structure of the companion module mirrors that of the As the structure of the companion module mirrors that of the
coorespinding NMDA model, the YANG tree of the companion module is coorespinding NMDA model, the YANG tree of the companion module is
not depicted separately. not depicted separately.
A.1. SF Aware TE Topology State Module A.1. SF Aware TE Topology State Module
<CODE BEGINS> file "ietf-te-topology-sf-state@2021-02-15.yang" <CODE BEGINS> file "ietf-te-topology-sf-state@2021-06-28.yang"
module ietf-te-topology-sf-state { module ietf-te-topology-sf-state {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology-sf-state"; namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology-sf-state";
prefix "tet-sf-s"; prefix "tet-sf-s";
import ietf-te-topology-sf { import ietf-te-topology-sf {
prefix "tet-sf"; prefix "tet-sf";
reference reference
"RFC XXXX: SF Aware TE Topology YANG Model"; "RFC XXXX: SF Aware TE Topology YANG Model";
skipping to change at page 23, line 42 skipping to change at page 27, line 42
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 to without modification, is permitted pursuant to, and subject to
the license terms contained in, the Simplified BSD License set the license terms contained in, the Simplified 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
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see the This version of this YANG module is part of RFC XXXX; see the
RFC itself for full legal notices."; RFC itself for full legal notices.";
revision 2021-02-15 { revision 2021-06-28 {
description "Initial revision"; description "Initial revision";
reference "RFC XXXX: SF Aware TE Topology YANG Model"; reference "RFC XXXX: SF Aware TE Topology YANG Model";
} }
/* /*
* Augmentations * Augmentations
*/ */
/* Augmentations to network-types/te-topology */ /* Augmentations to network-types/te-topology */
augment "/nw-s:networks/nw-s:network/nw-s:network-types/" augment "/nw-s:networks/nw-s:network/nw-s:network-types/"
+ "tet-s:te-topology" { + "tet-s:te-topology" {
 End of changes. 36 change blocks. 
73 lines changed or deleted 227 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/