draft-ietf-teas-yang-te-topo-03.txt   draft-ietf-teas-yang-te-topo-04.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: September 20, 2016 March 20, 2016 Expires: September 21, 2016 March 21, 2016
YANG Data Model for TE Topologies YANG Data Model for TE Topologies
draft-ietf-teas-yang-te-topo-03 draft-ietf-teas-yang-te-topo-04
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.
Internet-Drafts are draft documents valid for a maximum of six Internet-Drafts are draft documents valid for a maximum of six months
months and may be updated, replaced, or obsoleted by other documents and may be updated, replaced, or obsoleted by other documents at any
at any time. It is inappropriate to use Internet-Drafts as time. It is inappropriate to use Internet-Drafts as reference
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 September 20, 2016. This Internet-Draft will expire on September 21, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2016 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
carefully, as they describe your rights and restrictions with carefully, as they describe your rights and restrictions with respect
respect to this document. Code Components extracted from this to this document. Code Components extracted from this document must
document must include Simplified BSD License text as described in include Simplified BSD License text as described in Section 4.e of
Section 4.e of the Trust Legal Provisions and are provided without the Trust Legal Provisions and are provided without warranty as
warranty as described in the Simplified BSD License. described in the Simplified BSD License.
Abstract Abstract
This document defines a YANG data model for representing, retrieving This document defines a YANG data model for representing, retrieving
and manipulating TE Topologies. The model serves as a base model and manipulating TE Topologies. The model serves as a base model that
that other technology specific TE Topology models can augment. other technology specific TE Topology models can augment.
Conventions used in this document Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC-2119 [RFC2119]. document are to be interpreted as described in RFC-2119 [RFC2119].
Table of Contents Table of Contents
1. Introduction...................................................3 1. Introduction...................................................3
skipping to change at page 3, line 21 skipping to change at page 3, line 21
5.8. Overlay/Underlay Relationship............................20 5.8. Overlay/Underlay Relationship............................20
5.9. Scheduling Parameters....................................22 5.9. Scheduling Parameters....................................22
5.10. Templates...............................................22 5.10. Templates...............................................22
5.11. Notifications...........................................23 5.11. Notifications...........................................23
5.12. Open Items..............................................23 5.12. Open Items..............................................23
6. Tree Structure................................................23 6. Tree Structure................................................23
6.1. Base TE Topology Module..................................23 6.1. Base TE Topology Module..................................23
6.2. Packet Switching TE Topology Module......................49 6.2. Packet Switching TE Topology Module......................49
7. TE Topology Yang Modules......................................50 7. TE Topology Yang Modules......................................50
7.1. Base TE Topology Module..................................50 7.1. Base TE Topology Module..................................50
7.2. Packet Switching TE Topology Module......................95 7.2. Packet Switching TE Topology Module......................94
8. Security Considerations.......................................99 8. Security Considerations.......................................98
9. IANA Considerations...........................................99 9. IANA Considerations...........................................98
10. References...................................................99 10. References...................................................99
10.1. Normative References....................................99 10.1. Normative References....................................99
10.2. Informative References.................................100 10.2. Informative References..................................99
11. Acknowledgments.............................................100 11. Acknowledgments.............................................100
Contributors....................................................100 Contributors....................................................100
Authors' Addresses..............................................100 Authors' Addresses..............................................100
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]
and GMPLS [RFC3945]. The TED is a collection of all TE information and GMPLS [RFC3945]. The TED is a collection of all TE information
about all TE nodes and TE links in the network. The TE Topology is a about all TE nodes and TE links in the network. The TE Topology is a
skipping to change at page 4, line 47 skipping to change at page 4, line 47
o for obsolete o for obsolete
<flags> is one of: <flags> is one of:
rw for read-write configuration data rw for read-write configuration data
ro for read-only non-configuration data ro for read-only non-configuration data
-x for execution rpcs -x for execution rpcs
-n for notifications -n for notifications
<name> is the name of the node <name> is the name of the node
If the node is augmented into the tree from another module, If the node is augmented into the tree from another module, its
its name is printed as <prefix>:<name> name is printed as <prefix>:<name>
<opts> is one of: <opts> is one of:
? for an optional leaf or node ? for an optional leaf or node
! for a presence container ! for a presence container
* for a leaf-list or list * for a leaf-list or list
Brackets [<keys>] for a list's keys Brackets [<keys>] for a list's keys
Curly braces {<condition>} for optional feature that make Curly braces {<condition>} for optional feature that make node
node conditional conditional
Colon : for marking case nodes Colon : for marking case nodes
Ellipses ("...") subtree contents not shown Ellipses ("...") subtree contents not shown
Parentheses enclose choice and case nodes, and case nodes are Parentheses enclose choice and case nodes, and case nodes are
also marked with a colon (":"). also marked with a colon (":").
<type> is the name of the type for leafs and leaf-lists. <type> is the name of the type for leafs and leaf-lists.
1.3. Prefixes in Data Node Names 1.3. Prefixes in Data Node Names
skipping to change at page 8, line 15 skipping to change at page 8, line 15
3.3. TE Link 3.3. TE Link
TE link is an element of a TE topology (presented as an edge on TE TE link is an element of a TE topology (presented as an edge on TE
graph, arrows indicate one or both directions of the TE link). TE graph, arrows indicate one or both directions of the TE link). TE
link represents one or several (physical) links or a fraction of a link represents one or several (physical) links or a fraction of a
link. TE link belongs to and is fully defined in exactly one TE link. TE link belongs to and is fully defined in exactly one TE
topology. TE link is assigned with the TE topology scope unique ID. topology. TE link is assigned with the TE topology scope unique ID.
TE link attributes include parameters related to the data plane TE link attributes include parameters related to the data plane
aspects of the associated link(s) (e.g. unreserved bandwidth, aspects of the associated link(s) (e.g. unreserved bandwidth,
resource maps/pools, etc.), as well as the configuration data (such resource maps/pools, etc.), as well as the configuration data (such
as remote node/link IDs, SRLGs, administrative colors, etc.). TE as remote node/link IDs, SRLGs, administrative colors, etc.). TE link
link is connected to TE node, terminating the TE link via exactly is connected to TE node, terminating the TE link via exactly one TE
one TE link termination point (LTP). link termination point (LTP).
In Figure 1, Link-12 and Link-23 are TE links. In Figure 1, Link-12 and Link-23 are TE links.
3.4. TE Link Termination Point (LTP) 3.4. TE Link Termination Point (LTP)
TE link termination point (LTP) is a conceptual point of connection TE link termination point (LTP) is a conceptual point of connection
of a TE node to one of the TE links, terminated by the TE node. of a TE node to one of the TE links, terminated by the TE node.
Cardinality between an LTP and the associated TE link is 1:0..1. Cardinality between an LTP and the associated TE link is 1:0..1.
In Figure 1, Node-2 has six LTPs: LTP-1 to LTP-6. In Figure 1, Node-2 has six LTPs: LTP-1 to LTP-6.
3.5. TE Tunnel Termination Point (TTP) 3.5. TE Tunnel Termination Point (TTP)
TE tunnel termination point (TTP) is an element of TE topology TE tunnel termination point (TTP) is an element of TE topology
representing one or several of potential transport service representing one or several of potential transport service
termination points (i.e. service client adaptation points such as termination points (i.e. service client adaptation points such as
WDM/OCh transponder). TTP is associated with (hosted by) exactly one WDM/OCh transponder). TTP is associated with (hosted by) exactly one
TE node. TTP is assigned with the TE node scope unique ID. Depending TE node. TTP is assigned with the TE node scope unique ID. Depending
on the TE node's internal constraints, a given TTP hosted by the TE on the TE node's internal constraints, a given TTP hosted by the TE
node could be accessed via one, several or all TE links terminated node could be accessed via one, several or all TE links terminated by
by the TE node. the TE node.
In Figure 1, Node-1 has two TTPs: TTP-1 and TTP-2. In Figure 1, Node-1 has two TTPs: TTP-1 and TTP-2.
3.6. TE Node Connectivity Matrix 3.6. TE Node Connectivity Matrix
TE node connectivity matrix is a TE node's attribute describing the TE node connectivity matrix is a TE node's attribute describing the
TE node's switching limitations in a form of valid switching TE node's switching limitations in a form of valid switching
combinations of the TE node's LTPs (see below). From the point of combinations of the TE node's LTPs (see below). From the point of
view of a potential TE path arriving at the TE node at a given view of a potential TE path arriving at the TE node at a given
inbound LTP, the node's connectivity matrix describes valid inbound LTP, the node's connectivity matrix describes valid
skipping to change at page 9, line 13 skipping to change at page 9, line 13
from. from.
In Figure 1, the connectivity matrix on Node-2 is: In Figure 1, the connectivity matrix on Node-2 is:
{<LTP-6, LTP-1>, <LTP-5, LTP-2>, <LTP-5, LTP-4>, <LTP-4, LTP-1>, {<LTP-6, LTP-1>, <LTP-5, LTP-2>, <LTP-5, LTP-4>, <LTP-4, LTP-1>,
<LTP-3, LTP-2>} <LTP-3, LTP-2>}
3.7. TTP Local Link Connectivity List (LLCL) 3.7. TTP Local Link Connectivity List (LLCL)
TTP Local Link Connectivity List (LLCL) is a List of TE links TTP Local Link Connectivity List (LLCL) is a List of TE links
terminated by the TTP hosting TE node (i.e. list of the TE link terminated by the TTP hosting TE node (i.e. list of the TE link
LTPs), which the TTP could be connected to. From the point of view LTPs), which the TTP could be connected to. From the point of view of
of a potential TE path LLCL provides a list of valid TE links the TE a potential TE path LLCL provides a list of valid TE links the TE
path needs to start/stop on for the connection, taking the TE path, path needs to start/stop on for the connection, taking the TE path,
to be successfully terminated on the TTP in question. to be successfully terminated on the TTP in question.
In Figure 1, the LLCL on Node-1 is: In Figure 1, the LLCL on Node-1 is:
{<TTP-1, LTP-5>, <TTP-1, LTP-2>, <TTP-2, LTP-3>, <TTP-2, LTP4>} {<TTP-1, LTP-5>, <TTP-1, LTP-2>, <TTP-2, LTP-3>, <TTP-2, LTP4>}
3.8. TE Path 3.8. TE Path
TE path is an ordered list of TE links and/or TE nodes on the TE TE path is an ordered list of TE links and/or TE nodes on the TE
topology graph, inter-connecting a pair of TTPs to be taken by a topology graph, inter-connecting a pair of TTPs to be taken by a
skipping to change at page 9, line 38 skipping to change at page 9, line 38
In Figure 1, the TE Path for TE-Tunnel-1 is: In Figure 1, the TE Path for TE-Tunnel-1 is:
{Node-1:TTP-1, Link-12, Node-2, Link-23, Node-3:TTP1} {Node-1:TTP-1, Link-12, Node-2, Link-23, Node-3:TTP1}
3.9. Underlay TE topology 3.9. Underlay TE topology
Underlay TE topology is a TE topology that serves as a base for Underlay TE topology is a TE topology that serves as a base for
constructing of overlay TE topologies constructing of overlay TE topologies
3.10. Overlay TE topology 3.10. Overlay TE topology
Overlay TE topology is a TE topology constructed based on one or Overlay TE topology is a TE topology constructed based on one or more
more underlay TE topologies. Each TE node of the overlay TE topology underlay TE topologies. Each TE node of the overlay TE topology
represents an arbitrary segment of an underlay TE topology; each TE represents an arbitrary segment of an underlay TE topology; each TE
link of the overlay TE topology represents an arbitrary TE path in link of the overlay TE topology represents an arbitrary TE path in
one of the underlay TE topologies. The overlay TE topology and the one of the underlay TE topologies. The overlay TE topology and the
supporting underlay TE topologies may represent distinct layer supporting underlay TE topologies may represent distinct layer
networks (e.g. OTN/ODUk and WDM/OCh respectively) or the same layer networks (e.g. OTN/ODUk and WDM/OCh respectively) or the same layer
network. network.
3.11. Abstract TE topology 3.11. Abstract TE topology
Abstract TE topology is an overlay TE topology created by a topology Abstract TE topology is an overlay TE topology created by a topology
provider and customized for a topology provider's client based on provider and customized for a topology provider's client based on one
one or more of the provider's native TE topologies (underlay TE or more of the provider's native TE topologies (underlay TE
topologies), the provider's policies and the client's preferences. topologies), the provider's policies and the client's preferences.
For example, a first level topology provider (such as Domain For example, a first level topology provider (such as Domain
Controller) can create an abstract TE topology for its client (e.g. Controller) can create an abstract TE topology for its client (e.g.
Super Controller) based on the provider's one or more native TE Super Controller) based on the provider's one or more native TE
topologies, local policies/profiles and the client's TE topology topologies, local policies/profiles and the client's TE topology
configuration requests configuration requests
Figure 2 shows an example of abstract TE topology. Figure 2 shows an example of abstract TE topology.
+---+ +---+ +---+ +---+
skipping to change at page 12, line 43 skipping to change at page 12, line 43
+ + ++ ++ + + ++ ++
[R6] +++++++++ [R7] [R8] ++++ [R9] [R6] +++++++++ [R7] [R8] ++++ [R9]
Figure 3b: Native TE Topology as seen on Node R3 Figure 3b: Native TE Topology as seen on Node R3
Consider the case of the topology being split in a way that some Consider the case of the topology being split in a way that some
nodes participate in OSPF-TE while others participate in ISIS-TE nodes participate in OSPF-TE while others participate in ISIS-TE
(Figure 4a). An implementation MAY choose to construct separate TE (Figure 4a). An implementation MAY choose to construct separate TE
Topologies based on the information source. The native TE Topologies Topologies based on the information source. The native TE Topologies
constructed using only nodes and links that were learnt via a constructed using only nodes and links that were learnt via a
specific information source are depicted in Figure 4b. The data specific information source are depicted in Figure 4b. The data model
model proposed in this document can be used to retrieve/represent proposed in this document can be used to retrieve/represent these TE
these TE topologies. topologies.
Similarly, the data model can be used to represent/retrieve a TE Similarly, the data model can be used to represent/retrieve a TE
Topology that is constructed using only nodes and links that belong Topology that is constructed using only nodes and links that belong
to a particular technology layer. The data model is flexible enough to a particular technology layer. The data model is flexible enough
to retrieve and represent many such native TE Topologies. to retrieve and represent many such native TE Topologies.
: :
TE info distributed via ISIS-TE : TE info distributed via OSPF-TE TE info distributed via ISIS-TE : TE info distributed via OSPF-TE
: :
+---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+
skipping to change at page 13, line 41 skipping to change at page 13, line 41
+ + : ++ ++ + + : ++ ++
[R6] +++++++++ [R7] : [R8] ++++ [R9] [R6] +++++++++ [R7] : [R8] ++++ [R9]
Figure 4b: Native TE Topologies as seen on Node R3 Figure 4b: Native TE Topologies as seen on Node R3
4.2. Customized TE Topologies 4.2. Customized TE Topologies
The model discussed in this draft can be used to represent, retrieve The model discussed in this draft can be used to represent, retrieve
and manipulate customized TE Topologies. The model allows the and manipulate customized TE Topologies. The model allows the
provider to present the network in abstract TE Terms on a per client provider to present the network in abstract TE Terms on a per client
basis. These customized topologies contain sufficient information basis. These customized topologies contain sufficient information for
for the path computing client to select paths according to its the path computing client to select paths according to its policies.
policies.
| +---+ /-\ | +---+ /-\
| | | Router ( ) WDM | | | Router ( ) WDM
| +---+ Node \-/ node | +---+ Node \-/ node
| |
o---------------------------- o----------------------------
+---+ /-\ /-\ /-\ +---+ +---+ /-\ /-\ /-\ +---+
| R1|-------( A )--------( C )---------( E )---------| R3| | R1|-------( A )--------( C )---------( E )---------| R3|
+---+ \-/ \-/ \-/ +---+ +---+ \-/ \-/ \-/ +---+
skipping to change at page 14, line 25 skipping to change at page 14, line 25
/ \ / \ / \ / \
/ \ / \ / \ / \
/ \ / \ / \ / \
/ \ / \ / \ / \
+---+ /-\ /-\ /-\ +---+ +---+ /-\ /-\ /-\ +---+
| R2|---------( B )---------( D )---------( F )---------| R4| | R2|---------( B )---------( D )---------( F )---------| R4|
+---+ \-/ \-/ \-/ +---+ +---+ \-/ \-/ \-/ +---+
Figure 5: Example packet optical topology Figure 5: Example packet optical topology
Consider the network topology depicted in Figure 5. This is a Consider the network topology depicted in Figure 5. This is a typical
typical packet optical transport deployment scenario where the WDM packet optical transport deployment scenario where the WDM layer
layer network domain serves as a Server Network Domain providing network domain serves as a Server Network Domain providing transport
transport connectivity to the packet layer network Domain (Client connectivity to the packet layer network Domain (Client Network
Network Domain). Nodes R1, R2, R3 and R4 are IP routers that are Domain). Nodes R1, R2, R3 and R4 are IP routers that are connected to
connected to an Optical WDM transport network. A, B, C, D, E and F an Optical WDM transport network. A, B, C, D, E and F are WDM nodes
are WDM nodes that constitute the Server Network Domain. that constitute the Server Network Domain.
| ***** B-F WDM Path | ***** B-F WDM Path
| @@@@@ B-E WDM Path | @@@@@ B-E WDM Path
| $$$$$ A-E WDM Path | $$$$$ A-E WDM Path
o-------------------- o--------------------
+---+ /-\ $$$$$$$$ /-\ $$$$$$$$$ /-\ +---+ +---+ /-\ $$$$$$$$ /-\ $$$$$$$$$ /-\ +---+
| R1|-------( A )--------( C )---------( E )---------| R3| | R1|-------( A )--------( C )---------( E )---------| R3|
+---+ \-/ @\-/ @@@@@@@@@ \-/ +---+ +---+ \-/ @\-/ @@@@@@@@@ \-/ +---+
@/ \ / \ @/ \ / \
skipping to change at page 15, line 42 skipping to change at page 15, line 42
The data model proposed in this document can be used to The data model proposed in this document can be used to
retrieve/represent/manipulate the customized TE Topology depicted in retrieve/represent/manipulate the customized TE Topology depicted in
Figure 6b. Figure 6b.
5. Modeling Considerations 5. Modeling Considerations
5.1. Generic network topology building blocks 5.1. Generic network topology building blocks
The generic network topology building blocks are discussed in [YANG- The generic network topology building blocks are discussed in [YANG-
NET-TOPO]. The TE Topology model proposed in this document augments NET-TOPO]. The TE Topology model proposed in this document augments
and uses the ietf-network-topology module defined in [YANG-NET- and uses the ietf-network-topology module defined in [YANG-NET-TOPO].
TOPO].
+------------------------+ +------------------------+
| Generic | | Generic |
| Network Topology Model | | Network Topology Model |
| (ietf-network-topology)| | (ietf-network-topology)|
+------------------------+ +------------------------+
| |
| |
| |
V V
skipping to change at page 16, line 25 skipping to change at page 16, line 23
| TE Topology | | TE Topology |
| Model | | Model |
| | | |
+------------------------+ +------------------------+
Figure 7: Augmenting the Generic Network Topology Model Figure 7: Augmenting the Generic Network Topology Model
5.2. Technology agnostic TE Topology model 5.2. Technology agnostic TE Topology model
The TE Topology model proposed in this document is meant to be The TE Topology model proposed in this document is meant to be
technology agnostic. Other technology specific TE Topology models technology agnostic. Other technology specific TE Topology models can
can augment and use the building blocks provided by the proposed augment and use the building blocks provided by the proposed model.
model.
+-------------------+ +-------------------+
| Generic | | Generic |
| TE Topology Model | | TE Topology Model |
+-------------------+ +-------------------+
| |
+-------------+-------------+-------------+ +-------------+-------------+-------------+
| | | | | | | |
V V V V V V V V
+------------+ +------------+ +------------+ +------------+
skipping to change at page 19, line 43 skipping to change at page 19, line 42
+--ro termination-capability* [link-tp] +--ro termination-capability* [link-tp]
| +--ro link-tp leafref | +--ro link-tp leafref
+--ro switching-capability identityref +--ro switching-capability identityref
+--ro encoding identityref +--ro encoding identityref
5.7. TED Information Sources 5.7. TED Information Sources
The model allows each TE topological element to have multiple TE The model allows each TE topological element to have multiple TE
information sources (OSPF-TE, ISIS-TE, BGP-LS, User-Configured, information sources (OSPF-TE, ISIS-TE, BGP-LS, User-Configured,
System-Processed, Other). Each information source is associated with System-Processed, Other). Each information source is associated with
a credibility preference to indicate precedence. In scenarios where a credibility preference to indicate precedence. In scenarios where a
a customized TE Topology is merged into a Client's native TE customized TE Topology is merged into a Client's native TE Topology,
Topology, the merged topological elements would point to the the merged topological elements would point to the corresponding
corresponding customized TE Topology as its information source. customized TE Topology as its information source.
augment /nw:networks/nw:network/nw:node: augment /nw:networks/nw:network/nw:node:
+--rw te! +--rw te!
........... ...........
+--ro state +--ro state
........ ........
+--ro information-source? enumeration +--ro information-source? enumeration
+--ro information-source-state +--ro information-source-state
+--ro credibility-preference? uint16 +--ro credibility-preference? uint16
+--ro topology +--ro topology
skipping to change at page 20, line 43 skipping to change at page 20, line 43
| +--ro routing-instance? string | +--ro routing-instance? string
+--ro alt-information-sources* [information-source] +--ro alt-information-sources* [information-source]
| ............ | ............
5.8. Overlay/Underlay Relationship 5.8. Overlay/Underlay Relationship
The model captures overlay and underlay relationship for TE The model captures overlay and underlay relationship for TE
nodes/links. For example - in networks where multiple TE Topologies nodes/links. For example - in networks where multiple TE Topologies
are built hierarchically, this model allows the user to start from a are built hierarchically, this model allows the user to start from a
specific topological element in the top most topology and traverse specific topological element in the top most topology and traverse
all the way down to the supporting topological elements in the all the way down to the supporting topological elements in the bottom
bottom most topology. most topology.
This relationship is captured via the "underlay-topology" field for This relationship is captured via the "underlay-topology" field for
the node and via the "underlay" field for the link. The use of these the node and via the "underlay" field for the link. The use of these
fields is optional and this functionality is tagged as a "feature" fields is optional and this functionality is tagged as a "feature"
("te-topology-hierarchy"). ("te-topology-hierarchy").
augment /nw:networks/nw:network/nw:node: augment /nw:networks/nw:network/nw:node:
+--rw te! +--rw te!
+--rw te-node-id te-node-id +--rw te-node-id te-node-id
+--rw config +--rw config
skipping to change at page 22, line 10 skipping to change at page 22, line 10
| | | ........... | | | ...........
| | | +--rw network-ref? leafref | | | +--rw network-ref? leafref
| | +--rw underlay-trail-des | | +--rw underlay-trail-des
| | ........... | | ...........
5.9. Scheduling Parameters 5.9. Scheduling Parameters
The model allows time scheduling parameters to be specified for each The model allows time scheduling parameters to be specified for each
topological element or for the topology as a whole. These parameters topological element or for the topology as a whole. These parameters
allow the provider to present different topological views to the allow the provider to present different topological views to the
client at different time slots. The use of "scheduling parameters" client at different time slots. The use of "scheduling parameters" is
is optional and this functionality is tagged as a "feature" optional and this functionality is tagged as a "feature"
("configuration-schedule"). The YANG data model for configuration ("configuration-schedule"). The YANG data model for configuration
scheduling is defined in [YANG-SCHEDULE] and imported by the TE scheduling is defined in [YANG-SCHEDULE] and imported by the TE
Topology module. Topology module.
5.10. Templates 5.10. Templates
The data model provides the users with the ability to define The data model provides the users with the ability to define
templates and apply them to link and node configurations. The use of templates and apply them to link and node configurations. The use of
"template" configuration is optional and this functionality is "template" configuration is optional and this functionality is tagged
tagged as a "feature" ("template"). as a "feature" ("template").
+--rw topology* [provider-id client-id te-topology-id] +--rw topology* [provider-id client-id te-topology-id]
| ........... | ...........
| +--rw node* [te-node-id] | +--rw node* [te-node-id]
| | +--rw te-node-template? leafref {template}? | | +--rw te-node-template? leafref {template}?
| | .......... | | ..........
| +--rw link* [source-te-node-id source-te-link-id dest-te-node- | +--rw link* [source-te-node-id source-te-link-id dest-te-node-id
id dest-te-link-id] dest-te-link-id]
| +--rw te-link-template? leafref {template}? | +--rw te-link-template? leafref {template}?
| .......... | ..........
+--rw node-template* [name] {template}? +--rw node-template* [name] {template}?
| +--rw name te-template-name | +--rw name te-template-name
| +--rw priority? uint16 | +--rw priority? uint16
| +--rw reference-change-policy? enumeration | +--rw reference-change-policy? enumeration
| +--rw te-node-attributes | +--rw te-node-attributes
| .......... | ..........
+--rw link-template* [name] {template}? +--rw link-template* [name] {template}?
+--rw name te-template-name +--rw name te-template-name
+--rw priority? uint16 +--rw priority? uint16
+--rw reference-change-policy? enumeration +--rw reference-change-policy? enumeration
+--rw te-link-attributes +--rw te-link-attributes
.......... ..........
Multiple templates can be specified to a configuration element. When Multiple templates can be specified to a configuration element. When
two or more templates specify values for the same configuration two or more templates specify values for the same configuration
field, the value from the template with the highest priority is field, the value from the template with the highest priority is used.
used. The reference-change-policy specifies the action that needs to The reference-change-policy specifies the action that needs to be
be taken when the template changes on a configuration element that taken when the template changes on a configuration element that has a
has a reference to this template. The choices of action include reference to this template. The choices of action include taking no
taking no action, rejecting the change to the template and applying action, rejecting the change to the template and applying the change
the change to the corresponding configuration. [Editor's Note: The to the corresponding configuration. [Editor's Note: The notion of
notion of "templates" has wider applicability. It is possible for "templates" has wider applicability. It is possible for this to be
this to be discussed in a separate document.] discussed in a separate document.]
5.11. Notifications 5.11. Notifications
Notifications are a key component of any topology data model. Notifications are a key component of any topology data model.
[YANG-PUSH] defines a subscription and push mechanism for YANG [YANG-PUSH] defines a subscription and push mechanism for YANG
datastores. This mechanism currently allows the user to: datastores. This mechanism currently allows the user to:
- Subscribe notifications on a per client basis - Subscribe notifications on a per client basis
- Specify subtree filters or xpath filters so that only interested - Specify subtree filters or xpath filters so that only interested
contents will be sent. contents will be sent.
- Specify either periodic or on-demand notifications. - Specify either periodic or on-demand notifications.
The authors would like to recommend the use of this mechanism for The authors would like to recommend the use of this mechanism for the
the TE-Topology notifications. They would also like to suggest the TE-Topology notifications. They would also like to suggest the
following extensions to [YANG-PUSH] following extensions to [YANG-PUSH]
- Specify specific entities that will trigger the push - Specify specific entities that will trigger the push
notifications. These entities can be specified by xpath, like the notifications. These entities can be specified by xpath, like the
way a filter is specified. way a filter is specified.
- Specify or limit the triggering event type, e.g. "add", "delete", - Specify or limit the triggering event type, e.g. "add", "delete",
"modify", or "all". The system sends the push notifications only "modify", or "all". The system sends the push notifications only
when such events happen on the triggering entities. when such events happen on the triggering entities.
skipping to change at page 26, line 20 skipping to change at page 26, line 20
| | +--rw node-ref? leafref | | +--rw node-ref? leafref
| | +--rw network-ref? leafref | | +--rw network-ref? leafref
| +--rw underlay-trail-des | +--rw underlay-trail-des
| +--rw tp-ref? leafref | +--rw tp-ref? leafref
| +--rw node-ref? leafref | +--rw node-ref? leafref
| +--rw network-ref? leafref | +--rw network-ref? leafref
+--rw admin-status? te-admin- +--rw admin-status? te-admin-
status status
+--rw performance-metric-throttle {te-performance- +--rw performance-metric-throttle {te-performance-
metric}? metric}?
| +--rw unidirectional-delay-offset? | +--rw unidirectional-delay-offset? uint32
uint32 | +--rw measure-interval? uint32
| +--rw measure-interval? | +--rw advertisement-interval? uint32
uint32 | +--rw suppression-interval? uint32
| +--rw advertisement-interval?
uint32
| +--rw suppression-interval?
uint32
| +--rw threshold-out | +--rw threshold-out
| | +--rw unidirectional-delay? | | +--rw unidirectional-delay?
uint32 uint32
| | +--rw unidirectional-min-delay? | | +--rw unidirectional-min-delay?
uint32 uint32
| | +--rw unidirectional-max-delay? | | +--rw unidirectional-max-delay?
uint32 uint32
| | +--rw unidirectional-delay-variation? | | +--rw unidirectional-delay-variation?
uint32 uint32
| | +--rw unidirectional-packet-loss? | | +--rw unidirectional-packet-loss?
skipping to change at page 47, line 11 skipping to change at page 47, line 5
performance-metric-normality performance-metric-normality
| | +--ro unidirectional-packet-loss? | | +--ro unidirectional-packet-loss?
performance-metric-normality performance-metric-normality
| | +--ro unidirectional-residual-bandwidth? | | +--ro unidirectional-residual-bandwidth?
performance-metric-normality performance-metric-normality
| | +--ro unidirectional-available-bandwidth? | | +--ro unidirectional-available-bandwidth?
performance-metric-normality performance-metric-normality
| | +--ro unidirectional-utilized-bandwidth? | | +--ro unidirectional-utilized-bandwidth?
performance-metric-normality performance-metric-normality
| +--ro link-protection-type? enumeration | +--ro link-protection-type? enumeration
| +--ro interface-switching-capability* [switching- | +--ro interface-switching-capability* [switching-capability]
capability]
| | +--ro switching-capability identityref | | +--ro switching-capability identityref
| | +--ro encoding? identityref | | +--ro encoding? identityref
| | +--ro max-lsp-bandwidth* [priority] | | +--ro max-lsp-bandwidth* [priority]
| | | +--ro priority uint8 | | | +--ro priority uint8
| | | +--ro bandwidth? decimal64 | | | +--ro bandwidth? decimal64
| | +--ro time-division-multiplex-capable | | +--ro time-division-multiplex-capable
| | | +--ro minimum-lsp-bandwidth? decimal64 | | | +--ro minimum-lsp-bandwidth? decimal64
| | | +--ro indication? enumeration | | | +--ro indication? enumeration
| | +--ro interface-adjustment-capability* [upper-sc] | | +--ro interface-adjustment-capability* [upper-sc]
| | +--ro upper-sc identityref | | +--ro upper-sc identityref
skipping to change at page 48, line 40 skipping to change at page 48, line 33
performance-metric-normality performance-metric-normality
| | +--ro unidirectional-packet-loss? | | +--ro unidirectional-packet-loss?
performance-metric-normality performance-metric-normality
| | +--ro unidirectional-residual-bandwidth? | | +--ro unidirectional-residual-bandwidth?
performance-metric-normality performance-metric-normality
| | +--ro unidirectional-available-bandwidth? | | +--ro unidirectional-available-bandwidth?
performance-metric-normality performance-metric-normality
| | +--ro unidirectional-utilized-bandwidth? | | +--ro unidirectional-utilized-bandwidth?
performance-metric-normality performance-metric-normality
| +--ro link-protection-type? enumeration | +--ro link-protection-type? enumeration
| +--ro interface-switching-capability* [switching- | +--ro interface-switching-capability* [switching-capability]
capability]
| | +--ro switching-capability identityref | | +--ro switching-capability identityref
| | +--ro encoding? identityref | | +--ro encoding? identityref
| | +--ro max-lsp-bandwidth* [priority] | | +--ro max-lsp-bandwidth* [priority]
| | | +--ro priority uint8 | | | +--ro priority uint8
| | | +--ro bandwidth? decimal64 | | | +--ro bandwidth? decimal64
| | +--ro time-division-multiplex-capable | | +--ro time-division-multiplex-capable
| | | +--ro minimum-lsp-bandwidth? decimal64 | | | +--ro minimum-lsp-bandwidth? decimal64
| | | +--ro indication? enumeration | | | +--ro indication? enumeration
| | +--ro interface-adjustment-capability* [upper-sc] | | +--ro interface-adjustment-capability* [upper-sc]
| | +--ro upper-sc identityref | | +--ro upper-sc identityref
skipping to change at page 49, line 32 skipping to change at page 49, line 24
augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te- augment /nw:networks/tet:te/tet:templates/tet:link-template/tet:te-
link-attributes/tet:interface-switching-capability: link-attributes/tet:interface-switching-capability:
+--rw packet-switch-capable +--rw packet-switch-capable
+--rw minimum-lsp-bandwidth? decimal64 +--rw minimum-lsp-bandwidth? decimal64
+--rw interface-mtu? uint16 +--rw interface-mtu? uint16
augment /nw:networks/nw:network/nt:link/tet:te/tet:config/tet:te- augment /nw:networks/nw:network/nt:link/tet:te/tet:config/tet:te-
link-attributes/tet:interface-switching-capability: link-attributes/tet:interface-switching-capability:
+--rw packet-switch-capable +--rw packet-switch-capable
+--rw minimum-lsp-bandwidth? decimal64 +--rw minimum-lsp-bandwidth? decimal64
+--rw interface-mtu? uint16 +--rw interface-mtu? uint16
augment /nw:networks/nw:network/nt:link/tet:te/tet:state/tet:te- augment /nw:networks/nw:network/nt:link/tet:te/tet:state/tet:te-link-
link-attributes/tet:interface-switching-capability: attributes/tet:interface-switching-capability:
+--ro packet-switch-capable +--ro packet-switch-capable
+--ro minimum-lsp-bandwidth? decimal64 +--ro minimum-lsp-bandwidth? decimal64
+--ro interface-mtu? uint16 +--ro interface-mtu? uint16
augment /nw:networks/nw:network/nt:link/tet:te/tet:state/tet:alt- augment /nw:networks/nw:network/nt:link/tet:te/tet:state/tet:alt-
information-sources/tet:interface-switching-capability: information-sources/tet:interface-switching-capability:
+--ro packet-switch-capable +--ro packet-switch-capable
+--ro minimum-lsp-bandwidth? decimal64 +--ro minimum-lsp-bandwidth? decimal64
+--ro interface-mtu? uint16 +--ro interface-mtu? uint16
augment /tet:te-link-event/tet:te-link-attributes/tet:interface- augment /tet:te-link-event/tet:te-link-attributes/tet:interface-
switching-capability: switching-capability:
+---- packet-switch-capable +---- packet-switch-capable
+---- minimum-lsp-bandwidth? decimal64 +---- minimum-lsp-bandwidth? decimal64
+---- interface-mtu? uint16 +---- interface-mtu? uint16
augment /tet:te-link-event/tet:alt-information- augment /tet:te-link-event/tet:alt-information-sources/tet:interface-
sources/tet:interface-switching-capability: switching-capability:
+---- packet-switch-capable +---- packet-switch-capable
+---- minimum-lsp-bandwidth? decimal64 +---- minimum-lsp-bandwidth? decimal64
+---- interface-mtu? uint16 +---- interface-mtu? uint16
7. TE Topology Yang Modules 7. TE Topology Yang Modules
7.1. Base TE Topology Module 7.1. Base TE Topology Module
<CODE BEGINS> file "ietf-te-topology@2016-03-17.yang" <CODE BEGINS> file "ietf-te-topology@2016-03-17.yang"
module ietf-te-topology { module ietf-te-topology {
skipping to change at page 53, line 8 skipping to change at page 53, line 5
description description
"Normal."; "Normal.";
} }
enum "abnormal" { enum "abnormal" {
value 2; value 2;
description description
"Abnormal. The anomalous bit is set."; "Abnormal. The anomalous bit is set.";
} }
} }
description description
"Indicates whether a performance metric is normal, abnormal, "Indicates whether a performance metric is normal, abnormal, or
or
unknown."; unknown.";
reference reference
"RFC7471: OSPF Traffic Engineering (TE) Metric Extensions."; "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions.";
} }
typedef te-admin-status { typedef te-admin-status {
type enumeration { type enumeration {
enum up { enum up {
description description
"Enabled."; "Enabled.";
skipping to change at page 54, line 7 skipping to change at page 54, line 4
enum maintenance { enum maintenance {
description description
"Resource is disabled in the data plane for maintenance "Resource is disabled in the data plane for maintenance
purposes."; purposes.";
} }
} }
description description
"Defines a type representing the administrative status of "Defines a type representing the administrative status of
a TE resource."; a TE resource.";
} }
typedef te-global-id { typedef te-global-id {
type uint32; type uint32;
description description
"An identifier to uniquely identify an operator, which can be "An identifier to uniquely identify an operator, which can be
either a provider or a client. either a provider or a client.
The definition of this type is taken from RFC6370 and The definition of this type is taken from RFC6370 and RFC5003.
RFC5003.
This attribute type is used solely to provide a globally This attribute type is used solely to provide a globally
unique context for TE topologies."; unique context for TE topologies.";
} }
typedef te-link-access-type { typedef te-link-access-type {
type enumeration { type enumeration {
enum point-to-point { enum point-to-point {
description description
"The link is point-to-point."; "The link is point-to-point.";
} }
skipping to change at page 56, line 14 skipping to change at page 56, line 9
type enumeration { type enumeration {
enum normal { enum normal {
description description
"Both the recovery and working spans are fully "Both the recovery and working spans are fully
allocated and active, data traffic is being allocated and active, data traffic is being
transported over (or selected from) the working transported over (or selected from) the working
span, and no trigger events are reported."; span, and no trigger events are reported.";
} }
enum recovery-started { enum recovery-started {
description description
"The recovery action has been started, but not "The recovery action has been started, but not completed.";
completed.";
} }
enum recovery-succeeded { enum recovery-succeeded {
description description
"The recovery action has succeeded. The working span has "The recovery action has succeeded. The working span has
reported a failure/degrade condition and the user traffic reported a failure/degrade condition and the user traffic
is being transported (or selected) on the recovery is being transported (or selected) on the recovery span.";
span.";
} }
enum recovery-failed { enum recovery-failed {
description description
"The recovery action has failed."; "The recovery action has failed.";
} }
enum reversion-started { enum reversion-started {
description description
"The reversion has started."; "The reversion has started.";
} }
enum reversion-failed { enum reversion-failed {
skipping to change at page 58, line 27 skipping to change at page 58, line 19
"An identifier for a topology."; "An identifier for a topology.";
} }
typedef te-tp-id { typedef te-tp-id {
type union { type union {
type uint32; // Unnumbered type uint32; // Unnumbered
type inet:ip-address; // IPv4 or IPv6 address type inet:ip-address; // IPv4 or IPv6 address
} }
description description
"An identifier for a TE link endpoint on a node. "An identifier for a TE link endpoint on a node.
This attribute is mapped to local or remote link identifier This attribute is mapped to local or remote link identifier in
in
RFC3630 and RFC5305."; RFC3630 and RFC5305.";
} }
/* /*
* Identities * Identities
*/ */
/* /*
* Groupings * Groupings
*/ */
skipping to change at page 64, line 23 skipping to change at page 64, line 15
description description
"Interval in seconds to suppress advertising the extended "Interval in seconds to suppress advertising the extended
metric values."; metric values.";
} }
container threshold-out { container threshold-out {
uses performance-metric-attributes; uses performance-metric-attributes;
description description
"If the measured parameter falls outside an upper bound "If the measured parameter falls outside an upper bound
for all but the min delay metric (or lower bound for for all but the min delay metric (or lower bound for
min-delay metric only) and the advertised value is not min-delay metric only) and the advertised value is not
already outside that bound, anomalous announcement will already outside that bound, anomalous announcement will be
be
triggered."; triggered.";
} }
container threshold-in { container threshold-in {
uses performance-metric-attributes; uses performance-metric-attributes;
description description
"If the measured parameter falls inside an upper bound "If the measured parameter falls inside an upper bound
for all but the min delay metric (or lower bound for for all but the min delay metric (or lower bound for
min-delay metric only) and the advertised value is not min-delay metric only) and the advertised value is not
already inside that bound, normal (anomalous-flag already inside that bound, normal (anomalous-flag cleared)
cleared)
announcement will be triggered."; announcement will be triggered.";
} }
container threshold-accelerated-advertisement { container threshold-accelerated-advertisement {
description description
"When the difference between the last advertised value and "When the difference between the last advertised value and
current measured value exceed this threshold, anomalous current measured value exceed this threshold, anomalous
announcement will be triggered."; announcement will be triggered.";
uses performance-metric-attributes; uses performance-metric-attributes;
} }
} }
} // performance-metric-throttle-container } // performance-metric-throttle-container
grouping te-link-augment { grouping te-link-augment {
description description
"Augmentation for TE link."; "Augmentation for TE link.";
container te { container te {
presence "TE support."; presence "TE support.";
description description
skipping to change at page 69, line 16 skipping to change at page 69, line 6
} // te-link-attributes } // te-link-attributes
} // te-link-config-attributes } // te-link-config-attributes
grouping te-link-info-attributes { grouping te-link-info-attributes {
description description
"Advertised TE information attributes."; "Advertised TE information attributes.";
leaf link-index { leaf link-index {
type uint64; type uint64;
description description
"The link identifier. If OSPF is used, this represents an "The link identifier. If OSPF is used, this represents an
ospfLsdbID. If IS-IS is used, this represents an ospfLsdbID. If IS-IS is used, this represents an isisLSPID.
isisLSPID. If a locally configured link is used, this object represents
If a locally configured link is used, this object
represents
a unique value, which is locally defined in a router."; a unique value, which is locally defined in a router.";
} }
leaf administrative-group { leaf administrative-group {
type te-types:admin-groups; type te-types:admin-groups;
description description
"Administrative group or color of the link. "Administrative group or color of the link.
This attribute covers both administrative group (defined in This attribute covers both administrative group (defined in
RFC3630, RFC5329, and RFC5305), and extended administrative RFC3630, RFC5329, and RFC5305), and extended administrative
group (defined in RFC7308)."; group (defined in RFC7308).";
} }
skipping to change at page 74, line 6 skipping to change at page 73, line 35
} }
} }
description description
"Indication whether the interface supports Standard or "Indication whether the interface supports Standard or
Arbitrary SONET/SDH"; Arbitrary SONET/SDH";
} }
} }
list interface-adjustment-capability { list interface-adjustment-capability {
key "upper-sc"; key "upper-sc";
description description
"List of Interface Adjustment Capability Descriptors "List of Interface Adjustment Capability Descriptors (IACD)
(IACD)
for this link."; for this link.";
reference reference
"RFC6001: Generalized MPLS (GMPLS) Protocol Extensions "RFC6001: Generalized MPLS (GMPLS) Protocol Extensions
for Multi-Layer and Multi-Region Networks (MLN/MRN)."; for Multi-Layer and Multi-Region Networks (MLN/MRN).";
leaf upper-sc { leaf upper-sc {
type identityref { type identityref {
base te-types:switching-capabilities; base te-types:switching-capabilities;
} }
description description
"Switching Capability for this interface."; "Switching Capability for this interface.";
skipping to change at page 77, line 16 skipping to change at page 76, line 43
leaf path-element-id { leaf path-element-id {
type uint32; type uint32;
description "To identify the element in a path."; description "To identify the element in a path.";
} }
uses te-path-element; uses te-path-element;
} }
} // underlay-primary-path } // underlay-primary-path
list underlay-backup-path { list underlay-backup-path {
key "index"; key "index";
description description
"A list of backup service paths on the underlay topology "A list of backup service paths on the underlay topology that
that
protect the underlay primary path. If the primary path is protect the underlay primary path. If the primary path is
not protected, the list contains zero elements. If the not protected, the list contains zero elements. If the
primary path is protected, the list contains one or more primary path is protected, the list contains one or more
elements."; elements.";
leaf index { leaf index {
type uint32; type uint32;
description description
"A sequence number to identify a backup path."; "A sequence number to identify a backup path.";
} }
uses te-topology-ref; uses te-topology-ref;
skipping to change at page 81, line 4 skipping to change at page 80, line 29
description description
"The administrative state of the link."; "The administrative state of the link.";
} }
uses te-node-connectivity-matrix; uses te-node-connectivity-matrix;
uses te-node-info-attributes; uses te-node-info-attributes;
} // te-node-attributes } // te-node-attributes
} // te-node-config-attributes } // te-node-config-attributes
grouping te-node-config-attributes-notification { grouping te-node-config-attributes-notification {
description description
"Configuration node attributes for template in a TE "Configuration node attributes for template in a TE topology.";
topology.";
container te-node-attributes { container te-node-attributes {
description "Containing node attributes in a TE topology."; description "Containing node attributes in a TE topology.";
uses sch:schedules; uses sch:schedules;
leaf admin-status { leaf admin-status {
type te-admin-status; type te-admin-status;
description description
"The administrative state of the link."; "The administrative state of the link.";
} }
uses te-node-connectivity-matrix-abs; uses te-node-connectivity-matrix-abs;
uses te-node-info-attributes; uses te-node-info-attributes;
} // te-node-attributes } // te-node-attributes
} // te-node-config-attributes-notification } // te-node-config-attributes-notification
grouping te-node-config-attributes-template { grouping te-node-config-attributes-template {
description description
"Configuration node attributes for template in a TE "Configuration node attributes for template in a TE topology.";
topology.";
container te-node-attributes { container te-node-attributes {
description "Containing node attributes in a TE topology."; description "Containing node attributes in a TE topology.";
uses sch:schedules; uses sch:schedules;
leaf admin-status { leaf admin-status {
type te-admin-status; type te-admin-status;
description description
"The administrative state of the link."; "The administrative state of the link.";
} }
uses te-node-info-attributes; uses te-node-info-attributes;
} // te-node-attributes } // te-node-attributes
skipping to change at page 91, line 4 skipping to change at page 90, line 28
"A reference to a provider-id."; "A reference to a provider-id.";
} }
leaf client-id-ref { leaf client-id-ref {
type leafref { type leafref {
path "/nw:networks/nw:network[nw:network-id = " path "/nw:networks/nw:network[nw:network-id = "
+ "current()/../network-id-ref]/tet:te/tet:client-id"; + "current()/../network-id-ref]/tet:te/tet:client-id";
require-instance false; require-instance false;
} }
description description
"A reference to a client-id."; "A reference to a client-id.";
} }
leaf te-topology-id-ref { leaf te-topology-id-ref {
type leafref { type leafref {
path "/nw:networks/nw:network[nw:network-id = " path "/nw:networks/nw:network[nw:network-id = "
+ "current()/../network-id-ref]/tet:te/tet:te-topology- + "current()/../network-id-ref]/tet:te/tet:te-topology-id";
id";
require-instance false; require-instance false;
} }
description description
"A reference to a te-topology-id."; "A reference to a te-topology-id.";
} }
leaf network-id-ref { leaf network-id-ref {
type leafref { type leafref {
path "/nw:networks/nw:network/nw:network-id"; path "/nw:networks/nw:network/nw:network-id";
require-instance false; require-instance false;
} }
skipping to change at page 92, line 29 skipping to change at page 92, line 11
} }
enum cascade { enum cascade {
description description
"When an attribute changes in this template, the "When an attribute changes in this template, the
configuration object referring to this template applies configuration object referring to this template applies
the new attribute value to the corresponding the new attribute value to the corresponding
configuration."; configuration.";
} }
} }
description description
"This attribute specifies the action taken to a "This attribute specifies the action taken to a configuration
configuration
node that has a reference to this template."; node that has a reference to this template.";
} }
} // template-attributes } // template-attributes
/* /*
* Configuration data nodes * Configuration data nodes
*/ */
augment "/nw:networks/nw:network/nw:network-types" { augment "/nw:networks/nw:network/nw:network-types" {
description description
"Introduce new network type for TE topology."; "Introduce new network type for TE topology.";
skipping to change at page 100, line 29 skipping to change at page 100, line 7
Scheduling", draft-liu-netmod-yang-schedule-00 (Work in Scheduling", draft-liu-netmod-yang-schedule-00 (Work in
Progress). Progress).
10.2. Informative References 10.2. Informative References
[RFC2702] Awduche, D., "Requirements for Traffic Engineering Over [RFC2702] Awduche, D., "Requirements for Traffic Engineering Over
MPLS", RFC 2702, September 1999. MPLS", RFC 2702, September 1999.
11. Acknowledgments 11. Acknowledgments
The authors would like to thank Lou Berger, Sue Hares, Mazen The authors would like to thank Lou Berger, Sue Hares, Mazen Khaddam,
Khaddam, Cyril Margaria and Zafar Ali for participating in design Cyril Margaria and Zafar Ali for participating in design discussions
discussions and providing valuable insights. and providing valuable insights.
Contributors Contributors
Sergio Belotti Sergio Belotti
Alcatel Lucent Alcatel Lucent
Email: sergio.belotti@alcatel-lucent.com Email: sergio.belotti@alcatel-lucent.com
Dieter Beller Dieter Beller
Alcatel Lucent Alcatel Lucent
Email: dieter.beller@alcatel-lucent.com Email: dieter.beller@alcatel-lucent.com
 End of changes. 50 change blocks. 
125 lines changed or deleted 98 lines changed or added

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