draft-ietf-teas-yang-te-topo-11.txt   draft-ietf-teas-yang-te-topo-12.txt 
skipping to change at page 1, line 15 skipping to change at page 1, line 15
Huawei Technologies Huawei Technologies
Vishnu Pavan Beeram Vishnu Pavan Beeram
Juniper Networks Juniper Networks
Tarek Saad Tarek Saad
Cisco Systems Inc Cisco Systems Inc
Himanshu Shah Himanshu Shah
Ciena Ciena
Oscar Gonzalez De Dios Oscar Gonzalez De Dios
Telefonica Telefonica
Expires: January 3, 2018 July 3, 2017 Expires: January 17, 2018 July 17, 2017
YANG Data Model for TE Topologies YANG Data Model for TE Topologies
draft-ietf-teas-yang-te-topo-11 draft-ietf-teas-yang-te-topo-12
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.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 1, line 41 skipping to change at page 1, line 41
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."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html http://www.ietf.org/shadow.html
This Internet-Draft will expire on January 3, 2018. This Internet-Draft will expire on January 17, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2017 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
(http://trustee.ietf.org/license-info) in effect on the date of (http://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 3, line 26 skipping to change at page 3, line 26
5.9. Templates................................................30 5.9. Templates................................................30
5.10. Scheduling Parameters...................................31 5.10. Scheduling Parameters...................................31
5.11. Notifications...........................................31 5.11. Notifications...........................................31
6. Tree Structure................................................32 6. Tree Structure................................................32
7. TE Topology Yang Module.......................................68 7. TE Topology Yang Module.......................................68
8. Security Considerations......................................115 8. Security Considerations......................................115
9. IANA Considerations..........................................115 9. IANA Considerations..........................................115
10. References..................................................116 10. References..................................................116
10.1. Normative References...................................116 10.1. Normative References...................................116
10.2. Informative References.................................116 10.2. Informative References.................................116
11. Acknowledgments.............................................116 11. Acknowledgments.............................................117
Appendix A. Companion YANG Model for Non-NMDA Compliant Appendix A. Companion YANG Model for Non-NMDA Compliant
Implementations.................................................118 Implementations.................................................118
A.1. TE Topology State Yang Module...........................118 A.1. TE Topology State Yang Module...........................118
Contributors....................................................125 Contributors....................................................125
Authors' Addresses..............................................126 Authors' Addresses..............................................126
1. Introduction 1. Introduction
The Traffic Engineering Database (TED) is an essential component of The Traffic Engineering Database (TED) is an essential component of
Traffic Engineered (TE) systems that are based on MPLS-TE [RFC2702] Traffic Engineered (TE) systems that are based on MPLS-TE [RFC2702]
skipping to change at page 68, line 7 skipping to change at page 68, line 7
| +--rw generic? te-bandwidth | +--rw generic? te-bandwidth
+--rw inter-layer-lock-id* uint32 +--rw inter-layer-lock-id* uint32
+--ro oper-status? te-types:te-oper-status +--ro oper-status? te-types:te-oper-status
+--ro geolocation +--ro geolocation
+--ro altitude? int64 +--ro altitude? int64
+--ro latitude? geographic-coordinate-degree +--ro latitude? geographic-coordinate-degree
+--ro longitude? geographic-coordinate-degree +--ro longitude? geographic-coordinate-degree
7. TE Topology Yang Module 7. TE Topology Yang Module
<CODE BEGINS> file "ietf-te-topology@2017-07-02.yang" <CODE BEGINS> file "ietf-te-topology@2017-07-12.yang"
module ietf-te-topology { module ietf-te-topology {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology"; namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology";
prefix "tet"; prefix "tet";
import ietf-yang-types { import ietf-yang-types {
prefix "yang"; prefix "yang";
} }
skipping to change at page 68, line 39 skipping to change at page 68, line 39
import ietf-network-topology { import ietf-network-topology {
prefix "nt"; prefix "nt";
} }
import ietf-routing-types { import ietf-routing-types {
prefix "rt-types"; prefix "rt-types";
} }
organization organization
"Traffic Engineering Architecture and Signaling (TEAS) "IETF 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>
WG Chair: Lou Berger WG Chair: Lou Berger
<mailto:lberger@labn.net> <mailto:lberger@labn.net>
WG Chair: Vishnu Pavan Beeram WG Chair: Vishnu Pavan Beeram
<mailto:vbeeram@juniper.net> <mailto:vbeeram@juniper.net>
skipping to change at page 69, line 30 skipping to change at page 69, line 30
<mailto:tsaad@cisco.com> <mailto:tsaad@cisco.com>
Editor: Himanshu Shah Editor: Himanshu Shah
<mailto:hshah@ciena.com> <mailto:hshah@ciena.com>
Editor: Oscar Gonzalez De Dios Editor: Oscar Gonzalez De Dios
<mailto:oscar.gonzalezdedios@telefonica.com>"; <mailto:oscar.gonzalezdedios@telefonica.com>";
description "TE topology model"; description "TE topology model";
revision "2017-07-02" { revision "2017-07-12" {
description "Initial revision"; description "Initial revision";
reference "TBD"; reference "RFC XXXX: YANG Data Model for TE Topologies";
// RFC Ed.: replace XXXX with actual RFC number and remove
// this note
} }
/* /*
* Features * Features
*/ */
feature nsrlg { feature nsrlg {
description description
"This feature indicates that the system supports NSRLG "This feature indicates that the system supports NSRLG
(Not Sharing Risk Link Group)."; (Not Sharing Risk Link Group).";
} }
skipping to change at page 111, line 29 skipping to change at page 111, line 32
} }
} }
augment "/nw:networks" { augment "/nw:networks" {
description description
"Augmentation parameters for TE topologies."; "Augmentation parameters for TE topologies.";
uses te-topologies-augment; uses te-topologies-augment;
} }
augment "/nw:networks/nw:network" { augment "/nw:networks/nw:network" {
when "nw:network-types/te-topology" { when "nw:network-types/tet:te-topology" {
description description
"Augmentation parameters apply only for networks with "Augmentation parameters apply only for networks with
TE topology type."; TE topology type.";
} }
description description
"Configuration parameters for TE topology."; "Configuration parameters for TE topology.";
uses te-topology-augment; uses te-topology-augment;
} }
augment "/nw:networks/nw:network/nw:node" { augment "/nw:networks/nw:network/nw:node" {
when "../nw:network-types/te-topology" { when "../nw:network-types/tet:te-topology" {
description description
"Augmentation parameters apply only for networks with "Augmentation parameters apply only for networks with
TE topology type."; TE topology type.";
} }
description description
"Configuration parameters for TE at node level."; "Configuration parameters for TE at node level.";
leaf te-node-id { leaf te-node-id {
type te-types:te-node-id; type te-types:te-node-id;
description description
"The identifier of a node in the TE topology. "The identifier of a node in the TE topology.
skipping to change at page 112, line 31 skipping to change at page 112, line 33
the underlay-topology is used."; the underlay-topology is used.";
} }
presence "TE support."; presence "TE support.";
description description
"Indicates TE support."; "Indicates TE support.";
uses te-node-augment; uses te-node-augment;
} // te } // te
} }
augment "/nw:networks/nw:network/nt:link" { augment "/nw:networks/nw:network/nt:link" {
when "../nw:network-types/te-topology" { when "../nw:network-types/tet:te-topology" {
description description
"Augmentation parameters apply only for networks with "Augmentation parameters apply only for networks with
TE topology type."; TE topology type.";
} }
description description
"Configuration parameters for TE at link level."; "Configuration parameters for TE at link level.";
container te { container te {
must "count(../nt:supporting-link)<=1" { must "count(../nt:supporting-link)<=1" {
description description
"For a link in a TE topology, there cannot be more "For a link in a TE topology, there cannot be more
skipping to change at page 113, line 13 skipping to change at page 113, line 15
} }
presence "TE support."; presence "TE support.";
description description
"Indicates TE support."; "Indicates TE support.";
uses te-link-augment; uses te-link-augment;
} // te } // te
} }
augment "/nw:networks/nw:network/nw:node/" augment "/nw:networks/nw:network/nw:node/"
+ "nt:termination-point" { + "nt:termination-point" {
when "../../nw:network-types/te-topology" { when "../../nw:network-types/tet:te-topology" {
description description
"Augmentation parameters apply only for networks with "Augmentation parameters apply only for networks with
TE topology type."; TE topology type.";
} }
description description
"Configuration parameters for TE at termination point level."; "Configuration parameters for TE at termination point level.";
uses te-termination-point-augment; uses te-termination-point-augment;
} }
augment augment
"/nw:networks/nw:network/nt:link/te/bundle-stack-level/" "/nw:networks/nw:network/nt:link/te/bundle-stack-level/"
+ "bundle/bundled-links/bundled-link" { + "bundle/bundled-links/bundled-link" {
when "../../../../nw:network-types/te-topology" { when "../../../../nw:network-types/tet:te-topology" {
description description
"Augmentation parameters apply only for networks with "Augmentation parameters apply only for networks with
TE topology type."; TE topology type.";
} }
description description
"Augment TE link bundled link."; "Augment TE link bundled link.";
leaf src-tp-ref { leaf src-tp-ref {
type leafref { type leafref {
path "../../../../../nw:node[nw:node-id = " path "../../../../../nw:node[nw:node-id = "
+ "current()/../../../../nt:source/" + "current()/../../../../nt:source/"
skipping to change at page 114, line 22 skipping to change at page 114, line 24
description description
"Reference to another TE termination point on the "Reference to another TE termination point on the
same destination node."; same destination node.";
} }
} }
augment augment
"/nw:networks/nw:network/nw:node/te/" "/nw:networks/nw:network/nw:node/te/"
+ "information-source-entry/connectivity-matrices/" + "information-source-entry/connectivity-matrices/"
+ "connectivity-matrix" { + "connectivity-matrix" {
when "../../../../../nw:network-types/te-topology" { when "../../../../../nw:network-types/tet:te-topology" {
description description
"Augmentation parameters apply only for networks with "Augmentation parameters apply only for networks with
TE topology type."; TE topology type.";
} }
description description
"Augment TE node connectivity-matrix."; "Augment TE node connectivity-matrix.";
uses te-node-connectivity-matrix-attributes; uses te-node-connectivity-matrix-attributes;
} }
augment augment
"/nw:networks/nw:network/nw:node/te/te-node-attributes/" "/nw:networks/nw:network/nw:node/te/te-node-attributes/"
+ "connectivity-matrices/connectivity-matrix" { + "connectivity-matrices/connectivity-matrix" {
when "../../../../../nw:network-types/te-topology" { when "../../../../../nw:network-types/tet:te-topology" {
description description
"Augmentation parameters apply only for networks with "Augmentation parameters apply only for networks with
TE topology type."; TE topology type.";
} }
description description
"Augment TE node connectivity-matrix."; "Augment TE node connectivity-matrix.";
uses te-node-connectivity-matrix-attributes; uses te-node-connectivity-matrix-attributes;
} }
augment augment
"/nw:networks/nw:network/nw:node/te/" "/nw:networks/nw:network/nw:node/te/"
+ "tunnel-termination-point/local-link-connectivities" { + "tunnel-termination-point/local-link-connectivities" {
when "../../../../nw:network-types/te-topology" { when "../../../../nw:network-types/tet:te-topology" {
description description
"Augmentation parameters apply only for networks with "Augmentation parameters apply only for networks with
TE topology type."; TE topology type.";
} }
description description
"Augment TE node tunnel termination point LLCs "Augment TE node tunnel termination point LLCs
(Local Link Connectivities)."; (Local Link Connectivities).";
uses te-node-tunnel-termination-point-llc-list; uses te-node-tunnel-termination-point-llc-list;
} }
} }
skipping to change at page 118, line 27 skipping to change at page 118, line 27
The companion module, ietf-te-topology-state, is redundant and SHOULD The companion module, ietf-te-topology-state, is redundant and SHOULD
NOT be supported by implementations that support NMDA. NOT be supported by implementations that support NMDA.
As the structure of the module ietf-te-topology-state mirrors that of As the structure of the module ietf-te-topology-state mirrors that of
the module ietf-te-topology. The YANG tree of the module ietf-te- the module ietf-te-topology. The YANG tree of the module ietf-te-
topology-state is not depicted separately. topology-state is not depicted separately.
A.1. TE Topology State Yang Module A.1. TE Topology State Yang Module
<CODE BEGINS> file "ietf-te-topology-state@2017-07-02.yang" <CODE BEGINS> file "ietf-te-topology-state@2017-07-12.yang"
module ietf-te-topology-state { module ietf-te-topology-state {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology-state"; namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology-state";
prefix "tet-s"; prefix "tet-s";
import ietf-te-types { import ietf-te-types {
prefix "te-types"; prefix "te-types";
} }
skipping to change at page 119, line 5 skipping to change at page 119, line 5
} }
import ietf-network-state { import ietf-network-state {
prefix "nw-s"; prefix "nw-s";
} }
import ietf-network-topology-state { import ietf-network-topology-state {
prefix "nt-s"; prefix "nt-s";
} }
organization organization
"Traffic Engineering Architecture and Signaling (TEAS) "IETF 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>
WG Chair: Lou Berger WG Chair: Lou Berger
<mailto:lberger@labn.net> <mailto:lberger@labn.net>
WG Chair: Vishnu Pavan Beeram WG Chair: Vishnu Pavan Beeram
skipping to change at page 119, line 38 skipping to change at page 119, line 38
<mailto:tsaad@cisco.com> <mailto:tsaad@cisco.com>
Editor: Himanshu Shah Editor: Himanshu Shah
<mailto:hshah@ciena.com> <mailto:hshah@ciena.com>
Editor: Oscar Gonzalez De Dios Editor: Oscar Gonzalez De Dios
<mailto:oscar.gonzalezdedios@telefonica.com>"; <mailto:oscar.gonzalezdedios@telefonica.com>";
description "TE topology state model"; description "TE topology state model";
revision "2017-07-02" { revision "2017-07-12" {
description "Initial revision"; description "Initial revision";
reference "TBD"; reference "RFC XXXX: YANG Data Model for TE Topologies";
// RFC Ed.: replace XXXX with actual RFC number and remove
// this note
} }
/* /*
* Groupings * Groupings
*/ */
grouping te-node-connectivity-matrix-attributes { grouping te-node-connectivity-matrix-attributes {
description description
"Termination point references of a connectivity matrix entry."; "Termination point references of a connectivity matrix entry.";
container from { container from {
description description
"Reference to source link termination point."; "Reference to source link termination point.";
leaf tp-ref { leaf tp-ref {
skipping to change at page 121, line 44 skipping to change at page 122, line 4
description description
"Its presence identifies the TE topology type."; "Its presence identifies the TE topology type.";
} }
} }
augment "/nw-s:networks" { augment "/nw-s:networks" {
description description
"Augmentation parameters for TE topologies."; "Augmentation parameters for TE topologies.";
uses tet:te-topologies-augment; uses tet:te-topologies-augment;
} }
augment "/nw-s:networks/nw-s:network" { augment "/nw-s:networks/nw-s:network" {
when "nw-s:network-types/te-topology" { when "nw-s:network-types/tet-s:te-topology" {
description description
"Augmentation parameters apply only for networks with "Augmentation parameters apply only for networks with
TE topology type."; TE topology type.";
} }
description description
"Configuration parameters for TE topology."; "Configuration parameters for TE topology.";
uses tet:te-topology-augment; uses tet:te-topology-augment;
} }
augment "/nw-s:networks/nw-s:network/nw-s:node" { augment "/nw-s:networks/nw-s:network/nw-s:node" {
when "../nw-s:network-types/te-topology" { when "../nw-s:network-types/tet-s:te-topology" {
description description
"Augmentation parameters apply only for networks with "Augmentation parameters apply only for networks with
TE topology type."; TE topology type.";
} }
description description
"Configuration parameters for TE at node level."; "Configuration parameters for TE at node level.";
leaf te-node-id { leaf te-node-id {
type te-types:te-node-id; type te-types:te-node-id;
description description
"The identifier of a node in the TE topology. "The identifier of a node in the TE topology.
skipping to change at page 122, line 43 skipping to change at page 123, line 4
must "count(../nw-s:supporting-node)<=1" { must "count(../nw-s:supporting-node)<=1" {
description description
"For a node in a TE topology, there cannot be more "For a node in a TE topology, there cannot be more
than 1 supporting node. If multiple nodes are abstracted, than 1 supporting node. If multiple nodes are abstracted,
the underlay-topology is used."; the underlay-topology is used.";
} }
presence "TE support."; presence "TE support.";
description description
"Indicates TE support."; "Indicates TE support.";
uses tet:te-node-augment; uses tet:te-node-augment;
} // te } // te
} }
augment "/nw-s:networks/nw-s:network/nt-s:link" { augment "/nw-s:networks/nw-s:network/nt-s:link" {
when "../nw-s:network-types/te-topology" { when "../nw-s:network-types/tet-s:te-topology" {
description description
"Augmentation parameters apply only for networks with "Augmentation parameters apply only for networks with
TE topology type."; TE topology type.";
} }
description description
"Configuration parameters for TE at link level."; "Configuration parameters for TE at link level.";
container te { container te {
must "count(../nt-s:supporting-link)<=1" { must "count(../nt-s:supporting-link)<=1" {
description description
"For a link in a TE topology, there cannot be more "For a link in a TE topology, there cannot be more
skipping to change at page 123, line 28 skipping to change at page 123, line 32
} }
presence "TE support."; presence "TE support.";
description description
"Indicates TE support."; "Indicates TE support.";
uses tet:te-link-augment; uses tet:te-link-augment;
} // te } // te
} }
augment "/nw-s:networks/nw-s:network/nw-s:node/" augment "/nw-s:networks/nw-s:network/nw-s:node/"
+ "nt-s:termination-point" { + "nt-s:termination-point" {
when "../../nw-s:network-types/te-topology" { when "../../nw-s:network-types/tet-s:te-topology" {
description description
"Augmentation parameters apply only for networks with "Augmentation parameters apply only for networks with
TE topology type."; TE topology type.";
} }
description description
"Configuration parameters for TE at termination point level."; "Configuration parameters for TE at termination point level.";
uses tet:te-termination-point-augment; uses tet:te-termination-point-augment;
} }
augment augment
"/nw-s:networks/nw-s:network/nt-s:link/te/bundle-stack-level/" "/nw-s:networks/nw-s:network/nt-s:link/te/bundle-stack-level/"
+ "bundle/bundled-links/bundled-link" { + "bundle/bundled-links/bundled-link" {
when "../../../../nw-s:network-types/te-topology" { when "../../../../nw-s:network-types/tet-s:te-topology" {
description description
"Augmentation parameters apply only for networks with "Augmentation parameters apply only for networks with
TE topology type."; TE topology type.";
} }
description description
"Augment TE link bundled link."; "Augment TE link bundled link.";
leaf src-tp-ref { leaf src-tp-ref {
type leafref { type leafref {
path "../../../../../nw-s:node[nw-s:node-id = " path "../../../../../nw-s:node[nw-s:node-id = "
+ "current()/../../../../nt-s:source/" + "current()/../../../../nt-s:source/"
skipping to change at page 124, line 38 skipping to change at page 124, line 40
description description
"Reference to another TE termination point on the "Reference to another TE termination point on the
same destination node."; same destination node.";
} }
} }
augment augment
"/nw-s:networks/nw-s:network/nw-s:node/te/" "/nw-s:networks/nw-s:network/nw-s:node/te/"
+ "information-source-entry/connectivity-matrices/" + "information-source-entry/connectivity-matrices/"
+ "connectivity-matrix" { + "connectivity-matrix" {
when "../../../../../nw-s:network-types/te-topology" { when "../../../../../nw-s:network-types/tet-s:te-topology" {
description description
"Augmentation parameters apply only for networks with "Augmentation parameters apply only for networks with
TE topology type."; TE topology type.";
} }
description description
"Augment TE node connectivity-matrix."; "Augment TE node connectivity-matrix.";
uses te-node-connectivity-matrix-attributes; uses te-node-connectivity-matrix-attributes;
} }
augment augment
"/nw-s:networks/nw-s:network/nw-s:node/te/te-node-attributes/" "/nw-s:networks/nw-s:network/nw-s:node/te/te-node-attributes/"
+ "connectivity-matrices/connectivity-matrix" { + "connectivity-matrices/connectivity-matrix" {
when "../../../../../nw-s:network-types/te-topology" { when "../../../../../nw-s:network-types/tet-s:te-topology" {
description description
"Augmentation parameters apply only for networks with "Augmentation parameters apply only for networks with
TE topology type."; TE topology type.";
} }
description description
"Augment TE node connectivity-matrix."; "Augment TE node connectivity-matrix.";
uses te-node-connectivity-matrix-attributes; uses te-node-connectivity-matrix-attributes;
} }
augment augment
"/nw-s:networks/nw-s:network/nw-s:node/te/" "/nw-s:networks/nw-s:network/nw-s:node/te/"
+ "tunnel-termination-point/local-link-connectivities" { + "tunnel-termination-point/local-link-connectivities" {
when "../../../../nw-s:network-types/te-topology" { when "../../../../nw-s:network-types/tet-s:te-topology" {
description description
"Augmentation parameters apply only for networks with "Augmentation parameters apply only for networks with
TE topology type."; TE topology type.";
} }
description description
"Augment TE node tunnel termination point LLCs "Augment TE node tunnel termination point LLCs
(Local Link Connectivities)."; (Local Link Connectivities).";
uses te-node-tunnel-termination-point-llc-list; uses te-node-tunnel-termination-point-llc-list;
} }
} }
 End of changes. 35 change blocks. 
31 lines changed or deleted 36 lines changed or added

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