Network Working Group X. Liu
Internet-Draft Jabil
Intended status: Standards Track I. Bryskin
Expires: September 2, 2018 Huawei Technologies
V. Beeram
Juniper Networks
T. Saad
Cisco Systems Inc
H. Shah
Ciena
O. Gonzalez de Dios
Telefonica
March 1, 2018
YANG Data Model for Layer 3 TE Topologies
draft-ietf-teas-yang-l3-te-topo-01
Abstract
This document defines a YANG data model for layer 3 traffic
engineering topologies.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 2, 2018.
Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
Liu, et al. Expires September 2, 2018 [Page 1]
Internet-Draft YANG L3 TE Topology March 2018
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
2. Modeling Considerations . . . . . . . . . . . . . . . . . . . 3
2.1. Relationship Between Layer 3 Topology and TE topology . . 3
2.2. Relationship Modeling . . . . . . . . . . . . . . . . . . 3
3. Model Structure . . . . . . . . . . . . . . . . . . . . . . . 3
3.1. Layer 3 TE Topology Module . . . . . . . . . . . . . . . 3
3.2. Packet Switching TE Topology Module . . . . . . . . . . . 4
4. YANG Modules . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1. Layer 3 TE Topology Module . . . . . . . . . . . . . . . 18
4.2. Packet Switching TE Topology Module . . . . . . . . . . . 22
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 27
6. Security Considerations . . . . . . . . . . . . . . . . . . . 28
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 28
7.1. Normative References . . . . . . . . . . . . . . . . . . 28
7.2. Informative References . . . . . . . . . . . . . . . . . 29
Appendix A. Companion YANG Model for Non-NMDA Compliant
Implementations . . . . . . . . . . . . . . . . . . 30
A.1. Layer 3 TE Topology State Module . . . . . . . . . . . . 30
A.2. Packet Switching TE Topology State Module . . . . . . . . 32
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 36
1. Introduction
This document defines a YANG [RFC7950] data model for describing the
relationship between a layer 3 network topology
[I-D.ietf-i2rs-yang-l3-topology] and a TE topology
[I-D.ietf-teas-yang-te-topo].
When traffic engineering is enabled on a layer 3 network topology,
there will be a corresponding TE topology. The TE topology may or
may not be congruent to the layer 3 network topology. When such a
congruent TE topology exists, there will be a one-to-one association
between the one modeling element in the layer 3 topology to another
element in the TE topology. When such a congruent TE topology does
not exist, the association will not be one-to-one. This YANG data
model allows both cases.
Liu, et al. Expires September 2, 2018 [Page 2]
Internet-Draft YANG L3 TE Topology March 2018
1.1. Terminology
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP
14, [RFC2119].
The following terms are defined in [RFC7950] and are not redefined
here:
o augment
o data model
o data node
2. Modeling Considerations
2.1. Relationship Between Layer 3 Topology and TE topology
In general, layer 3 network topology model and TE topology model can
be used independently. When traffic engineering is enabled on a
layer 3 network topology, there will be associations between objects
in layer 3 network topologies and objects in TE topologies. The
properties of these relations are:
o The associations are between objects of the same class, i.e. node
to node or link to link.
o The multiplicity of such an association is: 0..1 to 0..1. An
object in a layer 3 network may have zero or one associated object
in the corresponding TE network.
2.2. Relationship Modeling
YANG data type leafref is used to model the association relationship
between a layer 3 network topology and a TE topology. YANG must
statements are used to enforce the referenced objects are in the
topologies of proper type.
3. Model Structure
3.1. Layer 3 TE Topology Module
The model tree structure of the layer 3 TE topology module is as
shown below:
Liu, et al. Expires September 2, 2018 [Page 3]
Internet-Draft YANG L3 TE Topology March 2018
module: ietf-l3-te-topology
augment /nw:networks/nw:network/nw:network-types
/l3t:l3-unicast-topology:
+--rw l3-te!
augment /nw:networks/nw:network/l3t:l3-topology-attributes:
+--rw l3-te-topology-attributes
+--rw network-ref? -> /nw:networks/network/network-id
augment /nw:networks/nw:network/nw:node/l3t:l3-node-attributes:
+--rw l3-te-node-attributes
+--rw node-ref? -> /nw:networks
/network[nw:network-id=current()/../network-ref]/node/node-id
+--rw network-ref? -> /nw:networks/network/network-id
augment /nw:networks/nw:network/nw:node/nt:termination-point
/l3t:l3-termination-point-attributes:
+--rw l3-te-tp-attributes
+--rw tp-ref? -> /nw:networks
/network[nw:network-id=current()/../network-ref]
/node[nw:node-id=current()/../node-ref]/nt:termination-point/tp-id
+--rw node-ref? -> /nw:networks
/network[nw:network-id=current()/../network-ref]/node/node-id
+--rw network-ref? -> /nw:networks/network/network-id
augment /nw:networks/nw:network/nt:link/l3t:l3-link-attributes:
+--rw l3-te-link-attributes
+--rw link-ref? -> /nw:networks
/network[nw:network-id=current()/../network-ref]/nt:link/link-id
+--rw network-ref? -> /nw:networks/network/network-id
3.2. Packet Switching TE Topology Module
This is an augmentation to base TE topology model.
module: ietf-te-topology-packet
augment /nd:networks/nd:network/nd:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices:
+--rw performance-metric
+--rw measurement
| +--rw unidirectional-delay? uint32
| +--rw unidirectional-min-delay? uint32
| +--rw unidirectional-max-delay? uint32
| +--rw unidirectional-delay-variation? uint32
| +--rw unidirectional-packet-loss? decimal64
| +--rw unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
Liu, et al. Expires September 2, 2018 [Page 4]
Internet-Draft YANG L3 TE Topology March 2018
+--rw normality
| +--rw unidirectional-delay?
te-types:performance-metric-normality
| +--rw unidirectional-min-delay?
te-types:performance-metric-normality
| +--rw unidirectional-max-delay?
te-types:performance-metric-normality
| +--rw unidirectional-delay-variation?
te-types:performance-metric-normality
| +--rw unidirectional-packet-loss?
te-types:performance-metric-normality
| +--rw unidirectional-residual-bandwidth?
te-types:performance-metric-normality
| +--rw unidirectional-available-bandwidth?
te-types:performance-metric-normality
| +--rw unidirectional-utilized-bandwidth?
te-types:performance-metric-normality
+--rw throttle
+--rw unidirectional-delay-offset? uint32
+--rw measure-interval? uint32
+--rw advertisement-interval? uint32
+--rw suppression-interval? uint32
+--rw threshold-out
| +--rw unidirectional-delay? uint32
| +--rw unidirectional-min-delay? uint32
| +--rw unidirectional-max-delay? uint32
| +--rw unidirectional-delay-variation? uint32
| +--rw unidirectional-packet-loss? decimal64
| +--rw unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw threshold-in
| +--rw unidirectional-delay? uint32
| +--rw unidirectional-min-delay? uint32
| +--rw unidirectional-max-delay? uint32
| +--rw unidirectional-delay-variation? uint32
| +--rw unidirectional-packet-loss? decimal64
| +--rw unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw threshold-accelerated-advertisement
+--rw unidirectional-delay? uint32
Liu, et al. Expires September 2, 2018 [Page 5]
Internet-Draft YANG L3 TE Topology March 2018
+--rw unidirectional-min-delay? uint32
+--rw unidirectional-max-delay? uint32
+--rw unidirectional-delay-variation? uint32
+--rw unidirectional-packet-loss? decimal64
+--rw unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
augment /nd:networks/nd:network/nd:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:connectivity-matrix:
+--rw performance-metric
+--rw measurement
| +--rw unidirectional-delay? uint32
| +--rw unidirectional-min-delay? uint32
| +--rw unidirectional-max-delay? uint32
| +--rw unidirectional-delay-variation? uint32
| +--rw unidirectional-packet-loss? decimal64
| +--rw unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw normality
| +--rw unidirectional-delay?
te-types:performance-metric-normality
| +--rw unidirectional-min-delay?
te-types:performance-metric-normality
| +--rw unidirectional-max-delay?
te-types:performance-metric-normality
| +--rw unidirectional-delay-variation?
te-types:performance-metric-normality
| +--rw unidirectional-packet-loss?
te-types:performance-metric-normality
| +--rw unidirectional-residual-bandwidth?
te-types:performance-metric-normality
| +--rw unidirectional-available-bandwidth?
te-types:performance-metric-normality
| +--rw unidirectional-utilized-bandwidth?
te-types:performance-metric-normality
+--rw throttle
+--rw unidirectional-delay-offset? uint32
+--rw measure-interval? uint32
+--rw advertisement-interval? uint32
+--rw suppression-interval? uint32
Liu, et al. Expires September 2, 2018 [Page 6]
Internet-Draft YANG L3 TE Topology March 2018
+--rw threshold-out
| +--rw unidirectional-delay? uint32
| +--rw unidirectional-min-delay? uint32
| +--rw unidirectional-max-delay? uint32
| +--rw unidirectional-delay-variation? uint32
| +--rw unidirectional-packet-loss? decimal64
| +--rw unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw threshold-in
| +--rw unidirectional-delay? uint32
| +--rw unidirectional-min-delay? uint32
| +--rw unidirectional-max-delay? uint32
| +--rw unidirectional-delay-variation? uint32
| +--rw unidirectional-packet-loss? decimal64
| +--rw unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw threshold-accelerated-advertisement
+--rw unidirectional-delay? uint32
+--rw unidirectional-min-delay? uint32
+--rw unidirectional-max-delay? uint32
+--rw unidirectional-delay-variation? uint32
+--rw unidirectional-packet-loss? decimal64
+--rw unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
augment /nd:networks/nd:network/nd:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices:
+--ro performance-metric
+--ro measurement
| +--ro unidirectional-delay? uint32
| +--ro unidirectional-min-delay? uint32
| +--ro unidirectional-max-delay? uint32
| +--ro unidirectional-delay-variation? uint32
| +--ro unidirectional-packet-loss? decimal64
| +--ro unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--ro unidirectional-available-bandwidth?
Liu, et al. Expires September 2, 2018 [Page 7]
Internet-Draft YANG L3 TE Topology March 2018
rt-types:bandwidth-ieee-float32
| +--ro unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--ro normality
| +--ro unidirectional-delay?
te-types:performance-metric-normality
| +--ro unidirectional-min-delay?
te-types:performance-metric-normality
| +--ro unidirectional-max-delay?
te-types:performance-metric-normality
| +--ro unidirectional-delay-variation?
te-types:performance-metric-normality
| +--ro unidirectional-packet-loss?
te-types:performance-metric-normality
| +--ro unidirectional-residual-bandwidth?
te-types:performance-metric-normality
| +--ro unidirectional-available-bandwidth?
te-types:performance-metric-normality
| +--ro unidirectional-utilized-bandwidth?
te-types:performance-metric-normality
+--ro throttle
+--ro unidirectional-delay-offset? uint32
+--ro measure-interval? uint32
+--ro advertisement-interval? uint32
+--ro suppression-interval? uint32
+--ro threshold-out
| +--ro unidirectional-delay? uint32
| +--ro unidirectional-min-delay? uint32
| +--ro unidirectional-max-delay? uint32
| +--ro unidirectional-delay-variation? uint32
| +--ro unidirectional-packet-loss? decimal64
| +--ro unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--ro unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--ro unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--ro threshold-in
| +--ro unidirectional-delay? uint32
| +--ro unidirectional-min-delay? uint32
| +--ro unidirectional-max-delay? uint32
| +--ro unidirectional-delay-variation? uint32
| +--ro unidirectional-packet-loss? decimal64
| +--ro unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--ro unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--ro unidirectional-utilized-bandwidth?
Liu, et al. Expires September 2, 2018 [Page 8]
Internet-Draft YANG L3 TE Topology March 2018
rt-types:bandwidth-ieee-float32
+--ro threshold-accelerated-advertisement
+--ro unidirectional-delay? uint32
+--ro unidirectional-min-delay? uint32
+--ro unidirectional-max-delay? uint32
+--ro unidirectional-delay-variation? uint32
+--ro unidirectional-packet-loss? decimal64
+--ro unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
+--ro unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
+--ro unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
augment /nd:networks/nd:network/nd:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix:
+--ro performance-metric
+--ro measurement
| +--ro unidirectional-delay? uint32
| +--ro unidirectional-min-delay? uint32
| +--ro unidirectional-max-delay? uint32
| +--ro unidirectional-delay-variation? uint32
| +--ro unidirectional-packet-loss? decimal64
| +--ro unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--ro unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--ro unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--ro normality
| +--ro unidirectional-delay?
te-types:performance-metric-normality
| +--ro unidirectional-min-delay?
te-types:performance-metric-normality
| +--ro unidirectional-max-delay?
te-types:performance-metric-normality
| +--ro unidirectional-delay-variation?
te-types:performance-metric-normality
| +--ro unidirectional-packet-loss?
te-types:performance-metric-normality
| +--ro unidirectional-residual-bandwidth?
te-types:performance-metric-normality
| +--ro unidirectional-available-bandwidth?
te-types:performance-metric-normality
| +--ro unidirectional-utilized-bandwidth?
te-types:performance-metric-normality
+--ro throttle
+--ro unidirectional-delay-offset? uint32
Liu, et al. Expires September 2, 2018 [Page 9]
Internet-Draft YANG L3 TE Topology March 2018
+--ro measure-interval? uint32
+--ro advertisement-interval? uint32
+--ro suppression-interval? uint32
+--ro threshold-out
| +--ro unidirectional-delay? uint32
| +--ro unidirectional-min-delay? uint32
| +--ro unidirectional-max-delay? uint32
| +--ro unidirectional-delay-variation? uint32
| +--ro unidirectional-packet-loss? decimal64
| +--ro unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--ro unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--ro unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--ro threshold-in
| +--ro unidirectional-delay? uint32
| +--ro unidirectional-min-delay? uint32
| +--ro unidirectional-max-delay? uint32
| +--ro unidirectional-delay-variation? uint32
| +--ro unidirectional-packet-loss? decimal64
| +--ro unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--ro unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--ro unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--ro threshold-accelerated-advertisement
+--ro unidirectional-delay? uint32
+--ro unidirectional-min-delay? uint32
+--ro unidirectional-max-delay? uint32
+--ro unidirectional-delay-variation? uint32
+--ro unidirectional-packet-loss? decimal64
+--ro unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
+--ro unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
+--ro unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
augment /nd:networks/nd:network/nd:node/tet:te
/tet:tunnel-termination-point/tet:local-link-connectivities:
+--rw performance-metric
+--rw measurement
| +--rw unidirectional-delay? uint32
| +--rw unidirectional-min-delay? uint32
| +--rw unidirectional-max-delay? uint32
| +--rw unidirectional-delay-variation? uint32
| +--rw unidirectional-packet-loss? decimal64
Liu, et al. Expires September 2, 2018 [Page 10]
Internet-Draft YANG L3 TE Topology March 2018
| +--rw unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw normality
| +--rw unidirectional-delay?
te-types:performance-metric-normality
| +--rw unidirectional-min-delay?
te-types:performance-metric-normality
| +--rw unidirectional-max-delay?
te-types:performance-metric-normality
| +--rw unidirectional-delay-variation?
te-types:performance-metric-normality
| +--rw unidirectional-packet-loss?
te-types:performance-metric-normality
| +--rw unidirectional-residual-bandwidth?
te-types:performance-metric-normality
| +--rw unidirectional-available-bandwidth?
te-types:performance-metric-normality
| +--rw unidirectional-utilized-bandwidth?
te-types:performance-metric-normality
+--rw throttle
+--rw unidirectional-delay-offset? uint32
+--rw measure-interval? uint32
+--rw advertisement-interval? uint32
+--rw suppression-interval? uint32
+--rw threshold-out
| +--rw unidirectional-delay? uint32
| +--rw unidirectional-min-delay? uint32
| +--rw unidirectional-max-delay? uint32
| +--rw unidirectional-delay-variation? uint32
| +--rw unidirectional-packet-loss? decimal64
| +--rw unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw threshold-in
| +--rw unidirectional-delay? uint32
| +--rw unidirectional-min-delay? uint32
| +--rw unidirectional-max-delay? uint32
| +--rw unidirectional-delay-variation? uint32
| +--rw unidirectional-packet-loss? decimal64
| +--rw unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
Liu, et al. Expires September 2, 2018 [Page 11]
Internet-Draft YANG L3 TE Topology March 2018
| +--rw unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw threshold-accelerated-advertisement
+--rw unidirectional-delay? uint32
+--rw unidirectional-min-delay? uint32
+--rw unidirectional-max-delay? uint32
+--rw unidirectional-delay-variation? uint32
+--rw unidirectional-packet-loss? decimal64
+--rw unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
augment /nd:networks/nd:network/nd:node/tet:te
/tet:tunnel-termination-point/tet:local-link-connectivities
/tet:local-link-connectivity:
+--rw performance-metric
+--rw measurement
| +--rw unidirectional-delay? uint32
| +--rw unidirectional-min-delay? uint32
| +--rw unidirectional-max-delay? uint32
| +--rw unidirectional-delay-variation? uint32
| +--rw unidirectional-packet-loss? decimal64
| +--rw unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw normality
| +--rw unidirectional-delay?
te-types:performance-metric-normality
| +--rw unidirectional-min-delay?
te-types:performance-metric-normality
| +--rw unidirectional-max-delay?
te-types:performance-metric-normality
| +--rw unidirectional-delay-variation?
te-types:performance-metric-normality
| +--rw unidirectional-packet-loss?
te-types:performance-metric-normality
| +--rw unidirectional-residual-bandwidth?
te-types:performance-metric-normality
| +--rw unidirectional-available-bandwidth?
te-types:performance-metric-normality
| +--rw unidirectional-utilized-bandwidth?
Liu, et al. Expires September 2, 2018 [Page 12]
Internet-Draft YANG L3 TE Topology March 2018
te-types:performance-metric-normality
+--rw throttle
+--rw unidirectional-delay-offset? uint32
+--rw measure-interval? uint32
+--rw advertisement-interval? uint32
+--rw suppression-interval? uint32
+--rw threshold-out
| +--rw unidirectional-delay? uint32
| +--rw unidirectional-min-delay? uint32
| +--rw unidirectional-max-delay? uint32
| +--rw unidirectional-delay-variation? uint32
| +--rw unidirectional-packet-loss? decimal64
| +--rw unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw threshold-in
| +--rw unidirectional-delay? uint32
| +--rw unidirectional-min-delay? uint32
| +--rw unidirectional-max-delay? uint32
| +--rw unidirectional-delay-variation? uint32
| +--rw unidirectional-packet-loss? decimal64
| +--rw unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw threshold-accelerated-advertisement
+--rw unidirectional-delay? uint32
+--rw unidirectional-min-delay? uint32
+--rw unidirectional-max-delay? uint32
+--rw unidirectional-delay-variation? uint32
+--rw unidirectional-packet-loss? decimal64
+--rw unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
augment /nd:networks/tet:te/tet:templates/tet:link-template
/tet:te-link-attributes:
+--rw performance-metric
+--rw measurement
| +--rw unidirectional-delay? uint32
| +--rw unidirectional-min-delay? uint32
Liu, et al. Expires September 2, 2018 [Page 13]
Internet-Draft YANG L3 TE Topology March 2018
| +--rw unidirectional-max-delay? uint32
| +--rw unidirectional-delay-variation? uint32
| +--rw unidirectional-packet-loss? decimal64
| +--rw unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw normality
| +--rw unidirectional-delay?
te-types:performance-metric-normality
| +--rw unidirectional-min-delay?
te-types:performance-metric-normality
| +--rw unidirectional-max-delay?
te-types:performance-metric-normality
| +--rw unidirectional-delay-variation?
te-types:performance-metric-normality
| +--rw unidirectional-packet-loss?
te-types:performance-metric-normality
| +--rw unidirectional-residual-bandwidth?
te-types:performance-metric-normality
| +--rw unidirectional-available-bandwidth?
te-types:performance-metric-normality
| +--rw unidirectional-utilized-bandwidth?
te-types:performance-metric-normality
+--rw throttle
+--rw unidirectional-delay-offset? uint32
+--rw measure-interval? uint32
+--rw advertisement-interval? uint32
+--rw suppression-interval? uint32
+--rw threshold-out
| +--rw unidirectional-delay? uint32
| +--rw unidirectional-min-delay? uint32
| +--rw unidirectional-max-delay? uint32
| +--rw unidirectional-delay-variation? uint32
| +--rw unidirectional-packet-loss? decimal64
| +--rw unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw threshold-in
| +--rw unidirectional-delay? uint32
| +--rw unidirectional-min-delay? uint32
| +--rw unidirectional-max-delay? uint32
| +--rw unidirectional-delay-variation? uint32
Liu, et al. Expires September 2, 2018 [Page 14]
Internet-Draft YANG L3 TE Topology March 2018
| +--rw unidirectional-packet-loss? decimal64
| +--rw unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw threshold-accelerated-advertisement
+--rw unidirectional-delay? uint32
+--rw unidirectional-min-delay? uint32
+--rw unidirectional-max-delay? uint32
+--rw unidirectional-delay-variation? uint32
+--rw unidirectional-packet-loss? decimal64
+--rw unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
augment /nd:networks/nd:network/lnk:link/tet:te
/tet:te-link-attributes:
+--rw performance-metric
+--rw measurement
| +--rw unidirectional-delay? uint32
| +--rw unidirectional-min-delay? uint32
| +--rw unidirectional-max-delay? uint32
| +--rw unidirectional-delay-variation? uint32
| +--rw unidirectional-packet-loss? decimal64
| +--rw unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw normality
| +--rw unidirectional-delay?
te-types:performance-metric-normality
| +--rw unidirectional-min-delay?
te-types:performance-metric-normality
| +--rw unidirectional-max-delay?
te-types:performance-metric-normality
| +--rw unidirectional-delay-variation?
te-types:performance-metric-normality
| +--rw unidirectional-packet-loss?
te-types:performance-metric-normality
| +--rw unidirectional-residual-bandwidth?
te-types:performance-metric-normality
| +--rw unidirectional-available-bandwidth?
Liu, et al. Expires September 2, 2018 [Page 15]
Internet-Draft YANG L3 TE Topology March 2018
te-types:performance-metric-normality
| +--rw unidirectional-utilized-bandwidth?
te-types:performance-metric-normality
+--rw throttle
+--rw unidirectional-delay-offset? uint32
+--rw measure-interval? uint32
+--rw advertisement-interval? uint32
+--rw suppression-interval? uint32
+--rw threshold-out
| +--rw unidirectional-delay? uint32
| +--rw unidirectional-min-delay? uint32
| +--rw unidirectional-max-delay? uint32
| +--rw unidirectional-delay-variation? uint32
| +--rw unidirectional-packet-loss? decimal64
| +--rw unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw threshold-in
| +--rw unidirectional-delay? uint32
| +--rw unidirectional-min-delay? uint32
| +--rw unidirectional-max-delay? uint32
| +--rw unidirectional-delay-variation? uint32
| +--rw unidirectional-packet-loss? decimal64
| +--rw unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--rw unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw threshold-accelerated-advertisement
+--rw unidirectional-delay? uint32
+--rw unidirectional-min-delay? uint32
+--rw unidirectional-max-delay? uint32
+--rw unidirectional-delay-variation? uint32
+--rw unidirectional-packet-loss? decimal64
+--rw unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
+--rw unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
augment /nd:networks/nd:network/lnk:link/tet:te
/tet:information-source-entry:
+--ro performance-metric
+--ro measurement
Liu, et al. Expires September 2, 2018 [Page 16]
Internet-Draft YANG L3 TE Topology March 2018
| +--ro unidirectional-delay? uint32
| +--ro unidirectional-min-delay? uint32
| +--ro unidirectional-max-delay? uint32
| +--ro unidirectional-delay-variation? uint32
| +--ro unidirectional-packet-loss? decimal64
| +--ro unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--ro unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--ro unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--ro normality
| +--ro unidirectional-delay?
te-types:performance-metric-normality
| +--ro unidirectional-min-delay?
te-types:performance-metric-normality
| +--ro unidirectional-max-delay?
te-types:performance-metric-normality
| +--ro unidirectional-delay-variation?
te-types:performance-metric-normality
| +--ro unidirectional-packet-loss?
te-types:performance-metric-normality
| +--ro unidirectional-residual-bandwidth?
te-types:performance-metric-normality
| +--ro unidirectional-available-bandwidth?
te-types:performance-metric-normality
| +--ro unidirectional-utilized-bandwidth?
te-types:performance-metric-normality
+--ro throttle
+--ro unidirectional-delay-offset? uint32
+--ro measure-interval? uint32
+--ro advertisement-interval? uint32
+--ro suppression-interval? uint32
+--ro threshold-out
| +--ro unidirectional-delay? uint32
| +--ro unidirectional-min-delay? uint32
| +--ro unidirectional-max-delay? uint32
| +--ro unidirectional-delay-variation? uint32
| +--ro unidirectional-packet-loss? decimal64
| +--ro unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--ro unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--ro unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--ro threshold-in
| +--ro unidirectional-delay? uint32
| +--ro unidirectional-min-delay? uint32
Liu, et al. Expires September 2, 2018 [Page 17]
Internet-Draft YANG L3 TE Topology March 2018
| +--ro unidirectional-max-delay? uint32
| +--ro unidirectional-delay-variation? uint32
| +--ro unidirectional-packet-loss? decimal64
| +--ro unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
| +--ro unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
| +--ro unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
+--ro threshold-accelerated-advertisement
+--ro unidirectional-delay? uint32
+--ro unidirectional-min-delay? uint32
+--ro unidirectional-max-delay? uint32
+--ro unidirectional-delay-variation? uint32
+--ro unidirectional-packet-loss? decimal64
+--ro unidirectional-residual-bandwidth?
rt-types:bandwidth-ieee-float32
+--ro unidirectional-available-bandwidth?
rt-types:bandwidth-ieee-float32
+--ro unidirectional-utilized-bandwidth?
rt-types:bandwidth-ieee-float32
augment /nd:networks/tet:te/tet:templates/tet:link-template
/tet:te-link-attributes/tet:interface-switching-capability:
+--rw packet-switch-capable
+--rw minimum-lsp-bandwidth? rt-types:bandwidth-ieee-float32
+--rw interface-mtu? uint16
augment /nd:networks/nd:network/lnk:link/tet:te
/tet:te-link-attributes/tet:interface-switching-capability:
+--rw packet-switch-capable
+--rw minimum-lsp-bandwidth? rt-types:bandwidth-ieee-float32
+--rw interface-mtu? uint16
augment /nd:networks/nd:network/lnk:link/tet:te
/tet:information-source-entry/tet:interface-switching-capability:
+--ro packet-switch-capable
+--ro minimum-lsp-bandwidth? rt-types:bandwidth-ieee-float32
+--ro interface-mtu? uint16
4. YANG Modules
4.1. Layer 3 TE Topology Module
<CODE BEGINS> file "ietf-l3-te-topology@2018-02-28.yang"
module ietf-l3-te-topology {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-l3-te-topology";
prefix "l3tet";
Liu, et al. Expires September 2, 2018 [Page 18]
Internet-Draft YANG L3 TE Topology March 2018
import ietf-network {
prefix "nw";
}
import ietf-network-topology {
prefix "nt";
}
import ietf-l3-unicast-topology {
prefix "l3t";
}
import ietf-te-topology {
prefix "tet";
}
organization "TBD";
contact "TBD";
description "L3 TE Topology model";
revision 2018-02-28 {
description "Initial revision";
reference "TBD";
}
grouping l3-te-topology-type {
description
"Identifies the L3 TE topology type.";
container l3-te {
presence "indiates L3 TE Topology";
description
"Its presence identifies the L3 TE topology type.";
}
}
augment "/nw:networks/nw:network/nw:network-types/"
+ "l3t:l3-unicast-topology" {
description
"Defines the L3 TE topology type.";
uses l3-te-topology-type;
}
augment "/nw:networks/nw:network/l3t:l3-topology-attributes" {
when "../nw:network-types/l3t:l3-unicast-topology/l3tet:l3-te" {
description "Augment only for L3 TE topology";
}
description "Augment topology configuration";
uses l3-te-topology-attributes;
}
Liu, et al. Expires September 2, 2018 [Page 19]
Internet-Draft YANG L3 TE Topology March 2018
augment "/nw:networks/nw:network/nw:node/l3t:l3-node-attributes" {
when "../../nw:network-types/l3t:l3-unicast-topology/"
+ "l3tet:l3-te" {
description "Augment only for L3 TE topology";
}
description "Augment node configuration";
uses l3-te-node-attributes;
}
augment "/nw:networks/nw:network/nw:node/nt:termination-point/"
+ "l3t:l3-termination-point-attributes" {
when "../../../nw:network-types/l3t:l3-unicast-topology/"
+ "l3tet:l3-te" {
description "Augment only for L3 TE topology";
}
description "Augment termination point configuration";
uses l3-te-tp-attributes;
}
augment "/nw:networks/nw:network/nt:link/l3t:l3-link-attributes" {
when "../../nw:network-types/l3t:l3-unicast-topology/"
+ "l3tet:l3-te" {
description "Augment only for L3 TE topology";
}
description "Augment link configuration";
uses l3-te-link-attributes;
}
grouping l3-te-topology-attributes {
description "L3 TE topology scope attributes";
container l3-te-topology-attributes {
must "/nw:networks/nw:network"
+ "[nw:network-id = current()/network-ref]/nw:network-types/"
+ "tet:te-topology" {
error-message
"The referenced network must be a TE topology.";
description
"The referenced network must be a TE topology.";
}
description "Containing TE topology references";
uses nw:network-ref;
} // l3-te-topology-attributes
} // l3-te-topology-attributes
grouping l3-te-node-attributes {
description "L3 TE node scope attributes";
container l3-te-node-attributes {
must "/nw:networks/nw:network"
Liu, et al. Expires September 2, 2018 [Page 20]
Internet-Draft YANG L3 TE Topology March 2018
+ "[nw:network-id = current()/network-ref]/nw:network-types/"
+ "tet:te-topology" {
error-message
"The referenced network must be a TE topology.";
description
"The referenced network must be a TE topology.";
}
description "Containing TE node references";
uses nw:node-ref;
} // l3-te
} // l3-te-node-attributes
grouping l3-te-tp-attributes {
description "L3 TE termination point scope attributes";
container l3-te-tp-attributes {
must "/nw:networks/nw:network"
+ "[nw:network-id = current()/network-ref]/nw:network-types/"
+ "tet:te-topology" {
error-message
"The referenced network must be a TE topology.";
description
"The referenced network must be a TE topology.";
}
description "Containing TE termination point references";
uses nt:tp-ref;
} // l3-te
} // l3-te-tp-attributes
grouping l3-te-link-attributes {
description "L3 TE link scope attributes";
container l3-te-link-attributes {
must "/nw:networks/nw:network"
+ "[nw:network-id = current()/network-ref]/nw:network-types/"
+ "tet:te-topology" {
error-message
"The referenced network must be a TE topology.";
description
"The referenced network must be a TE topology.";
}
description "Containing TE link references";
uses nt:link-ref;
}
} // l3-te-link-attributes
}
<CODE ENDS>
Liu, et al. Expires September 2, 2018 [Page 21]
Internet-Draft YANG L3 TE Topology March 2018
4.2. Packet Switching TE Topology Module
<CODE BEGINS> file "ietf-te-topology-packet@2017-10-29.yang"
module ietf-te-topology-packet {
yang-version 1;
namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology-packet";
prefix "tet-pkt";
import ietf-network {
prefix "nd";
}
import ietf-network-topology {
prefix "lnk";
}
import ietf-routing-types {
prefix "rt-types";
}
import ietf-te-topology {
prefix "tet";
}
import ietf-te-types {
prefix "te-types";
}
organization
"Traffic Engineering Architecture and Signaling (TEAS)
Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/teas/>
WG List: <mailto:teas@ietf.org>
WG Chair: Lou Berger
<mailto:lberger@labn.net>
WG Chair: Vishnu Pavan Beeram
<mailto:vbeeram@juniper.net>
Editors: Xufeng Liu
<mailto:Xufeng_Liu@jabil.com>
Igor Bryskin
Liu, et al. Expires September 2, 2018 [Page 22]
Internet-Draft YANG L3 TE Topology March 2018
<mailto:Igor.Bryskin@huawei.com>
Vishnu Pavan Beeram
<mailto:vbeeram@juniper.net>
Tarek Saad
<mailto:tsaad@cisco.com>
Himanshu Shah
<mailto:hshah@ciena.com>
Oscar Gonzalez De Dios
<mailto:oscar.gonzalezdedios@telefonica.com>";
description "TE topology model";
revision 2017-10-29 {
description "Initial revision";
reference "TBD";
}
/*
* Features
*/
feature te-performance-metric {
description
"This feature indicates that the system supports
TE performance metric.";
reference
"RFC7471: OSPF Traffic Engineering (TE) Metric Extensions.
RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions.
RFC7823: Performance-Based Path Selection for Explicitly
Routed Label Switched Paths (LSPs) Using TE Metric
Extensions";
}
/*
* Groupings
*/
grouping packet-switch-capable-container {
description
"The container of packet switch capable attributes.";
container packet-switch-capable {
description
"Interface has packet-switching capabilities.";
leaf minimum-lsp-bandwidth {
type rt-types:bandwidth-ieee-float32;
Liu, et al. Expires September 2, 2018 [Page 23]
Internet-Draft YANG L3 TE Topology March 2018
description
"Minimum LSP Bandwidth. Units in bytes per second";
}
leaf interface-mtu {
type uint16;
description
"Interface MTU.";
}
}
}
/*
* Augmentations
*/
/* Augmentations to connectivity-matrix */
augment "/nd:networks/nd:network/nd:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices" {
description
"Parameters for PSC TE topology.";
uses te-types:performance-metric-container {
if-feature te-performance-metric;
}
}
augment "/nd:networks/nd:network/nd:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix" {
description
"Parameters for PSC TE topology.";
uses te-types:performance-metric-container {
if-feature te-performance-metric;
}
}
augment "/nd:networks/nd:network/nd:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices" {
description
"Parameters for PSC TE topology.";
uses te-types:performance-metric-container {
if-feature te-performance-metric;
}
}
augment "/nd:networks/nd:network/nd:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix" {
Liu, et al. Expires September 2, 2018 [Page 24]
Internet-Draft YANG L3 TE Topology March 2018
description
"Parameters for PSC TE topology.";
uses te-types:performance-metric-container {
if-feature te-performance-metric;
}
}
/* Augmentations to tunnel-termination-point */
augment "/nd:networks/nd:network/nd:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities" {
description
"Parameters for PSC TE topology.";
uses te-types:performance-metric-container {
if-feature te-performance-metric;
}
}
augment "/nd:networks/nd:network/nd:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity" {
description
"Parameters for PSC TE topology.";
uses te-types:performance-metric-container {
if-feature te-performance-metric;
}
}
/* Augmentations to te-link-attributes */
augment "/nd:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes" {
when "tet:interface-switching-capability "
+ "[tet:switching-capability = 'te-types:switching-psc1']" {
description "Valid only for PSC";
}
description
"Parameters for PSC TE topology.";
uses te-types:performance-metric-container {
if-feature te-performance-metric;
}
}
augment "/nd:networks/nd:network/lnk:link/tet:te/"
+ "tet:te-link-attributes" {
when "tet:interface-switching-capability "
+ "[tet:switching-capability = 'te-types:switching-psc1']" {
description "Valid only for PSC";
Liu, et al. Expires September 2, 2018 [Page 25]
Internet-Draft YANG L3 TE Topology March 2018
}
description
"Parameters for PSC TE topology.";
uses te-types:performance-metric-container {
if-feature te-performance-metric;
}
}
augment "/nd:networks/nd:network/lnk:link/tet:te/"
+ "tet:information-source-entry" {
when "tet:interface-switching-capability "
+ "[tet:switching-capability = 'te-types:switching-psc1']" {
description "Valid only for PSC";
}
description
"Parameters for PSC TE topology.";
uses te-types:performance-metric-container {
if-feature te-performance-metric;
}
}
/* Augmentations to interface-switching-capability */
augment "/nd:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:interface-switching-capability" {
when "tet:switching-capability = 'te-types:switching-psc1' " {
description "Valid only for PSC";
}
description
"Parameters for PSC TE topology.";
uses packet-switch-capable-container;
}
augment "/nd:networks/nd:network/lnk:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:interface-switching-capability" {
when "tet:switching-capability = 'te-types:switching-psc1' " {
description "Valid only for PSC";
}
description
"Parameters for PSC TE topology.";
uses packet-switch-capable-container;
}
augment "/nd:networks/nd:network/lnk:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:interface-switching-capability" {
when "tet:switching-capability = 'te-types:switching-psc1' " {
Liu, et al. Expires September 2, 2018 [Page 26]
Internet-Draft YANG L3 TE Topology March 2018
description "Valid only for PSC";
}
description
"Parameters for PSC TE topology.";
uses packet-switch-capable-container;
}
}
<CODE ENDS>
5. IANA Considerations
RFC Ed.: In this section, replace all occurrences of 'XXXX' with the
actual RFC number (and remove this note).
This document registers the following namespace URIs in the IETF XML
registry [RFC3688]:
--------------------------------------------------------------------
URI: urn:ietf:params:xml:ns:yang:ietf-l3-te-topology
Registrant Contact: The IESG.
XML: N/A, the requested URI is an XML namespace.
--------------------------------------------------------------------
--------------------------------------------------------------------
URI: urn:ietf:params:xml:ns:yang:ietf-l3-te-topology-state
Registrant Contact: The IESG.
XML: N/A, the requested URI is an XML namespace.
--------------------------------------------------------------------
--------------------------------------------------------------------
URI: urn:ietf:params:xml:ns:yang:ietf-te-topology-packet
Registrant Contact: The IESG.
XML: N/A, the requested URI is an XML namespace.
--------------------------------------------------------------------
--------------------------------------------------------------------
URI: urn:ietf:params:xml:ns:yang:ietf-te-topology-packet-state
Registrant Contact: The IESG.
XML: N/A, the requested URI is an XML namespace.
--------------------------------------------------------------------
This document registers the following YANG modules in the YANG Module
Names registry [RFC6020]:
Liu, et al. Expires September 2, 2018 [Page 27]
Internet-Draft YANG L3 TE Topology March 2018
--------------------------------------------------------------------
name: ietf-l3-te-topology
namespace: urn:ietf:params:xml:ns:yang:ietf-l3-te-topology
prefix: l3te
reference: RFC XXXX
--------------------------------------------------------------------
--------------------------------------------------------------------
name: ietf-l3-te-topology-state
namespace: urn:ietf:params:xml:ns:yang:ietf-l3-te-topology-state
prefix: l3te-s
reference: RFC XXXX
--------------------------------------------------------------------
--------------------------------------------------------------------
name: ietf-te-topology-packet
namespace: urn:ietf:params:xml:ns:yang:ietf-te-topology-packet
prefix: tet-pkt
reference: RFC XXXX
--------------------------------------------------------------------
--------------------------------------------------------------------
name: ietf-te-topology-packet-state
namespace: urn:ietf:params:xml:ns:yang:ietf-te-topology-packet-state
prefix: tet-pkt-s
reference: RFC XXXX
--------------------------------------------------------------------
6. Security Considerations
The configuration, state, action and notification data defined in
this document are designed to be accessed via the NETCONF protocol
[RFC6241]. The data-model by itself does not create any security
implications. The security considerations for the NETCONF protocol
are applicable. The NETCONF protocol used for sending the data
supports authentication and encryption.
7. References
7.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, <https://www.rfc-
editor.org/info/rfc2119>.
Liu, et al. Expires September 2, 2018 [Page 28]
Internet-Draft YANG L3 TE Topology March 2018
[RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
RFC 7950, DOI 10.17487/RFC7950, August 2016,
<https://www.rfc-editor.org/info/rfc7950>.
[I-D.ietf-netmod-revised-datastores]
Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K.,
and R. Wilton, "Network Management Datastore
Architecture", draft-ietf-netmod-revised-datastores-10
(work in progress), January 2018.
7.2. Informative References
[I-D.ietf-i2rs-yang-l3-topology]
Clemm, A., Medved, J., Varga, R., Liu, X.,
Ananthakrishnan, H., and N. Bahadur, "A YANG Data Model
for Layer 3 Topologies", draft-ietf-i2rs-yang-
l3-topology-16 (work in progress), December 2017.
[I-D.ietf-teas-yang-te-topo]
Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and
O. Dios, "YANG Data Model for Traffic Engineering (TE)
Topologies", draft-ietf-teas-yang-te-topo-14 (work in
progress), February 2018.
Liu, et al. Expires September 2, 2018 [Page 29]
Internet-Draft YANG L3 TE Topology March 2018
Appendix A. Companion YANG Model for Non-NMDA Compliant Implementations
The YANG modules ietf-l3-te-topology and ietf-te-topology-packet
defined in this document are designed to be used in conjunction with
implementations that support the Network Management Datastore
Architecture (NMDA) defined in [I-D.ietf-netmod-revised-datastores].
In order to allow implementations to use the model even in cases when
NMDA is not supported, the following companion modules, ietf-l3-te-
topology-state and ietf-te-topology-packet-state, are defined as
state models, which mirror the modules ietf-l3-te-topology and ietf-
te-topology-packet defined earlier in this document. However, all
data nodes in the companion module are non-configurable, to represent
the applied configuration or the derived operational states.
The companion modules, ietf-l3-te-topology-state and ietf-te-
topology-packet-state, are redundant and SHOULD NOT be supported by
implementations that support NMDA.
As the structure of the companion modules mirrors that of the
coorespinding NMDA models, the YANG trees of the companion modules
are not depicted separately.
A.1. Layer 3 TE Topology State Module
<CODE BEGINS> file "ietf-l3-te-topology-state@2018-02-28.yang"
module ietf-l3-te-topology-state {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-l3-te-topology-state";
prefix "l3tet-s";
import ietf-l3-te-topology {
prefix "l3tet";
}
import ietf-network-state {
prefix "nw-s";
}
import ietf-network-topology-state {
prefix "nt-s";
}
import ietf-l3-unicast-topology-state {
prefix "l3t-s";
}
organization "TBD";
contact "TBD";
description "L3 TE Topology model";
Liu, et al. Expires September 2, 2018 [Page 30]
Internet-Draft YANG L3 TE Topology March 2018
revision 2018-02-28 {
description "Initial revision";
reference "TBD";
}
augment "/nw-s:networks/nw-s:network/nw-s:network-types/"
+ "l3t-s:l3-unicast-topology" {
description
"Defines the L3 TE topology type.";
uses l3tet:l3-te-topology-type;
}
augment "/nw-s:networks/nw-s:network/"
+ "l3t-s:l3-topology-attributes" {
when "../nw-s:network-types/l3t-s:l3-unicast-topology/"
+ "l3tet-s:l3-te" {
description "Augment only for L3 TE topology";
}
description "Augment topology configuration";
uses l3tet:l3-te-topology-attributes;
}
augment "/nw-s:networks/nw-s:network/nw-s:node/"
+ "l3t-s:l3-node-attributes" {
when "../../nw-s:network-types/l3t-s:l3-unicast-topology/"
+ "l3tet-s:l3-te" {
description "Augment only for L3 TE topology";
}
description "Augment node configuration";
uses l3tet:l3-te-node-attributes;
}
augment "/nw-s:networks/nw-s:network/nw-s:node/"
+ "nt-s:termination-point/"
+ "l3t-s:l3-termination-point-attributes" {
when "../../../nw-s:network-types/l3t-s:l3-unicast-topology/"
+ "l3tet-s:l3-te" {
description "Augment only for L3 TE topology";
}
description "Augment termination point configuration";
uses l3tet:l3-te-tp-attributes;
}
augment "/nw-s:networks/nw-s:network/nt-s:link/"
+ "l3t-s:l3-link-attributes" {
when "../../nw-s:network-types/l3t-s:l3-unicast-topology/"
+ "l3tet-s:l3-te" {
Liu, et al. Expires September 2, 2018 [Page 31]
Internet-Draft YANG L3 TE Topology March 2018
description "Augment only for L3 TE topology";
}
description "Augment link configuration";
uses l3tet:l3-te-link-attributes;
}
}
<CODE ENDS>
A.2. Packet Switching TE Topology State Module
<CODE BEGINS> file "ietf-te-topology-packet-state@2017-10-29.yang"
module ietf-te-topology-packet-state {
yang-version 1;
namespace
"urn:ietf:params:xml:ns:yang:ietf-te-topology-packet-state";
prefix "tet-pkt-s";
import ietf-te-topology-packet {
prefix "tet-pkt";
}
import ietf-network-state {
prefix "nd-s";
}
import ietf-network-topology-state {
prefix "lnk-s";
}
import ietf-te-topology-state {
prefix "tet-s";
}
import ietf-te-types {
prefix "te-types";
}
organization
"Traffic Engineering Architecture and Signaling (TEAS)
Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/teas/>
WG List: <mailto:teas@ietf.org>
Liu, et al. Expires September 2, 2018 [Page 32]
Internet-Draft YANG L3 TE Topology March 2018
WG Chair: Lou Berger
<mailto:lberger@labn.net>
WG Chair: Vishnu Pavan Beeram
<mailto:vbeeram@juniper.net>
Editors: Xufeng Liu
<mailto:Xufeng_Liu@jabil.com>
Igor Bryskin
<mailto:Igor.Bryskin@huawei.com>
Vishnu Pavan Beeram
<mailto:vbeeram@juniper.net>
Tarek Saad
<mailto:tsaad@cisco.com>
Himanshu Shah
<mailto:hshah@ciena.com>
Oscar Gonzalez De Dios
<mailto:oscar.gonzalezdedios@telefonica.com>";
description "TE topology model";
revision 2017-10-29 {
description "Initial revision";
reference "TBD";
}
/*
* Augmentations
*/
/* Augmentations to connectivity-matrix */
augment "/nd-s:networks/nd-s:network/nd-s:node/tet-s:te/"
+ "tet-s:te-node-attributes/tet-s:connectivity-matrices" {
description
"Parameters for PSC TE topology.";
uses te-types:performance-metric-container {
if-feature tet-pkt:te-performance-metric;
}
}
augment "/nd-s:networks/nd-s:network/nd-s:node/tet-s:te/"
+ "tet-s:te-node-attributes/tet-s:connectivity-matrices/"
+ "tet-s:connectivity-matrix" {
description
Liu, et al. Expires September 2, 2018 [Page 33]
Internet-Draft YANG L3 TE Topology March 2018
"Parameters for PSC TE topology.";
uses te-types:performance-metric-container {
if-feature tet-pkt:te-performance-metric;
}
}
augment "/nd-s:networks/nd-s:network/nd-s:node/tet-s:te/"
+ "tet-s:information-source-entry/"
+ "tet-s:connectivity-matrices" {
description
"Parameters for PSC TE topology.";
uses te-types:performance-metric-container {
if-feature tet-pkt:te-performance-metric;
}
}
augment "/nd-s:networks/nd-s:network/nd-s:node/tet-s:te/"
+ "tet-s:information-source-entry/"
+ "tet-s:connectivity-matrices/"
+ "tet-s:connectivity-matrix" {
description
"Parameters for PSC TE topology.";
uses te-types:performance-metric-container {
if-feature tet-pkt:te-performance-metric;
}
}
/* Augmentations to tunnel-termination-point */
augment "/nd-s:networks/nd-s:network/nd-s:node/tet-s:te/"
+ "tet-s:tunnel-termination-point/"
+ "tet-s:local-link-connectivities" {
description
"Parameters for PSC TE topology.";
uses te-types:performance-metric-container {
if-feature tet-pkt:te-performance-metric;
}
}
augment "/nd-s:networks/nd-s:network/nd-s:node/tet-s:te/"
+ "tet-s:tunnel-termination-point/"
+ "tet-s:local-link-connectivities/"
+ "tet-s:local-link-connectivity" {
description
"Parameters for PSC TE topology.";
uses te-types:performance-metric-container {
if-feature tet-pkt:te-performance-metric;
}
}
Liu, et al. Expires September 2, 2018 [Page 34]
Internet-Draft YANG L3 TE Topology March 2018
/* Augmentations to te-link-attributes */
augment "/nd-s:networks/tet-s:te/tet-s:templates/"
+ "tet-s:link-template/tet-s:te-link-attributes" {
when "tet-s:interface-switching-capability "
+ "[tet-s:switching-capability = 'te-types:switching-psc1']" {
description "Valid only for PSC";
}
description
"Parameters for PSC TE topology.";
uses te-types:performance-metric-container {
if-feature tet-pkt:te-performance-metric;
}
}
augment "/nd-s:networks/nd-s:network/lnk-s:link/tet-s:te/"
+ "tet-s:te-link-attributes" {
when "tet-s:interface-switching-capability "
+ "[tet-s:switching-capability = 'te-types:switching-psc1']" {
description "Valid only for PSC";
}
description
"Parameters for PSC TE topology.";
uses te-types:performance-metric-container {
if-feature tet-pkt:te-performance-metric;
}
}
augment "/nd-s:networks/nd-s:network/lnk-s:link/tet-s:te/"
+ "tet-s:information-source-entry" {
when "tet-s:interface-switching-capability "
+ "[tet-s:switching-capability = 'te-types:switching-psc1']" {
description "Valid only for PSC";
}
description
"Parameters for PSC TE topology.";
uses te-types:performance-metric-container {
if-feature tet-pkt:te-performance-metric;
}
}
/* Augmentations to interface-switching-capability */
augment "/nd-s:networks/tet-s:te/tet-s:templates/"
+ "tet-s:link-template/tet-s:te-link-attributes/"
+ "tet-s:interface-switching-capability" {
when "tet-s:switching-capability = 'te-types:switching-psc1' " {
description "Valid only for PSC";
}
description
Liu, et al. Expires September 2, 2018 [Page 35]
Internet-Draft YANG L3 TE Topology March 2018
"Parameters for PSC TE topology.";
uses tet-pkt:packet-switch-capable-container;
}
augment "/nd-s:networks/nd-s:network/lnk-s:link/tet-s:te/"
+ "tet-s:te-link-attributes/"
+ "tet-s:interface-switching-capability" {
when "tet-s:switching-capability = 'te-types:switching-psc1' " {
description "Valid only for PSC";
}
description
"Parameters for PSC TE topology.";
uses tet-pkt:packet-switch-capable-container;
}
augment "/nd-s:networks/nd-s:network/lnk-s:link/tet-s:te/"
+ "tet-s:information-source-entry/"
+ "tet-s:interface-switching-capability" {
when "tet-s:switching-capability = 'te-types:switching-psc1' " {
description "Valid only for PSC";
}
description
"Parameters for PSC TE topology.";
uses tet-pkt:packet-switch-capable-container;
}
}
<CODE ENDS>
Authors' Addresses
Xufeng Liu
Jabil
8281 Greensboro Drive, Suite 200
McLean VA 22102
USA
EMail: Xufeng_Liu@jabil.com
Igor Bryskin
Huawei Technologies
EMail: Igor.Bryskin@huawei.com
Liu, et al. Expires September 2, 2018 [Page 36]
Internet-Draft YANG L3 TE Topology March 2018
Vishnu Pavan Beeram
Juniper Networks
EMail: vbeeram@juniper.net
Tarek Saad
Cisco Systems Inc
EMail: tsaad@cisco.com
Himanshu Shah
Ciena
EMail: hshah@ciena.com
Oscar Gonzalez de Dios
Telefonica
EMail: oscar.gonzalezdedios@telefonica.com
Liu, et al. Expires September 2, 2018 [Page 37]