draft-ietf-teas-yang-rsvp-te-02.txt   draft-ietf-teas-yang-rsvp-te-03.txt 
TEAS Working Group V. Beeram TEAS Working Group V. Beeram
Internet-Draft Juniper Networks Internet-Draft Juniper Networks
Intended status: Standards Track T. Saad, Ed. Intended status: Standards Track T. Saad, Ed.
Expires: May 2, 2018 R. Gandhi Expires: August 23, 2018 R. Gandhi
Cisco Systems, Inc. Cisco Systems, Inc.
X. Liu X. Liu
Jabil Jabil
I. Bryskin I. Bryskin
Huawei Technologies Huawei Technologies
H. Shah H. Shah
Ciena Ciena
October 29, 2017 February 19, 2018
A YANG Data Model for RSVP-TE A YANG Data Model for RSVP-TE
draft-ietf-teas-yang-rsvp-te-02 draft-ietf-teas-yang-rsvp-te-03
Abstract Abstract
This document defines a YANG data model for the configuration and This document defines a YANG data model for the configuration and
management of RSVP (Resource Reservation Protocol) to establish management of RSVP (Resource Reservation Protocol) to establish
Traffic-Engineered (TE) Label-Switched Paths (LSPs) for MPLS (Multi- Traffic-Engineered (TE) Label-Switched Paths (LSPs) for MPLS (Multi-
Protocol Label Switching) and other technologies. Protocol Label Switching) and other technologies.
The model defines a generic RSVP-TE module for signaling LSPs that is The model defines a generic RSVP-TE module for signaling LSPs that is
technology agnostic. The generic RSVP-TE module is to be augmented technology agnostic. The generic RSVP-TE module is to be augmented
skipping to change at page 1, line 43 skipping to change at page 1, line 43
remote procedural calls, and event notifications. remote procedural calls, and event notifications.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on May 2, 2018. This Internet-Draft will expire on August 23, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Tree Diagram . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Tree Diagram . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Prefixes in Data Node Names . . . . . . . . . . . . . . . 4 1.3. Prefixes in Data Node Names . . . . . . . . . . . . . . . 4
2. Design Considerations . . . . . . . . . . . . . . . . . . . . 5 2. Design Considerations . . . . . . . . . . . . . . . . . . . . 5
2.1. Module Hierarchy . . . . . . . . . . . . . . . . . . . . 5 2.1. Module Hierarchy . . . . . . . . . . . . . . . . . . . . 5
2.2. State Data Organization . . . . . . . . . . . . . . . . . 5 2.2. RSVP-TE Generic Model . . . . . . . . . . . . . . . . . . 6
2.3. RSVP-TE Generic Model . . . . . . . . . . . . . . . . . . 6 2.2.1. Tree Diagram . . . . . . . . . . . . . . . . . . . . 6
2.3.1. Tree Diagram . . . . . . . . . . . . . . . . . . . . 6 2.2.2. YANG Module . . . . . . . . . . . . . . . . . . . . . 14
2.3.2. YANG Module . . . . . . . . . . . . . . . . . . . . . 14 2.3. RSVP-TE MPLS Model . . . . . . . . . . . . . . . . . . . 26
2.4. RSVP-TE MPLS Model . . . . . . . . . . . . . . . . . . . 25 2.3.1. Tree Diagram . . . . . . . . . . . . . . . . . . . . 26
2.4.1. Tree Diagram . . . . . . . . . . . . . . . . . . . . 26 2.3.2. YANG Module . . . . . . . . . . . . . . . . . . . . . 28
2.4.2. YANG Module . . . . . . . . . . . . . . . . . . . . . 28 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 41
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 40
4. Security Considerations . . . . . . . . . . . . . . . . . . . 41 4. Security Considerations . . . . . . . . . . . . . . . . . . . 41
5. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 41 5. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 42
6. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 41 6. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 42
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 42 7. Normative References . . . . . . . . . . . . . . . . . . . . 42
7.1. Normative References . . . . . . . . . . . . . . . . . . 42
7.2. Informative References . . . . . . . . . . . . . . . . . 43
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 43 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 43
1. Introduction 1. Introduction
YANG [RFC6020] is a data definition language that was introduced to YANG [RFC6020] is a data definition language that was introduced to
define the contents of a conceptual data store that allows networked define the contents of a conceptual data store that allows networked
devices to be managed using NETCONF [RFC6241]. YANG is proving devices to be managed using NETCONF [RFC6241]. YANG is proving
relevant beyond its initial confines, as bindings to other interfaces relevant beyond its initial confines, as bindings to other interfaces
(e.g. ReST) and encoding other than XML (e.g. JSON) are being (e.g. ReST) and encoding other than XML (e.g. JSON) are being
defined. Furthermore, YANG data models can be used as the basis of defined. Furthermore, YANG data models can be used as the basis of
skipping to change at page 5, line 34 skipping to change at page 6, line 5
The data pertaining to RSVP-TE in this document is divided into two The data pertaining to RSVP-TE in this document is divided into two
modules: a technology agnostic RSVP-TE module that holds generic modules: a technology agnostic RSVP-TE module that holds generic
parameters for RSVP-TE applicable to all technologies, and a parameters for RSVP-TE applicable to all technologies, and a
technology specific RSVP-TE module (e.g. for MPLS RSVP-TE) that holds technology specific RSVP-TE module (e.g. for MPLS RSVP-TE) that holds
parameters specific to the technology. parameters specific to the technology.
This document defines YANG data models for RSVP-TE, and RSVP-TE MPLS This document defines YANG data models for RSVP-TE, and RSVP-TE MPLS
configuration, state, notification and RPCs. The relationship configuration, state, notification and RPCs. The relationship
between the different modules is depicted in Figure 1. between the different modules is depicted in Figure 1.
2.2. State Data Organization
The Network Management Datastore Architecture (NMDA)
[I-D.dsdt-nmda-guidelines] addresses the "OpState" that was discussed
in the IETF. As per NMDA guidelines for new models and models that
are not concerned with the operational state of configuration
information, this revision of the draft adopts the NMDA proposal for
configuration and state data of this model.
TE basic +---------+ ^: import TE basic +---------+ ^: import
module | ietf-te | o: augment module | ietf-te | o: augment
+---------+ +---------+
| o | o
| | | |
v | v |
+--------------+ +--------------+
RSVP-TE module | ietf-rsvp-te |o . . . RSVP-TE module | ietf-rsvp-te |o . . .
+--------------+ \ +--------------+ \
^ | \ ^ | \
skipping to change at page 6, line 29 skipping to change at page 6, line 29
o extensions o extensions
| (shown for illustration | (shown for illustration
RSVP extended | not in this document) RSVP extended | not in this document)
module +--------------------+ module +--------------------+
| ietf-rsvp-extended | | ietf-rsvp-extended |
+--------------------+ +--------------------+
Figure 1: Relationship of RSVP and RSVP-TE modules with other Figure 1: Relationship of RSVP and RSVP-TE modules with other
protocol modules protocol modules
2.3. RSVP-TE Generic Model 2.2. RSVP-TE Generic Model
The RSVP-TE generic module augments the RSVP base and extended YANG The RSVP-TE generic module augments the RSVP base and extended YANG
modules defined in [I-D.ietf-teas-yang-rsvp] as well as the TE modules defined in [I-D.ietf-teas-yang-rsvp] as well as the TE
tunnels and interfaces module [I-D.ietf-teas-yang-te] to cover tunnels and interfaces module [I-D.ietf-teas-yang-te] to cover
parameters specific to the configuration and management of RSVP-TE parameters specific to the configuration and management of RSVP-TE
interfaces, tunnels and LSP(s). interfaces, tunnels and LSP(s).
2.3.1. Tree Diagram 2.2.1. Tree Diagram
There are three types of configuration and state data nodes in this There are three types of configuration and state data nodes in this
module: module:
o those augmenting or extending the base RSVP module o those augmenting or extending the base RSVP module
o those augmenting or extending the base TE module o those augmenting or extending the base TE module
o those that are specific to the RSVP-TE module o those that are specific to the RSVP-TE module
skipping to change at page 8, line 41 skipping to change at page 8, line 41
+--ro lsp-preplanned? boolean +--ro lsp-preplanned? boolean
+--ro lsp-oob-mapping? boolean +--ro lsp-oob-mapping? boolean
+--ro explicit-route-objects +--ro explicit-route-objects
| +--ro incoming-explicit-route-hop* [index] | +--ro incoming-explicit-route-hop* [index]
| | +--ro index -> ../state/index | | +--ro index -> ../state/index
| | +--ro state | | +--ro state
| | +--ro index? uint32 | | +--ro index? uint32
| | +--ro (type)? | | +--ro (type)?
| | +--:(numbered) | | +--:(numbered)
| | | +--ro numbered-hop | | | +--ro numbered-hop
| | | +--ro address? te-types:te-tp-id | | | +--ro address? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type | | | +--ro hop-type? te-hop-type
| | | +--ro direction? te-link-direction
| | +--:(as-number) | | +--:(as-number)
| | | +--ro as-number-hop | | | +--ro as-number-hop
| | | +--ro as-number? binary | | | +--ro as-number? binary
| | | +--ro hop-type? te-hop-type | | | +--ro hop-type? te-hop-type
| | +--:(unnumbered) | | +--:(unnumbered)
| | | +--ro unnumbered-hop | | | +--ro unnumbered-hop
| | | +--ro node-id? te-types:te-node-id | | | +--ro node-id? te-types:te-node-id
| | | +--ro link-tp-id? te-types:te-tp-id | | | +--ro link-tp-id? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type | | | +--ro hop-type? te-hop-type
| | | +--ro direction? te-link-direction
| | +--:(label) | | +--:(label)
| | | +--ro label-hop | | +--ro label-hop
| | | +--ro value? rt-types:generalized-label | | +--ro te-label
| | +--:(sid) | | +--ro (technology)?
| | +--ro sid-hop | | | +--:(generic)
| | +--ro sid? rt-types:generalized-label | | | +--ro generic?
rt-types:generalized-label
| | +--ro direction? te-label-direction
| +--ro outgoing-explicit-route-hop* [index] | +--ro outgoing-explicit-route-hop* [index]
| +--ro index -> ../state/index | +--ro index -> ../state/index
| +--ro state | +--ro state
| +--ro index? uint32 | +--ro index? uint32
| +--ro (type)? | +--ro (type)?
| +--:(numbered) | +--:(numbered)
| | +--ro numbered-hop | | +--ro numbered-hop
| | +--ro address? te-types:te-tp-id | | +--ro address? te-types:te-tp-id
| | +--ro hop-type? te-hop-type | | +--ro hop-type? te-hop-type
| | +--ro direction? te-link-direction
| +--:(as-number) | +--:(as-number)
| | +--ro as-number-hop | | +--ro as-number-hop
| | +--ro as-number? binary | | +--ro as-number? binary
| | +--ro hop-type? te-hop-type | | +--ro hop-type? te-hop-type
| +--:(unnumbered) | +--:(unnumbered)
| | +--ro unnumbered-hop | | +--ro unnumbered-hop
| | +--ro node-id? te-types:te-node-id | | +--ro node-id? te-types:te-node-id
| | +--ro link-tp-id? te-types:te-tp-id | | +--ro link-tp-id? te-types:te-tp-id
| | +--ro hop-type? te-hop-type | | +--ro hop-type? te-hop-type
| | +--ro direction? te-link-direction
| +--:(label) | +--:(label)
| | +--ro label-hop | +--ro label-hop
| | +--ro value? rt-types:generalized-label | +--ro te-label
| +--:(sid) | +--ro (technology)?
| +--ro sid-hop | | +--:(generic)
| +--ro sid? rt-types:generalized-label | | +--ro generic?
rt-types:generalized-label
| +--ro direction? te-label-direction
+--ro incoming-record-route-subobjects +--ro incoming-record-route-subobjects
| +--ro incoming-record-route-subobject* [index] | +--ro incoming-record-route-subobject* [index]
| +--ro index -> ../state/index | +--ro index -> ../state/index
| +--ro state | +--ro state
| +--ro index? uint32 | +--ro index? uint32
| +--ro (type)? | +--ro (type)?
| +--:(numbered) | +--:(numbered)
| | +--ro address? te-types:te-tp-id | | +--ro address? te-types:te-tp-id
| | +--ro ip-flags? binary | | +--ro ip-flags? binary
| +--:(unnumbered) | +--:(unnumbered)
skipping to change at page 10, line 40 skipping to change at page 10, line 48
+--ro lsp-preplanned? boolean +--ro lsp-preplanned? boolean
+--ro lsp-oob-mapping? boolean +--ro lsp-oob-mapping? boolean
+--ro explicit-route-objects +--ro explicit-route-objects
| +--ro incoming-explicit-route-hop* [index] | +--ro incoming-explicit-route-hop* [index]
| | +--ro index -> ../state/index | | +--ro index -> ../state/index
| | +--ro state | | +--ro state
| | +--ro index? uint32 | | +--ro index? uint32
| | +--ro (type)? | | +--ro (type)?
| | +--:(numbered) | | +--:(numbered)
| | | +--ro numbered-hop | | | +--ro numbered-hop
| | | +--ro address? te-types:te-tp-id | | | +--ro address? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type | | | +--ro hop-type? te-hop-type
| | | +--ro direction? te-link-direction
| | +--:(as-number) | | +--:(as-number)
| | | +--ro as-number-hop | | | +--ro as-number-hop
| | | +--ro as-number? binary | | | +--ro as-number? binary
| | | +--ro hop-type? te-hop-type | | | +--ro hop-type? te-hop-type
| | +--:(unnumbered) | | +--:(unnumbered)
| | | +--ro unnumbered-hop | | | +--ro unnumbered-hop
| | | +--ro node-id? te-types:te-node-id | | | +--ro node-id? te-types:te-node-id
| | | +--ro link-tp-id? te-types:te-tp-id | | | +--ro link-tp-id? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type | | | +--ro hop-type? te-hop-type
| | | +--ro direction? te-link-direction
| | +--:(label) | | +--:(label)
| | | +--ro label-hop | | +--ro label-hop
| | | +--ro value? rt-types:generalized-label | | +--ro te-label
| | +--:(sid) | | +--ro (technology)?
| | +--ro sid-hop | | | +--:(generic)
| | +--ro sid? rt-types:generalized-label | | | +--ro generic?
rt-types:generalized-label
| | +--ro direction? te-label-direction
| +--ro outgoing-explicit-route-hop* [index] | +--ro outgoing-explicit-route-hop* [index]
| +--ro index -> ../state/index | +--ro index -> ../state/index
| +--ro state | +--ro state
| +--ro index? uint32 | +--ro index? uint32
| +--ro (type)? | +--ro (type)?
| +--:(numbered) | +--:(numbered)
| | +--ro numbered-hop | | +--ro numbered-hop
| | +--ro address? te-types:te-tp-id | | +--ro address? te-types:te-tp-id
| | +--ro hop-type? te-hop-type | | +--ro hop-type? te-hop-type
| | +--ro direction? te-link-direction
| +--:(as-number) | +--:(as-number)
| | +--ro as-number-hop | | +--ro as-number-hop
| | +--ro as-number? binary | | +--ro as-number? binary
| | +--ro hop-type? te-hop-type | | +--ro hop-type? te-hop-type
| +--:(unnumbered) | +--:(unnumbered)
| | +--ro unnumbered-hop | | +--ro unnumbered-hop
| | +--ro node-id? te-types:te-node-id | | +--ro node-id? te-types:te-node-id
| | +--ro link-tp-id? te-types:te-tp-id | | +--ro link-tp-id? te-types:te-tp-id
| | +--ro hop-type? te-hop-type | | +--ro hop-type? te-hop-type
| | +--ro direction? te-link-direction
| +--:(label) | +--:(label)
| | +--ro label-hop | +--ro label-hop
| | +--ro value? rt-types:generalized-label | +--ro te-label
| +--:(sid) | +--ro (technology)?
| +--ro sid-hop | | +--:(generic)
| +--ro sid? rt-types:generalized-label | | +--ro generic?
rt-types:generalized-label
| +--ro direction? te-label-direction
+--ro incoming-record-route-subobjects +--ro incoming-record-route-subobjects
| +--ro incoming-record-route-subobject* [index] | +--ro incoming-record-route-subobject* [index]
| +--ro index -> ../state/index | +--ro index -> ../state/index
| +--ro state | +--ro state
| +--ro index? uint32 | +--ro index? uint32
| +--ro (type)? | +--ro (type)?
| +--:(numbered) | +--:(numbered)
| | +--ro address? te-types:te-tp-id | | +--ro address? te-types:te-tp-id
| | +--ro ip-flags? binary | | +--ro ip-flags? binary
| +--:(unnumbered) | +--:(unnumbered)
skipping to change at page 12, line 40 skipping to change at page 13, line 8
+--ro lsp-preplanned? boolean +--ro lsp-preplanned? boolean
+--ro lsp-oob-mapping? boolean +--ro lsp-oob-mapping? boolean
+--ro explicit-route-objects +--ro explicit-route-objects
| +--ro incoming-explicit-route-hop* [index] | +--ro incoming-explicit-route-hop* [index]
| | +--ro index -> ../state/index | | +--ro index -> ../state/index
| | +--ro state | | +--ro state
| | +--ro index? uint32 | | +--ro index? uint32
| | +--ro (type)? | | +--ro (type)?
| | +--:(numbered) | | +--:(numbered)
| | | +--ro numbered-hop | | | +--ro numbered-hop
| | | +--ro address? te-types:te-tp-id | | | +--ro address? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type | | | +--ro hop-type? te-hop-type
| | | +--ro direction? te-link-direction
| | +--:(as-number) | | +--:(as-number)
| | | +--ro as-number-hop | | | +--ro as-number-hop
| | | +--ro as-number? binary | | | +--ro as-number? binary
| | | +--ro hop-type? te-hop-type | | | +--ro hop-type? te-hop-type
| | +--:(unnumbered) | | +--:(unnumbered)
| | | +--ro unnumbered-hop | | | +--ro unnumbered-hop
| | | +--ro node-id? te-types:te-node-id | | | +--ro node-id? te-types:te-node-id
| | | +--ro link-tp-id? te-types:te-tp-id | | | +--ro link-tp-id? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type | | | +--ro hop-type? te-hop-type
| | | +--ro direction? te-link-direction
| | +--:(label) | | +--:(label)
| | | +--ro label-hop | | +--ro label-hop
| | | +--ro value? rt-types:generalized-label | | +--ro te-label
| | +--:(sid) | | +--ro (technology)?
| | +--ro sid-hop | | | +--:(generic)
| | +--ro sid? rt-types:generalized-label | | | +--ro generic?
rt-types:generalized-label
| | +--ro direction? te-label-direction
| +--ro outgoing-explicit-route-hop* [index] | +--ro outgoing-explicit-route-hop* [index]
| +--ro index -> ../state/index | +--ro index -> ../state/index
| +--ro state | +--ro state
| +--ro index? uint32 | +--ro index? uint32
| +--ro (type)? | +--ro (type)?
| +--:(numbered) | +--:(numbered)
| | +--ro numbered-hop | | +--ro numbered-hop
| | +--ro address? te-types:te-tp-id | | +--ro address? te-types:te-tp-id
| | +--ro hop-type? te-hop-type | | +--ro hop-type? te-hop-type
| | +--ro direction? te-link-direction
| +--:(as-number) | +--:(as-number)
| | +--ro as-number-hop | | +--ro as-number-hop
| | +--ro as-number? binary | | +--ro as-number? binary
| | +--ro hop-type? te-hop-type | | +--ro hop-type? te-hop-type
| +--:(unnumbered) | +--:(unnumbered)
| | +--ro unnumbered-hop | | +--ro unnumbered-hop
| | +--ro node-id? te-types:te-node-id | | +--ro node-id? te-types:te-node-id
| | +--ro link-tp-id? te-types:te-tp-id | | +--ro link-tp-id? te-types:te-tp-id
| | +--ro hop-type? te-hop-type | | +--ro hop-type? te-hop-type
| | +--ro direction? te-link-direction
| +--:(label) | +--:(label)
| | +--ro label-hop | +--ro label-hop
| | +--ro value? rt-types:generalized-label | +--ro te-label
| +--:(sid) | +--ro (technology)?
| +--ro sid-hop | | +--:(generic)
| +--ro sid? rt-types:generalized-label | | +--ro generic?
rt-types:generalized-label
| +--ro direction? te-label-direction
+--ro incoming-record-route-subobjects +--ro incoming-record-route-subobjects
| +--ro incoming-record-route-subobject* [index] | +--ro incoming-record-route-subobject* [index]
| +--ro index -> ../state/index | +--ro index -> ../state/index
| +--ro state | +--ro state
| +--ro index? uint32 | +--ro index? uint32
| +--ro (type)? | +--ro (type)?
| +--:(numbered) | +--:(numbered)
| | +--ro address? te-types:te-tp-id | | +--ro address? te-types:te-tp-id
| | +--ro ip-flags? binary | | +--ro ip-flags? binary
| +--:(unnumbered) | +--:(unnumbered)
skipping to change at page 14, line 19 skipping to change at page 14, line 43
+--:(unnumbered) +--:(unnumbered)
| +--ro node-id? te-types:te-node-id | +--ro node-id? te-types:te-node-id
| +--ro link-tp-id? te-types:te-tp-id | +--ro link-tp-id? te-types:te-tp-id
+--:(label) +--:(label)
+--ro value? rt-types:generalized-label +--ro value? rt-types:generalized-label
+--ro label-flags? binary +--ro label-flags? binary
augment /te:te/te-dev:interfaces/te-dev:interface: augment /te:te/te-dev:interfaces/te-dev:interface:
Figure 2: RSVP-TE model Tree diagram Figure 2: RSVP-TE model Tree diagram
2.3.2. YANG Module 2.2.2. YANG Module
<CODE BEGINS> file "ietf-rsvp-te@2017-10-29.yang" <CODE BEGINS> file "ietf-rsvp-te@2018-02-19.yang"
module ietf-rsvp-te { module ietf-rsvp-te {
namespace "urn:ietf:params:xml:ns:yang:ietf-rsvp-te"; namespace "urn:ietf:params:xml:ns:yang:ietf-rsvp-te";
prefix "rsvp-te"; prefix "rsvp-te";
import ietf-rsvp { import ietf-rsvp {
prefix rsvp; prefix rsvp;
} }
import ietf-routing { import ietf-routing {
prefix "rt"; prefix "rt";
} }
import ietf-routing-types { import ietf-routing-types {
prefix rt-types; prefix rt-types;
skipping to change at page 15, line 45 skipping to change at page 16, line 23
Editor: Raqib Jones Editor: Raqib Jones
<mailto:raqib@Brocade.com> <mailto:raqib@Brocade.com>
Editor: Bin Wen Editor: Bin Wen
<mailto:Bin_Wen@cable.comcast.com>"; <mailto:Bin_Wen@cable.comcast.com>";
description description
"This module contains the RSVP-TE YANG generic data model."; "This module contains the RSVP-TE YANG generic data model.";
revision "2017-10-29" { revision "2018-02-19" {
description "Latest revision to RSVP-TE generic YANG module"; description "Latest revision to RSVP-TE generic YANG module";
reference "RFC2205, RFC3209, etc."; reference "RFC2205, RFC3209, etc.";
} }
/** /**
* RSVP-TE LSPs groupings. * RSVP-TE LSPs groupings.
*/ */
grouping lsp-record-route-information_state { grouping lsp-record-route-information_state {
description "recorded route information grouping"; description "recorded route information grouping";
skipping to change at page 17, line 31 skipping to change at page 18, line 7
leaf index { leaf index {
type leafref { type leafref {
path "../state/index"; path "../state/index";
} }
description "ERO subobject index"; description "ERO subobject index";
} }
container state { container state {
config false; config false;
description description
"State parameters for the explicit route hop"; "State parameters for the explicit route hop";
uses te-types:explicit-route-hop_config; uses te-types:explicit-route-hop;
} }
} }
list outgoing-explicit-route-hop { list outgoing-explicit-route-hop {
when "../../te:origin-type != 'egress'" { when "../../te:origin-type != 'egress'" {
description "Applicable on non-egress LSPs only"; description "Applicable on non-egress LSPs only";
} }
key "index"; key "index";
description description
"List of outgoing RSVP Path explicit-route objects"; "List of outgoing RSVP Path explicit-route objects";
leaf index { leaf index {
type leafref { type leafref {
path "../state/index"; path "../state/index";
} }
description "ERO subobject index"; description "ERO subobject index";
} }
container state { container state {
config false; config false;
description description
"State parameters for the explicit route hop"; "State parameters for the explicit route hop";
uses te-types:explicit-route-hop_config; uses te-types:explicit-route-hop;
} }
} }
} }
} }
grouping lsp-attributes-flags_config { grouping lsp-attributes-flags_config {
description description
"Configuration parameters relating to RSVP-TE LSP "Configuration parameters relating to RSVP-TE LSP
attribute flags"; attribute flags";
leaf lsp-rerouting { leaf lsp-rerouting {
type enumeration { type enumeration {
skipping to change at page 23, line 41 skipping to change at page 24, line 18
} }
/** /**
* RSVP-TE generic augmentations of generic TE model. * RSVP-TE generic augmentations of generic TE model.
*/ */
/* TE tunnel augmentation */ /* TE tunnel augmentation */
augment "/te:te/te:tunnels/te:tunnel" { augment "/te:te/te:tunnels/te:tunnel" {
when "/te:te/te:tunnels/te:tunnel" + when "/te:te/te:tunnels/te:tunnel" +
"/te:p2p-primary-paths/te:p2p-primary-path" + "/te:p2p-primary-paths/te:p2p-primary-path" +
"/te:path-setup-protocol = 'te-types:te-path-setup-rsvp'" { "/te:path-setup-protocol = 'te-types:path-setup-rsvp'" {
description description
"When the path signaling protocol is RSVP-TE "; "When the path signaling protocol is RSVP-TE ";
} }
description description
"RSVP-TE generic data augmentation pertaining to TE tunnels"; "RSVP-TE generic data augmentation pertaining to TE tunnels";
uses lsp-properties_config; uses lsp-properties_config;
uses tunnel-properties_config; uses tunnel-properties_config;
} }
augment "/te:te/te:tunnels/te:tunnel/te:state" { augment "/te:te/te:tunnels/te:tunnel/te:state" {
when "/te:te/te:tunnels/te:tunnel" + when "/te:te/te:tunnels/te:tunnel" +
"/te:p2p-primary-paths/te:p2p-primary-path" + "/te:p2p-primary-paths/te:p2p-primary-path" +
"/te:path-setup-protocol = 'te-types:te-path-setup-rsvp'" { "/te:path-setup-protocol = 'te-types:path-setup-rsvp'" {
description description
"When the path signaling protocol is RSVP-TE "; "When the path signaling protocol is RSVP-TE ";
} }
description description
"RSVP-TE generic data augmentation pertaining to TE tunnels"; "RSVP-TE generic data augmentation pertaining to TE tunnels";
uses lsp-properties_config; uses lsp-properties_config;
uses tunnel-properties_config; uses tunnel-properties_config;
} }
/* TE LSP augmentation */ /* TE LSP augmentation */
skipping to change at page 24, line 39 skipping to change at page 25, line 16
that details of the signaling can be retrieved."; that details of the signaling can be retrieved.";
} }
uses lsp-properties_config; uses lsp-properties_config;
uses lsp-explicit-route-information_state; uses lsp-explicit-route-information_state;
uses lsp-record-route-information_state; uses lsp-record-route-information_state;
} }
augment "/te:te/te:lsps-state/te:lsp" { augment "/te:te/te:lsps-state/te:lsp" {
when "/te:te/te:lsps-state/te:lsp" + when "/te:te/te:lsps-state/te:lsp" +
"/te:path-setup-protocol = 'te-types:te-path-setup-rsvp'" { "/te:path-setup-protocol = 'te-types:path-setup-rsvp'" {
description description
"When the signaling protocol is RSVP-TE "; "When the signaling protocol is RSVP-TE ";
} }
description description
"RSVP-TE generic data augmentation pertaining to specific TE "RSVP-TE generic data augmentation pertaining to specific TE
LSP"; LSP";
uses rsvp-te-lsp-properties; uses rsvp-te-lsp-properties;
} }
augment "/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths" + augment "/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths" +
"/te:p2p-primary-path/te:state/te:lsps/te:lsp" { "/te:p2p-primary-path/te:state/te:lsps/te:lsp" {
when "/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths" + when "/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths" +
"/te:p2p-primary-path/te:state/te:lsps/te:lsp" + "/te:p2p-primary-path/te:state/te:lsps/te:lsp" +
"/te:path-setup-protocol = 'te-types:te-path-setup-rsvp'" { "/te:path-setup-protocol = 'te-types:path-setup-rsvp'" {
description description
"When the signaling protocol is RSVP-TE "; "When the signaling protocol is RSVP-TE ";
} }
description description
"RSVP-TE generic data augmentation pertaining to specific TE "RSVP-TE generic data augmentation pertaining to specific TE
LSP"; LSP";
uses rsvp-te-lsp-properties; uses rsvp-te-lsp-properties;
} }
augment "/te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths" + augment "/te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths" +
"/te:p2p-secondary-path/te:state/te:lsps/te:lsp" { "/te:p2p-secondary-path/te:state/te:lsps/te:lsp" {
when "/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths" + when "/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths" +
"/te:p2p-primary-path/te:state/te:lsps/te:lsp" + "/te:p2p-primary-path/te:state/te:lsps/te:lsp" +
"/te:path-setup-protocol = 'te-types:te-path-setup-rsvp'" { "/te:path-setup-protocol = 'te-types:path-setup-rsvp'" {
description description
"When the signaling protocol is RSVP-TE "; "When the signaling protocol is RSVP-TE ";
} }
description description
"RSVP-TE generic data augmentation pertaining to specific TE "RSVP-TE generic data augmentation pertaining to specific TE
LSP"; LSP";
uses rsvp-te-lsp-properties; uses rsvp-te-lsp-properties;
} }
/* TE interface augmentation */ /* TE interface augmentation */
augment "/te:te/te-dev:interfaces/te-dev:interface" { augment "/te:te/te-dev:interfaces/te-dev:interface" {
description description
"RSVP-TE generic data augmentation pertaining to specific TE "RSVP-TE generic data augmentation pertaining to specific TE
interface"; interface";
} }
} }
<CODE ENDS> <CODE ENDS>
skipping to change at page 25, line 40 skipping to change at page 26, line 18
augment "/te:te/te-dev:interfaces/te-dev:interface" { augment "/te:te/te-dev:interfaces/te-dev:interface" {
description description
"RSVP-TE generic data augmentation pertaining to specific TE "RSVP-TE generic data augmentation pertaining to specific TE
interface"; interface";
} }
} }
<CODE ENDS> <CODE ENDS>
Figure 3: RSVP TE generic YANG module Figure 3: RSVP TE generic YANG module
2.4. RSVP-TE MPLS Model 2.3. RSVP-TE MPLS Model
The MPLS RSVP-TE YANG module augments the RSVP-TE generic module with The MPLS RSVP-TE YANG module augments the RSVP-TE generic module with
parameters to configure and manage signaling of MPLS RSVP-TE LSPs. parameters to configure and manage signaling of MPLS RSVP-TE LSPs.
RSVP-TE YANG modules for other dataplane technologies (e.g. OTN or RSVP-TE YANG modules for other dataplane technologies (e.g. OTN or
WDM) are outside the scope of this document and are defined in other WDM) are outside the scope of this document and are defined in other
documents. documents.
2.4.1. Tree Diagram 2.3.1. Tree Diagram
The following are possible types of configuration and state data The following are possible types of configuration and state data
nodes in this module: nodes in this module:
o those augmenting or extending the generic RSVP-TE module o those augmenting or extending the generic RSVP-TE module
o those augmenting or extending the TE module o those augmenting or extending the TE module
o those that are specific to the RSVP-TE MPLS module o those that are specific to the RSVP-TE MPLS module
Below is a YANG tree representation for data items defined in the Below is a YANG tree representation for data items defined in the
RSVP-TE MPLS module: RSVP-TE MPLS module:
module: ietf-rsvp-te-mpls module: ietf-rsvp-te-mpls
augment augment /rt:routing/rt:control-plane-protocols/
/rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/ rt:control-plane-protocol/rsvp:rsvp:
rsvp:rsvp: +--rw fast-reroute-local-revertive
+--rw fast-reroute-local-revertive +--rw rsvp-frr-local-revert-delay? uint32
+--rw rsvp-frr-local-revert-delay? uint32 augment /rt:routing/rt:control-plane-protocols/
augment rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces:
/rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/ augment /rt:routing/rt:control-plane-protocols/
rsvp:rsvp/rsvp:interfaces: rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/rsvp:interface:
augment augment /rt:routing/rt:control-plane-protocols/
/rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/ rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/
rsvp:rsvp/rsvp:interfaces/rsvp:interface: rsvp:sessions/rsvp:session/rsvp:state:
augment augment /rt:routing/rt:control-plane-protocols/
/rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/ rt:control-plane-protocol/rsvp:rsvp/rsvp:neighbors:
rsvp:rsvp/rsvp:globals/rsvp:sessions/rsvp:session/rsvp:state: augment /te:te/te:tunnels/te:tunnel:
augment +--rw local-protection-desired? empty
/rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/ +--rw bandwidth-protection-desired? empty
rsvp:rsvp/rsvp:neighbors: +--rw node-protection-desired? empty
augment /te:te/te:tunnels/te:tunnel: +--rw non-php-desired? empty
+--rw local-protection-desired? empty +--rw entropy-label-cap? empty
+--rw bandwidth-protection-desired? empty +--rw oam-mep-entities-desired? empty
+--rw node-protection-desired? empty +--rw oam-mip-entities-desired? empty
+--rw non-php-desired? empty augment /te:te/te:lsps-state/te:lsp:
+--rw entropy-label-cap? empty +--ro state
+--rw oam-mep-entities-desired? empty | +--ro local-protection-desired? empty
+--rw oam-mip-entities-desired? empty | +--ro bandwidth-protection-desired? empty
augment /te:te/te:lsps-state/te:lsp: | +--ro node-protection-desired? empty
+--ro state | +--ro non-php-desired? empty
| +--ro local-protection-desired? empty | +--ro entropy-label-cap? empty
| +--ro bandwidth-protection-desired? empty | +--ro oam-mep-entities-desired? empty
| +--ro node-protection-desired? empty | +--ro oam-mip-entities-desired? empty
| +--ro non-php-desired? empty +--ro backup-info
| +--ro entropy-label-cap? empty +--ro state
| +--ro oam-mep-entities-desired? empty +--ro backup-tunnel-name? string
| +--ro oam-mip-entities-desired? empty +--ro backup-frr-on? uint8
+--ro backup-info +--ro backup-protected-lsp-num? uint32
+--ro state augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
+--ro backup-tunnel-name? string te:p2p-primary-path/te:state/te:lsps/te:lsp:
+--ro backup-frr-on? uint8 +--ro state
+--ro backup-protected-lsp-num? uint32 | +--ro local-protection-desired? empty
augment | +--ro bandwidth-protection-desired? empty
/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-path/ | +--ro node-protection-desired? empty
te:state/te:lsps/te:lsp: | +--ro non-php-desired? empty
+--ro state | +--ro entropy-label-cap? empty
| +--ro local-protection-desired? empty | +--ro oam-mep-entities-desired? empty
| +--ro bandwidth-protection-desired? empty | +--ro oam-mip-entities-desired? empty
| +--ro node-protection-desired? empty +--ro backup-info
| +--ro non-php-desired? empty +--ro state
| +--ro entropy-label-cap? empty +--ro backup-tunnel-name? string
| +--ro oam-mep-entities-desired? empty +--ro backup-frr-on? uint8
| +--ro oam-mip-entities-desired? empty +--ro backup-protected-lsp-num? uint32
+--ro backup-info augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/
+--ro state te:p2p-secondary-path/te:state/te:lsps/te:lsp:
+--ro backup-tunnel-name? string +--ro state
+--ro backup-frr-on? uint8 | +--ro local-protection-desired? empty
+--ro backup-protected-lsp-num? uint32 | +--ro bandwidth-protection-desired? empty
augment | +--ro node-protection-desired? empty
/te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/ | +--ro non-php-desired? empty
te:p2p-secondary-path/te:state/te:lsps/te:lsp: | +--ro entropy-label-cap? empty
+--ro state | +--ro oam-mep-entities-desired? empty
| +--ro local-protection-desired? empty | +--ro oam-mip-entities-desired? empty
| +--ro bandwidth-protection-desired? empty +--ro backup-info
| +--ro node-protection-desired? empty +--ro state
| +--ro non-php-desired? empty +--ro backup-tunnel-name? string
| +--ro entropy-label-cap? empty +--ro backup-frr-on? uint8
| +--ro oam-mep-entities-desired? empty +--ro backup-protected-lsp-num? uint32
| +--ro oam-mip-entities-desired? empty augment /te:te/te-dev:interfaces/te-dev:interface:
+--ro backup-info +--rw bandwidth-mpls-reservable
+--ro state +--rw (bandwidth-value)?
+--ro backup-tunnel-name? string | +--:(absolute)
+--ro backup-frr-on? uint8 | | +--rw absolute-value? uint32
+--ro backup-protected-lsp-num? uint32 | +--:(percentage)
augment /te:te/te-dev:interfaces/te-dev:interface: | +--rw percent-value? uint32
+--rw bandwidth-mpls-reservable +--rw (bc-model-type)?
+--rw (bandwidth-value)? +--:(bc-model-rdm)
| +--:(absolute) | +--rw bc-model-rdm
| | +--rw absolute-value? uint32 | +--rw bandwidth-mpls-constraints
| +--:(percentage) | +--rw maximum-reservable? uint32
| +--rw percent-value? uint32 | +--rw bc-value* uint32
+--rw (bc-model-type)? +--:(bc-model-mam)
+--:(bc-model-rdm) | +--rw bc-model-mam
| +--rw bc-model-rdm | +--rw bandwidth-mpls-constraints
| +--rw bandwidth-mpls-constraints | +--rw maximum-reservable? uint32
| +--rw maximum-reservable? uint32 | +--rw bc-value* uint32
| +--rw bc-value* uint32 +--:(bc-model-mar)
+--:(bc-model-mam) +--rw bc-model-mar
| +--rw bc-model-mam +--rw bandwidth-mpls-constraints
| +--rw bandwidth-mpls-constraints +--rw maximum-reservable? uint32
| +--rw maximum-reservable? uint32 +--rw bc-value* uint32
| +--rw bc-value* uint32 augment /te:te/te-dev:interfaces/te-dev:interface:
+--:(bc-model-mar) +--rw rsvp-te-frr-backups
+--rw bc-model-mar +--rw (type)?
+--rw bandwidth-mpls-constraints +--:(static-tunnel)
+--rw maximum-reservable? uint32 | +--rw static-backups
+--rw bc-value* uint32 | +--rw static-backup* [backup-tunnel-name]
augment /te:te/te-dev:interfaces/te-dev:interface: | +--rw backup-tunnel-name ->
+--rw rsvp-te-frr-backups /te:te/tunnels/tunnel/name
+--rw (type)? +--:(auto-tunnel)
+--:(static-tunnel) +--rw auto-tunnel-backups
| +--rw static-backups +--rw auto-backup-protection? identityref
| +--rw static-backup* [backup-tunnel-name] +--rw auto-backup-path-computation? identityref
| +--rw backup-tunnel-name ->
/te:te/tunnels/tunnel/name
+--:(auto-tunnel)
+--rw auto-tunnel-backups
+--rw auto-backup-protection? identityref
+--rw auto-backup-path-computation? identityref
Figure 4: RSVP-TE MPLS Tree diagram Figure 4: RSVP-TE MPLS Tree diagram
2.4.2. YANG Module 2.3.2. YANG Module
<CODE BEGINS> file "ietf-rsvp-te-mpls@2017-10-29.yang" <CODE BEGINS> file "ietf-rsvp-te-mpls@2018-02-19.yang"
module ietf-rsvp-te-mpls { module ietf-rsvp-te-mpls {
namespace "urn:ietf:params:xml:ns:yang:ietf-rsvp-te-mpls"; namespace "urn:ietf:params:xml:ns:yang:ietf-rsvp-te-mpls";
prefix "rsvp-te-mpls"; prefix "rsvp-te-mpls";
import ietf-rsvp { import ietf-rsvp {
prefix "rsvp"; prefix "rsvp";
} }
import ietf-routing { import ietf-routing {
prefix "rt"; prefix "rt";
skipping to change at page 30, line 9 skipping to change at page 30, line 26
Editor: Raqib Jones Editor: Raqib Jones
<mailto:raqib@Brocade.com> <mailto:raqib@Brocade.com>
Editor: Bin Wen Editor: Bin Wen
<mailto:Bin_Wen@cable.comcast.com>"; <mailto:Bin_Wen@cable.comcast.com>";
description description
"Latest update to MPLS RSVP-TE YANG data model."; "Latest update to MPLS RSVP-TE YANG data model.";
revision "2017-10-29" { revision "2018-02-19" {
description "Update to MPLS RSVP-TE YANG initial revision."; description "Update to MPLS RSVP-TE YANG initial revision.";
reference "RFC3209, RFC6511, RFC6790, RFC7260, RFC4859, RFC4090"; reference "RFC3209, RFC6511, RFC6790, RFC7260, RFC4859, RFC4090";
} }
/* RSVP-TE MPLS LSPs groupings */ /* RSVP-TE MPLS LSPs groupings */
grouping lsp-attributes-flags-mpls_config { grouping lsp-attributes-flags-mpls_config {
description description
"Configuration parameters relating to RSVP-TE MPLS LSP "Configuration parameters relating to RSVP-TE MPLS LSP
attribute flags"; attribute flags";
leaf non-php-desired { leaf non-php-desired {
skipping to change at page 39, line 37 skipping to change at page 40, line 5
* Augmentation to TE generic module * Augmentation to TE generic module
*/ */
augment "/te:te/te:tunnels/te:tunnel" { augment "/te:te/te:tunnels/te:tunnel" {
description description
"Augmentations for RSVP-TE MPLS TE tunnel properties"; "Augmentations for RSVP-TE MPLS TE tunnel properties";
uses tunnel-properties-mpls_config; uses tunnel-properties-mpls_config;
} }
augment "/te:te/te:lsps-state/te:lsp" { augment "/te:te/te:lsps-state/te:lsp" {
when "/te:te/te:lsps-state/te:lsp" + when "/te:te/te:lsps-state/te:lsp" +
"/te:path-setup-protocol = 'te-types:te-path-setup-rsvp'" { "/te:path-setup-protocol = 'te-types:path-setup-rsvp'" {
description description
"When the signaling protocol is RSVP-TE "; "When the signaling protocol is RSVP-TE ";
} }
description description
"RSVP-TE MPLS LSP state properties"; "RSVP-TE MPLS LSP state properties";
uses lsp-properties-mpls; uses lsp-properties-mpls;
uses lsp-backup-info; uses lsp-backup-info;
} }
augment "/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths" + augment "/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths" +
"/te:p2p-primary-path/te:state/te:lsps/te:lsp" { "/te:p2p-primary-path/te:state/te:lsps/te:lsp" {
when "/te:te/te:tunnels/te:tunnel" + when "/te:te/te:tunnels/te:tunnel" +
"/te:p2p-secondary-paths/te:p2p-secondary-path/" + "/te:p2p-secondary-paths/te:p2p-secondary-path/" +
"te:path-setup-protocol = 'te-types:te-path-setup-rsvp'" { "te:path-setup-protocol = 'te-types:path-setup-rsvp'" {
description description
"When the signaling protocol is RSVP-TE "; "When the signaling protocol is RSVP-TE ";
} }
description description
"RSVP-TE MPLS LSP state properties"; "RSVP-TE MPLS LSP state properties";
uses lsp-properties-mpls; uses lsp-properties-mpls;
uses lsp-backup-info; uses lsp-backup-info;
} }
augment "/te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths" + augment "/te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths" +
"/te:p2p-secondary-path/te:state/te:lsps/te:lsp" { "/te:p2p-secondary-path/te:state/te:lsps/te:lsp" {
when "/te:te/te:tunnels/te:tunnel" + when "/te:te/te:tunnels/te:tunnel" +
"/te:p2p-secondary-paths/te:p2p-secondary-path/" + "/te:p2p-secondary-paths/te:p2p-secondary-path/" +
"te:path-setup-protocol = 'te-types:te-path-setup-rsvp'" { "te:path-setup-protocol = 'te-types:path-setup-rsvp'" {
description description
"When the signaling protocol is RSVP-TE "; "When the signaling protocol is RSVP-TE ";
} }
description description
"RSVP-TE MPLS LSP state properties"; "RSVP-TE MPLS LSP state properties";
uses lsp-properties-mpls; uses lsp-properties-mpls;
uses lsp-backup-info; uses lsp-backup-info;
} }
augment "/te:te/te-dev:interfaces/te-dev:interface" { augment "/te:te/te-dev:interfaces/te-dev:interface" {
skipping to change at page 42, line 19 skipping to change at page 42, line 29
Raqib Jones Raqib Jones
Brocade Brocade
Email: raqib@Brocade.com Email: raqib@Brocade.com
Bin Wen Bin Wen
Comcast Comcast
Email: Bin_Wen@cable.comcast.com Email: Bin_Wen@cable.comcast.com
7. References 7. Normative References
7.1. Normative References
[I-D.ietf-teas-yang-rsvp] [I-D.ietf-teas-yang-rsvp]
Beeram, V., Saad, T., Gandhi, R., Liu, X., Bryskin, I., Beeram, V., Saad, T., Gandhi, R., Liu, X., Bryskin, I.,
and H. Shah, "A YANG Data Model for Resource Reservation and H. Shah, "A YANG Data Model for Resource Reservation
Protocol (RSVP)", draft-ietf-teas-yang-rsvp-07 (work in Protocol (RSVP)", draft-ietf-teas-yang-rsvp-08 (work in
progress), March 2017. progress), October 2017.
[I-D.ietf-teas-yang-te] [I-D.ietf-teas-yang-te]
Saad, T., Gandhi, R., Liu, X., Beeram, V., Shah, H., and Saad, T., Gandhi, R., Liu, X., Beeram, V., Shah, H., and
I. Bryskin, "A YANG Data Model for Traffic Engineering I. Bryskin, "A YANG Data Model for Traffic Engineering
Tunnels and Interfaces", draft-ietf-teas-yang-te-08 (work Tunnels and Interfaces", draft-ietf-teas-yang-te-11 (work
in progress), July 2017. in progress), February 2018.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ Requirement Levels", BCP 14, RFC 2119,
RFC2119, March 1997, <https://www.rfc-editor.org/info/ DOI 10.17487/RFC2119, March 1997,
rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC2205] Braden, R., Ed., Zhang, L., Berson, S., Herzog, S., and S. [RFC2205] Braden, R., Ed., Zhang, L., Berson, S., Herzog, S., and S.
Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1 Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1
Functional Specification", RFC 2205, DOI 10.17487/RFC2205, Functional Specification", RFC 2205, DOI 10.17487/RFC2205,
September 1997, <https://www.rfc-editor.org/info/rfc2205>. September 1997, <https://www.rfc-editor.org/info/rfc2205>.
[RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001,
<https://www.rfc-editor.org/info/rfc3209>. <https://www.rfc-editor.org/info/rfc3209>.
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
DOI 10.17487/RFC3688, January 2004, <https://www.rfc- DOI 10.17487/RFC3688, January 2004,
editor.org/info/rfc3688>. <https://www.rfc-editor.org/info/rfc3688>.
[RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for
the Network Configuration Protocol (NETCONF)", RFC 6020, the Network Configuration Protocol (NETCONF)", RFC 6020,
DOI 10.17487/RFC6020, October 2010, <https://www.rfc- DOI 10.17487/RFC6020, October 2010,
editor.org/info/rfc6020>. <https://www.rfc-editor.org/info/rfc6020>.
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
and A. Bierman, Ed., "Network Configuration Protocol and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<https://www.rfc-editor.org/info/rfc6241>. <https://www.rfc-editor.org/info/rfc6241>.
[RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure
Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
<https://www.rfc-editor.org/info/rfc6242>. <https://www.rfc-editor.org/info/rfc6242>.
[RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration
Protocol (NETCONF) Access Control Model", RFC 6536, DOI Protocol (NETCONF) Access Control Model", RFC 6536,
10.17487/RFC6536, March 2012, <https://www.rfc- DOI 10.17487/RFC6536, March 2012,
editor.org/info/rfc6536>. <https://www.rfc-editor.org/info/rfc6536>.
[RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", RFC
6991, DOI 10.17487/RFC6991, July 2013, <https://www.rfc-
editor.org/info/rfc6991>.
7.2. Informative References
[I-D.dsdt-nmda-guidelines] [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types",
Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., RFC 6991, DOI 10.17487/RFC6991, July 2013,
and R. Wilton, "Guidelines for YANG Module Authors <https://www.rfc-editor.org/info/rfc6991>.
(NMDA)", draft-dsdt-nmda-guidelines-01 (work in progress),
May 2017.
Authors' Addresses Authors' Addresses
Vishnu Pavan Beeram Vishnu Pavan Beeram
Juniper Networks Juniper Networks
Email: vbeeram@juniper.net Email: vbeeram@juniper.net
Tarek Saad (editor) Tarek Saad (editor)
Cisco Systems, Inc. Cisco Systems, Inc.
Email: tsaad@cisco.com Email: tsaad@cisco.com
Rakesh Gandhi Rakesh Gandhi
Cisco Systems, Inc. Cisco Systems, Inc.
Email: rgandhi@cisco.com Email: rgandhi@cisco.com
Xufeng Liu Xufeng Liu
Jabil Jabil
Email: Xufeng_Liu@jabil.com Email: Xufeng_Liu@jabil.com
 End of changes. 63 change blocks. 
230 lines changed or deleted 224 lines changed or added

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