TEAS Working Group Italo Busi
Internet Draft Haomian Zheng
Intended status: Standard Track Huawei
Aihua Guo
Futurewei
Xufeng Liu
Volta Networks
Expires: January 2021 July 13, 2020
A YANG Data Model for MPLS-TE Topology
draft-busizheng-teas-yang-te-mpls-topology-00
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), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
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."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
This Internet-Draft will expire on January 13, 2021.
Copyright Notice
Copyright (c) 2020 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
Busi & Zheng Expires January 13, 2021 [Page 1]
Internet-Draft MPLS-TE Topology YANG Model July 2020
(http://trustee.ietf.org/license-info) in effect on the date of
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.
Abstract
This document describes a YANG data model for Multi-Protocol Label
Switching (MPLS) with Traffic Engineering (MPLS-TE) networks.
Table of Contents
1. Introduction...................................................2
1.1. Tree Diagram..............................................3
1.2. Prefixes in Data Node Names...............................3
2. MPLS-TE Types Overview.........................................3
3. MPLS-TE Topology Model Overview................................4
3.1. TE Label Augmentations....................................6
3.2. MPLS-TP Topology..........................................6
4. YANG model for common MPLS-TE Types............................7
5. YANG model for MPLS-TE Topology...............................12
5.1. YANG Tree................................................12
5.2. YANG Code................................................16
6. Security Considerations.......................................27
7. IANA Considerations...........................................27
8. References....................................................27
8.1. Normative References.....................................27
8.2. Informative References...................................28
Acknowledgments..................................................28
Authors' Addresses...............................................29
1. Introduction
This document describes a YANG data model for Multi-Protocol Label
Switching (MPLS) with Traffic Engineering (MPLS-TE) networks.
This document also defines a collection of common data types and
groupings in YANG data modeling language for MPLS-TE networks. These
derived common types and groupings are intended to be imported by the
MPLS-TE topology model, defined in this document, as well as by the
MPLS-TE tunnel model, defined in [TE-MPLS].
Busi & Zheng Expires January 13, 2021 [Page 2]
Internet-Draft MPLS-TE Topology YANG Model July 2020
Multi-Protocol Label Switching - Transport Profile (MPLS-TP) is a
profile of the MPLS protocol that is used in packet switched
transport networks and operated in a similar manner to other existing
transport technologies (e.g., OTN), as described in RFC5921. The YANG
model defined in this document can also be for MPLS-TP networks.
1.1. Tree Diagram
A simplified graphical representation of the data model is used in
section 5.1 of this this document. The meaning of the symbols in
these diagrams is defined in [RFC8340].
1.2. Prefixes in Data Node Names
In this document, names of data nodes and other data model objects
are prefixed using the standard prefix associated with the
corresponding YANG imported modules, as shown in Table 1.
+---------------+-------------------------+-----------------------+
| Prefix | YANG module | Reference |
+---------------+-------------------------+-----------------------+
| rt-types | ietf-routing-types | [RFC8294] |
| tet | ietf-te-topology | [TE-Topology] |
| tet-pkt | ietf-te-topology-packet | [L3-TE-Topology] |
| mte-types | ietf-mpls-te-types | This document |
| tet-mpls | ietf-te-mpls-topology | This document |
+---------------+-------------------------+-----------------------+
Table 1: Prefixes and corresponding YANG modules
2. MPLS-TE Types Overview
The module ietf-mpls-te-types contains the following YANG reusable
types and groupings:
bandwidth-profile-type:
This identity defines various bandwidth profiles specified by IETF
and other organizations that may be used to limit bandwidth
utilization of MPLS-TE LSPs.
load-balancing-type
This identify defines the types of load-balancing algorithms used on
bundled MPLS-TE link.
Busi & Zheng Expires January 13, 2021 [Page 3]
Internet-Draft MPLS-TE Topology YANG Model July 2020
te-packet-path-bandwidth
This grouping defines the path bandwidth information and could be
used in MPLS-TE topology model for the representation of MPLS-TE LSP
bandwidth. All the path and LSP bandwidth related sections in generic
module, [RFC8776], need to be augmented with this grouping for the
usage of MPLS-TE. This grouping is also applicable to set up the
MPLS-TE tunnel.
te-packet-link-bandwidth
This grouping defines the link bandwidth information and could be
used in MPLS-TE topology model for link bandwidth representation.
All the link bandwidth related sections in generic module, [RFC8776],
need to be augmented with this grouping for the usage of MPLS_TE.
te-mpls-label-hop
This grouping is used for the augmentation of TE label for MPLS_TE
path.
3. MPLS-TE Topology Model Overview
The MPLS-TE technology specific topology model augments the ietf-te-
topology-packet YANG module, defined in [L3-TE-Topology], which in
turns augment the generic ietf-te-topology YANG module, defined in
[TE-Topology].
Busi & Zheng Expires January 13, 2021 [Page 4]
Internet-Draft MPLS-TE Topology YANG Model July 2020
+------------------+ o: augment
TE generic | ietf-te-topology |
+------------------+
o
|
|
|
+-------------------------+
Packet TE | ietf-te-topology-packet |
+-------------------------+
o
|
|
|
+-----------------------+
MPLS-TE | ietf-te-mpls-topology |
+-----------------------+
Figure 1 - Relationship between MPLS-TE, Packet-TE and TE topology
models
Given the guidance for augmentation in [TE-Topology], the following
technology-specific augmentations need to be provided:
- A network-type to indicate that the TE topology is an MPLS-TE
Topology, as follow:
augment /nw:networks/nw:network/nw:network-types/tet:te-topology
/tet-pkt:packet:
+--rw mpls-topology!
- TE Bandwidth Augmentations for paths and LSPs:
+--:(packet)
+--rw bandwidth-profile-name? string
+--rw bandwidth-profile-type? identityref
+--rw CIR? uint64
+--rw EIR? uint64
+--rw CBS? uint64
+--rw EBS? uint64
- TE Bandwidth Augmentations for links:
+--:(packet)
+--rw packet-bandwidth? bandwidth-kbps
Busi & Zheng Expires January 13, 2021 [Page 5]
Internet-Draft MPLS-TE Topology YANG Model July 2020
- TE Label Augmentations as described in section 3.2;
3.1. TE Label Augmentations
In MPLS-TE, the label allocation is done by NE, information about
label values availability is not necessary to be provided to the
controller. Moreover, MPLS-TE tunnels are currently established
within a single domain.
Therefore this document does not define any MPLS-TE
technology-specific augmentations, of the TE Topology model, for the
TE label since no TE label related attributes should be instantiated
for MPLS-TE Topologies.
Open issue: shall this module allows the setup of MPLS-TE
multi-domain tunnels?
3.2. MPLS-TP Topology
Multi-Protocol Label Switching - Transport Profile (MPLS-TP) is a
profile of the MPLS protocol that is used in packet switched
transport networks and operated in a similar manner to other existing
transport technologies (e.g., OTN), as described in [RFC5921].
Therefore YANG model defined in this document can also be applicable
for MPLS-TP networks.
However, as described in [RFC5921], MPLS-TP networks support
bidirectional LSPs and require no ECMP and no PHP. When reporting the
topology for an MPLS-TP network, additional information is required
to indicate whether the network support these MPLS-TP
characteristics.
It is worth noting that [TE-Topology] is already capable to model TE
topologies supporting either unidirectional or bidirectional LSPs:
all bidirectional TE links can support bidirectional LSPs and all the
links can support unidirectional LSPs and it is always possible to
associated unidirectional LSPs as long as they belong to the same
tunnel.
When setting up bidirectional LSPs (e.g., MPLS-TP LSPs) only
bidirectional TE Links are selected by path computation.
In order to allow reporting that ECMP is not affecting forwarding the
packets of a given LSP, the load-balancing-type attribute reports
Busi & Zheng Expires January 13, 2021 [Page 6]
Internet-Draft MPLS-TE Topology YANG Model July 2020
whether a LAG or TE Bundled Link performs load-balancing on a
per-flow or per-top-label:
augment /nw:networks/nw:network/nt:link/tet:te:
+--rw load-balancing-type? mte-types:load-balancing-type
When setting up LSPs which do not requires ECMP (e.g., MPLS-TP LSPs)
only Links that are not part of a LAG or TE Bundle or that performs
per-top-label load balancing are selected by path computation.
It is assumed that almost all the MPLS-TE nodes are capable to
support Ultimate Hop Popping (UHP). However, if some interfaces are
not able to support UHP, they can report it in the MPLS-TE topology:
augment /nw:networks/nw:network/nw:node/nt:termination-point
/tet:te:
+--ro uhp-incapable? empty
When setting up LSPs which do not requires PHP (e.g., MPLS-TP LSPs)
only the interfaces (LTPs) which are capable to support UHP in the
destination node are selected by path computation.
4. YANG model for common MPLS-TE Types
<CODE BEGINS>file "ietf-mpls-te-types@2020-07-13.yang"
module ietf-mpls-te-types {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-mpls-te-types";
prefix "mte-types";
import ietf-routing-types {
prefix "rt-types";
}
import ietf-te-packet-types {
prefix "te-packet-types";
reference
"RFC 8776: Common YANG Data Types for Traffic Engineering";
}
organization
"Internet Engineering Task Force (IETF) TEAS WG";
Busi & Zheng Expires January 13, 2021 [Page 7]
Internet-Draft MPLS-TE Topology YANG Model July 2020
contact
"WG Web: <https://datatracker.ietf.org/wg/teas/>
WG List: <mailto:teas@ietf.org>
Editor: Italo Busi
<mailto:italo.busi@huawei.com>
Editor: Haomian Zheng
<mailto:zhenghaomian@huawei.com>
Editor: Aihua Guo
<mailto:aihuaguo.ietf@gmail.com>
Editor: Xufeng Liu
<mailto:xufeng.liu.ietf@gmail.com>";
description
"This module defines technology-specific MPLS-TE types
data model.
Copyright (c) 2020 IETF Trust and the persons identified
as authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with
or without modification, is permitted pursuant to, and
subject to the license terms contained in, the Simplified
BSD License set forth in Section 4.c of the IETF Trust's
Legal Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices.";
revision 2020-07-13 {
description
"Initial Version";
reference
"draft-busizheng-teas-yang-te-mpls-topology";
}
/*
Busi & Zheng Expires January 13, 2021 [Page 8]
Internet-Draft MPLS-TE Topology YANG Model July 2020
* Identities (to be moved to te-packet-types?)
*/
identity bandwidth-profile-type {
description
"Bandwidth Profile Types";
}
identity mef-10-bwp {
base bandwidth-profile-type;
description
"MEF 10 Bandwidth Profile";
}
identity rfc-2697-bwp {
base bandwidth-profile-type;
description
"RFC 2697 Bandwidth Profile";
}
identity rfc-2698-bwp {
base bandwidth-profile-type;
description
"RFC 2698 Bandwidth Profile";
}
identity rfc-4115-bwp {
base bandwidth-profile-type;
description
"RFC 4115 Bandwidth Profile";
}
/*
* Type Definitions (MPLS-TE)
*/
typedef load-balancing-type {
type enumeration {
enum per-flow {
description
"The load-balancing algorithm ensures that packets
Busi & Zheng Expires January 13, 2021 [Page 9]
Internet-Draft MPLS-TE Topology YANG Model July 2020
characterized as the same flow (e.g. based on IP 5-tuple)
that egress on a LAG or a bundled TE link are forwarded
on the same component link.
Packets for different flows within the same LSP can be
forwarded on different component links.";
}
enum per-top-label {
description
"The load-balancing algorithm ensures incoming MPLS
packets with the same top MPLS label and that egress on
a on a LAG or bundled TE link are forwarded on the same
component link.
Packets for different flows within the same LSP are
forwarded on the same component link.";
}
}
description
"The type of load balancing used on bundled links.";
} // typedef load-balancing-type
/*
* Groupings (to be moved to te-packet-types?)
*/
grouping te-packet-path-bandwidth {
description
"Path bandwidth for Packet. ";
leaf bandwidth-profile-name{
type string;
description "Name of Bandwidth Profile.";
}
leaf bandwidth-profile-type {
type identityref {
base bandwidth-profile-type;
}
description "Type of Bandwidth Profile.";
}
Busi & Zheng Expires January 13, 2021 [Page 10]
Internet-Draft MPLS-TE Topology YANG Model July 2020
leaf CIR {
type uint64;
description
"Committed Information Rate in Kbps";
}
leaf EIR {
type uint64;
/*
Need to indicate that EIR is not supported by RFC 2697
must
'../bw-profile-type = "etht-types:mef-10-bwp" or ' +
'../bw-profile-type = "etht-types:rfc-2698-bwp" or ' +
'../bw-profile-type = "etht-types:rfc-4115-bwp"'
must
'../bw-profile-type != "etht-types:rfc-2697-bwp"'
*/
description
"Excess Information Rate in Kbps
In case of RFC 2698, PIR = CIR + EIR";
}
leaf CBS {
type uint64;
description
"Committed Burst Size in in KBytes";
}
leaf EBS {
type uint64;
description
"Excess Burst Size in KBytes.
In case of RFC 2698, PBS = CBS + EBS";
}
}
grouping te-packet-link-bandwidth {
description
Busi & Zheng Expires January 13, 2021 [Page 11]
Internet-Draft MPLS-TE Topology YANG Model July 2020
"Link Bandwidth for Packet. ";
leaf packet-bandwidth {
type te-packet-types:bandwidth-kbps;
description
"Available bandwith value expressed in kilobits per
second";
}
}
/*
* Groupings (MPLS-TE)
*/
grouping te-mpls-label-hop {
description
"MPLS-TE Label Hop.";
leaf mpls-label {
type rt-types:mpls-label;
description
"MPLS Label.";
}
} // grouping te-mpls-label-hop
}
<CODE ENDS>
Figure 2 - MPLS-TE types YANG module
5. YANG model for MPLS-TE Topology
5.1. YANG Tree
Figure 3 below shows the tree diagram of the YANG model defined in
module ietf-te-mpls-topology.yang.
module: ietf-te-mpls-topology
augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te
/tet:interface-switching-capability/tet:max-lsp-bandwidth
/tet:te-bandwidth/tet:technology:
+--:(packet)
+--rw bandwidth-profile-name? string
Busi & Zheng Expires January 13, 2021 [Page 12]
Internet-Draft MPLS-TE Topology YANG Model July 2020
+--rw bandwidth-profile-type? identityref
+--rw CIR? uint64
+--rw EIR? uint64
+--rw CBS? uint64
+--rw EBS? uint64
augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:path-constraints/tet:te-bandwidth/tet:technology:
+--:(packet)
+--rw packet-bandwidth? te-packet-types:bandwidth-kbps
augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:connectivity-matrix/tet:path-constraints
/tet:te-bandwidth/tet:technology:
+--:(packet)
+--rw packet-bandwidth? te-packet-types:bandwidth-kbps
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:path-constraints/tet:te-bandwidth/tet:technology:
+--:(packet)
+--ro packet-bandwidth? te-packet-types:bandwidth-kbps
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:path-constraints
/tet:te-bandwidth/tet:technology:
+--:(packet)
+--ro packet-bandwidth? te-packet-types:bandwidth-kbps
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point/tet:client-layer-adaptation
/tet:switching-capability/tet:te-bandwidth
/tet:technology:
+--:(packet)
+--rw packet-bandwidth? te-packet-types:bandwidth-kbps
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point
/tet:local-link-connectivities/tet:path-constraints
/tet:te-bandwidth/tet:technology:
+--:(packet)
+--rw packet-bandwidth? te-packet-types:bandwidth-kbps
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point
Busi & Zheng Expires January 13, 2021 [Page 13]
Internet-Draft MPLS-TE Topology YANG Model July 2020
/tet:local-link-connectivities
/tet:local-link-connectivity/tet:path-constraints
/tet:te-bandwidth/tet:technology:
+--:(packet)
+--rw packet-bandwidth? te-packet-types:bandwidth-kbps
augment /nw:networks/nw:network/nt:link/tet:te
/tet:te-link-attributes
/tet:interface-switching-capability/tet:max-lsp-bandwidth
/tet:te-bandwidth/tet:technology:
+--:(packet)
+--rw bandwidth-profile-name? string
+--rw bandwidth-profile-type? identityref
+--rw CIR? uint64
+--rw EIR? uint64
+--rw CBS? uint64
+--rw EBS? uint64
augment /nw:networks/nw:network/nt:link/tet:te
/tet:te-link-attributes/tet:max-link-bandwidth
/tet:te-bandwidth/tet:technology:
+--:(packet)
+--rw packet-bandwidth? te-packet-types:bandwidth-kbps
augment /nw:networks/nw:network/nt:link/tet:te
/tet:te-link-attributes/tet:max-resv-link-bandwidth
/tet:te-bandwidth/tet:technology:
+--:(packet)
+--rw packet-bandwidth? te-packet-types:bandwidth-kbps
augment /nw:networks/nw:network/nt:link/tet:te
/tet:te-link-attributes/tet:unreserved-bandwidth
/tet:te-bandwidth/tet:technology:
+--:(packet)
+--rw packet-bandwidth? te-packet-types:bandwidth-kbps
augment /nw:networks/nw:network/nt:link/tet:te
/tet:information-source-entry
/tet:interface-switching-capability/tet:max-lsp-bandwidth
/tet:te-bandwidth/tet:technology:
+--:(packet)
+--ro bandwidth-profile-name? string
+--ro bandwidth-profile-type? identityref
+--ro CIR? uint64
+--ro EIR? uint64
+--ro CBS? uint64
Busi & Zheng Expires January 13, 2021 [Page 14]
Internet-Draft MPLS-TE Topology YANG Model July 2020
+--ro EBS? uint64
augment /nw:networks/nw:network/nt:link/tet:te
/tet:information-source-entry/tet:max-link-bandwidth
/tet:te-bandwidth/tet:technology:
+--:(packet)
+--ro packet-bandwidth? te-packet-types:bandwidth-kbps
augment /nw:networks/nw:network/nt:link/tet:te
/tet:information-source-entry/tet:max-resv-link-bandwidth
/tet:te-bandwidth/tet:technology:
+--:(packet)
+--ro packet-bandwidth? te-packet-types:bandwidth-kbps
augment /nw:networks/nw:network/nt:link/tet:te
/tet:information-source-entry/tet:unreserved-bandwidth
/tet:te-bandwidth/tet:technology:
+--:(packet)
+--ro packet-bandwidth? te-packet-types:bandwidth-kbps
augment /nw:networks/tet:te/tet:templates/tet:link-template
/tet:te-link-attributes
/tet:interface-switching-capability/tet:max-lsp-bandwidth
/tet:te-bandwidth/tet:technology:
+--:(packet)
+--rw bandwidth-profile-name? string
+--rw bandwidth-profile-type? identityref
+--rw CIR? uint64
+--rw EIR? uint64
+--rw CBS? uint64
+--rw EBS? uint64
augment /nw:networks/tet:te/tet:templates/tet:link-template
/tet:te-link-attributes/tet:max-link-bandwidth
/tet:te-bandwidth/tet:technology:
+--:(packet)
+--rw packet-bandwidth? te-packet-types:bandwidth-kbps
augment /nw:networks/tet:te/tet:templates/tet:link-template
/tet:te-link-attributes/tet:max-resv-link-bandwidth
/tet:te-bandwidth/tet:technology:
+--:(packet)
+--rw packet-bandwidth? te-packet-types:bandwidth-kbps
augment /nw:networks/tet:te/tet:templates/tet:link-template
/tet:te-link-attributes/tet:unreserved-bandwidth
/tet:te-bandwidth/tet:technology:
+--:(packet)
Busi & Zheng Expires January 13, 2021 [Page 15]
Internet-Draft MPLS-TE Topology YANG Model July 2020
+--rw packet-bandwidth? te-packet-types:bandwidth-kbps
augment /nw:networks/nw:network/nw:network-types/tet:te-topology
/tet-pkt:packet:
+--rw mpls-topology!
augment /nw:networks/nw:network/nt:link/tet:te:
+--rw load-balancing-type? mte-types:load-balancing-type
augment /nw:networks/nw:network/nw:node/nt:termination-point
/tet:te:
+--ro uhp-incapable? empty
Figure 3 - MPLS-TE topology YANG tree
5.2. YANG Code
<CODE BEGINS>file "ietf-te-mpls-topology@2020-07-13.yang"
module ietf-te-mpls-topology {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-te-mpls-topology";
prefix "tet-mpls";
import ietf-network {
prefix "nw";
}
import ietf-network-topology {
prefix "nt";
}
import ietf-te-topology {
prefix "tet";
}
import ietf-te-topology-packet {
prefix "tet-pkt";
}
import ietf-mpls-te-types {
prefix "mte-types";
}
Busi & Zheng Expires January 13, 2021 [Page 16]
Internet-Draft MPLS-TE Topology YANG Model July 2020
organization
"Internet Engineering Task Force (IETF) TEAS WG";
contact
"WG Web: <https://datatracker.ietf.org/wg/teas/>
WG List: <mailto:teas@ietf.org>
Editor: Italo Busi
<mailto:italo.busi@huawei.com>
Editor: Haomian Zheng
<mailto:zhenghaomian@huawei.com>
Editor: Aihua Guo
<mailto:aihuaguo.ietf@gmail.com>
Editor: Xufeng Liu
<mailto:xufeng.liu.ietf@gmail.com>";
description
"This module defines technology-specific MPLS-TE topology
data model.
Copyright (c) 2020 IETF Trust and the persons identified
as authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with
or without modification, is permitted pursuant to, and
subject to the license terms contained in, the Simplified
BSD License set forth in Section 4.c of the IETF Trust's
Legal Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices.";
revision 2020-07-13 {
description
"Initial Version";
reference
"draft-busizheng-teas-yang-te-mpls-topology";
}
Busi & Zheng Expires January 13, 2021 [Page 17]
Internet-Draft MPLS-TE Topology YANG Model July 2020
/*
* Augment TE bandwidth (to be moved to te-topology-packet?)
*/
augment "/nw:networks/nw:network/nw:node/nt:termination-point/"
+ "tet:te/"
+ "tet:interface-switching-capability/tet:max-lsp-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "tet-pkt:packet" {
description
"Augmentation parameters apply only for networks with
Packet TE topology type.";
}
description
"Augment maximum LSP TE bandwidth for the link termination
point (LTP).";
case packet {
uses mte-types:te-packet-path-bandwidth;
}
}
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:path-constraints/tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "tet-pkt:packet" {
description
"Augmentation parameters apply only for networks with
Packet TE topology type.";
}
description
"Augment TE bandwidth path constraints of the TE node
connectivity matrices.";
case packet {
uses mte-types:te-packet-link-bandwidth;
}
}
augment "/nw:networks/nw:network/nw:node/tet:te/"
Busi & Zheng Expires January 13, 2021 [Page 18]
Internet-Draft MPLS-TE Topology YANG Model July 2020
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:path-constraints/tet:te-bandwidth/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "tet-pkt:packet" {
description
"Augmentation parameters apply only for networks with
Packet TE topology type.";
}
description
"Augment TE bandwidth path constraints of the
connectivity matrix entry.";
case packet {
uses mte-types:te-packet-link-bandwidth;
}
}
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:path-constraints/tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "tet-pkt:packet" {
description
"Augmentation parameters apply only for networks with
Packet TE topology type.";
}
description
"Augment TE bandwidth path constraints of the TE node
connectivity matrices information source.";
case packet {
uses mte-types:te-packet-link-bandwidth;
}
}
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:path-constraints/tet:te-bandwidth/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "tet-pkt:packet" {
description
Busi & Zheng Expires January 13, 2021 [Page 19]
Internet-Draft MPLS-TE Topology YANG Model July 2020
"Augmentation parameters apply only for networks with
Packet TE topology type.";
}
description
"Augment TE bandwidth path constraints of the
connectivity matrix entry information source";
case packet {
uses mte-types:te-packet-link-bandwidth;
}
}
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:client-layer-adaptation/tet:switching-capability/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "tet-pkt:packet" {
description
"Augmentation parameters apply only for networks with
Packet TE topology type.";
}
description
"Augment client TE bandwidth of the tunnel termination point
(TTP)";
case packet {
uses mte-types:te-packet-link-bandwidth;
}
}
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/tet:path-constraints/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "tet-pkt:packet" {
description
"Augmentation parameters apply only for networks with
Packet TE topology type.";
}
description
"Augment TE bandwidth path constraints for the TTP
Busi & Zheng Expires January 13, 2021 [Page 20]
Internet-Draft MPLS-TE Topology YANG Model July 2020
Local Link Connectivities.";
case packet {
uses mte-types:te-packet-link-bandwidth;
}
}
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/tet:path-constraints/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "tet-pkt:packet" {
description
"Augmentation parameters apply only for networks with
Packet TE topology type.";
}
description
"Augment TE bandwidth path constraints for the TTP
Local Link Connectivity entry.";
case packet {
uses mte-types:te-packet-link-bandwidth;
}
}
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:interface-switching-capability/tet:max-lsp-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "tet-pkt:packet" {
description
"Augmentation parameters apply only for networks with
Packet TE topology type.";
}
description
"Augment maximum LSP TE bandwidth for the TE link.";
case packet {
uses mte-types:te-packet-path-bandwidth;
}
}
Busi & Zheng Expires January 13, 2021 [Page 21]
Internet-Draft MPLS-TE Topology YANG Model July 2020
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:max-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../nw:network-types/tet:te-topology/"
+ "tet-pkt:packet" {
description
"Augmentation parameters apply only for networks with
Packet TE topology type.";
}
description
"Augment maximum TE bandwidth for the TE link";
case packet {
uses mte-types:te-packet-link-bandwidth;
}
}
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:max-resv-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../nw:network-types/tet:te-topology/"
+ "tet-pkt:packet" {
description
"Augmentation parameters apply only for networks with
Packet TE topology type.";
}
description
"Augment maximum reservable TE bandwidth for the TE link";
case packet {
uses mte-types:te-packet-link-bandwidth;
}
}
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:unreserved-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../nw:network-types/tet:te-topology/"
+ "tet-pkt:packet" {
Busi & Zheng Expires January 13, 2021 [Page 22]
Internet-Draft MPLS-TE Topology YANG Model July 2020
description
"Augmentation parameters apply only for networks with
Packet TE topology type.";
}
description
"Augment unreserved TE bandwidth for the TE Link";
case packet {
uses mte-types:te-packet-link-bandwidth;
}
}
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:interface-switching-capability/"
+ "tet:max-lsp-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "tet-pkt:packet" {
description
"Augmentation parameters apply only for networks with
Packet TE topology type.";
}
description
"Augment maximum LSP TE bandwidth for the TE link
information source";
case packet {
uses mte-types:te-packet-path-bandwidth;
}
}
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:max-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../nw:network-types/tet:te-topology/"
+ "tet-pkt:packet" {
description
"Augmentation parameters apply only for networks with
Packet TE topology type.";
}
description
Busi & Zheng Expires January 13, 2021 [Page 23]
Internet-Draft MPLS-TE Topology YANG Model July 2020
"Augment maximum TE bandwidth for the TE link
information source";
case packet {
uses mte-types:te-packet-link-bandwidth;
}
}
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:max-resv-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../nw:network-types/tet:te-topology/"
+ "tet-pkt:packet" {
description
"Augmentation parameters apply only for networks with
Packet TE topology type.";
}
description
"Augment maximum reservable TE bandwidth for the TE link
information-source";
case packet {
uses mte-types:te-packet-link-bandwidth;
}
}
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:unreserved-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../nw:network-types/tet:te-topology/"
+ "tet-pkt:packet" {
description
"Augmentation parameters apply only for networks with
Packet TE topology type.";
}
description
"Augment unreserved TE bandwidth of the TE link
information source";
case packet {
uses mte-types:te-packet-link-bandwidth;
}
Busi & Zheng Expires January 13, 2021 [Page 24]
Internet-Draft MPLS-TE Topology YANG Model July 2020
}
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:interface-switching-capability/"
+ "tet:max-lsp-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
description
"Augment maximum LSP TE bandwidth of the TE link
template";
case packet {
uses mte-types:te-packet-path-bandwidth;
}
}
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:max-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
description
"Augment maximum TE bandwidth the TE link template";
case packet {
uses mte-types:te-packet-link-bandwidth;
}
}
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:max-resv-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
description
"Augment maximum reservable TE bandwidth for the TE link
template.";
case packet {
uses mte-types:te-packet-link-bandwidth;
}
}
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:unreserved-bandwidth/"
Busi & Zheng Expires January 13, 2021 [Page 25]
Internet-Draft MPLS-TE Topology YANG Model July 2020
+ "tet:te-bandwidth/tet:technology" {
description
"Augment unreserved TE bandwidth the TE link template";
case packet {
uses mte-types:te-packet-link-bandwidth;
}
}
/*
* Augmentations
*/
augment "/nw:networks/nw:network/nw:network-types/"
+ "tet:te-topology/tet-pkt:packet" {
description
"Augment network types to include MPLS-TE Topology Type";
container mpls-topology {
presence
"Indicates an MPLS-TE Topology Type.";
description
"Its presence indicates an MPLS-TE Topology";
}
}
augment "/nw:networks/nw:network/nt:link/tet:te" {
when "../../nw:network-types/tet:te-topology/"
+ "tet-pkt:packet/tet-mpls:mpls-topology" {
description
"Augment MPLS-TE Topology.";
}
description
"Augment TE Link.";
leaf load-balancing-type {
type mte-types:load-balancing-type;
default 'per-flow';
description
"Indicates the type of load-balancing (per-flow or per-LSP)
performed by the bundled TE Link.
This leaf is not present when the TE Link is not bundled.";
Busi & Zheng Expires January 13, 2021 [Page 26]
Internet-Draft MPLS-TE Topology YANG Model July 2020
} // leaf load-balancing-type
}
augment "/nw:networks/nw:network/nw:node/nt:termination-point/"
+ "tet:te" {
when "../../../nw:network-types/tet:te-topology/"
+ "tet-pkt:packet/tet-mpls:mpls-topology" {
description "Augment MPLS-TE Topology.";
}
description "Augment LTP.";
leaf uhp-incapable {
type empty;
config false;
description
"When present, indicates that the LTP is not capable to
support Ultimate Hop Popping (UHP).";
} // leaf uhp-incapable
}
}
<CODE ENDS>
Figure 4 - MPLS-TE topology YANG module
6. Security Considerations
To be added
7. IANA Considerations
To be added
8. References
8.1. Normative References
[RFC6991] J. Schoenwaelder, "Common YANG Data Types", RFC6991.
[RFC8294] X. Liu, et. al., "Common YANG Data Types for the Routing
Area", RFC8294.
[RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", BCP
215, RFC 8340, March 2018.
Busi & Zheng Expires January 13, 2021 [Page 27]
Internet-Draft MPLS-TE Topology YANG Model July 2020
[RFC8776] Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin,
"Common YANG Data Types for Traffic Engineering", RFC8776,
June 2020.
[TE-Topology] X. Liu, et. al., "YANG Data Model for TE Topologies",
draft-ietf-teas-yang-te-topo, work in progress.
[L3-TE-Topology] X. Liu, et. al., "YANG Data Model for Layer 3 TE
Topologies", draft-ietf-teas-yang-l3-te-topo, work in
progress.
8.2. Informative References
[RFC5921] M. Bocci, et., al., "A Framework for MPLS in Transport
Networks", RFC5921.
[TE-MPLS] T. Saad, et. al., "A YANG Data Model for MPLS Traffic
Engineering Tunnels", draft-ietf-teas-yang-te-mpls, work in
progress.
Acknowledgments
The authors would also like to thank Tarek Saad, Vishnu Pavan Beeram,
Rakesh Gandhi, Xufeng Liu, Igor Bryskin for their input on how to
support MPLS-TP features (bidirectional LSPs, no ECMP, no PHP) using
a common MPLS-TE topology model.
We thank Loa Andersson and Igor Bryskin for providing useful
suggestions for this draft.
This document was prepared using 2-Word-v2.0.template.dot.
Busi & Zheng Expires January 13, 2021 [Page 28]
Internet-Draft MPLS-TE Topology YANG Model July 2020
Authors' Addresses
Italo Busi
Huawei Technologies
Email: italo.busi@huawei.com
Haomian Zheng
Huawei Technologies
Email: zhenghaomian@huawei.com
Aihua Guo
Futurewei Inc.
Email: aihuaguo.ietf@gmail.com
Xufeng Liu
Volta Networks
Email: xufeng.liu.ietf@gmail.com
Busi & Zheng Expires January 13, 2021 [Page 29]