draft-ietf-teas-yang-rsvp-te-00.txt   draft-ietf-teas-yang-rsvp-te-01.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: September 11, 2017 R. Gandhi Expires: January 3, 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
March 10, 2017 July 02, 2017
A YANG Data Model for RSVP-TE A YANG Data Model for RSVP-TE
draft-ietf-teas-yang-rsvp-te-00 draft-ietf-teas-yang-rsvp-te-01
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 2, line 4 skipping to change at page 2, line 4
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 http://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 September 11, 2017. This Internet-Draft will expire on January 3, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 32 skipping to change at page 2, line 32
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. Data Organization . . . . . . . . . . . . . . . . . . . . 5 2.2. Data Organization . . . . . . . . . . . . . . . . . . . . 5
2.3. RSVP-TE Generic Model . . . . . . . . . . . . . . . . . . 6 2.3. RSVP-TE Generic Model . . . . . . . . . . . . . . . . . . 6
2.3.1. Tree Diagram . . . . . . . . . . . . . . . . . . . . 6 2.3.1. Tree Diagram . . . . . . . . . . . . . . . . . . . . 6
2.3.2. YANG Module . . . . . . . . . . . . . . . . . . . . . 11 2.3.2. YANG Module . . . . . . . . . . . . . . . . . . . . . 17
2.4. RSVP-TE MPLS Model . . . . . . . . . . . . . . . . . . . 21 2.4. RSVP-TE MPLS Model . . . . . . . . . . . . . . . . . . . 28
2.4.1. Tree Diagram . . . . . . . . . . . . . . . . . . . . 21 2.4.1. Tree Diagram . . . . . . . . . . . . . . . . . . . . 28
2.4.2. YANG Module . . . . . . . . . . . . . . . . . . . . . 24 2.4.2. YANG Module . . . . . . . . . . . . . . . . . . . . . 32
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 37 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 45
4. Security Considerations . . . . . . . . . . . . . . . . . . . 37 4. Security Considerations . . . . . . . . . . . . . . . . . . . 45
5. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 38 5. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 46
6. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 38 6. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 46
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 38 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.1. Normative References . . . . . . . . . . . . . . . . . . 38 7.1. Normative References . . . . . . . . . . . . . . . . . . 46
7.2. Informative References . . . . . . . . . . . . . . . . . 40 7.2. Informative References . . . . . . . . . . . . . . . . . 47
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 40 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 48
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
implementation for other interfaces, such as CLI and programmatic implementation for other interfaces, such as CLI and programmatic
skipping to change at page 6, line 51 skipping to change at page 6, line 51
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
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 generic module: RSVP-TE generic module:
module: ietf-rsvp-te module: ietf-rsvp-te
augment /rt:routing/rt:control-plane-protocols/ + augment
rt:control-plane-protocol/rsvp:rsvp/rsvp:globals: /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/
+--rw global-soft-preemption! rsvp:rsvp/rsvp:globals:
+--rw config +--rw global-soft-preemption!
| +--rw soft-preemption-timeout? uint16 +--rw config
+--rw state | +--rw soft-preemption-timeout? uint16
+--rw soft-preemption-timeout? uint16 +--rw state
augment /rt:routing/rt:control-plane-protocols/ +--rw soft-preemption-timeout? uint16
rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces: augment
+--rw rsvp-te-interface-attributes /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/
+--rw config rsvp:rsvp/rsvp:interfaces:
+--ro state +--rw rsvp-te-interface-attributes
augment /rt:routing/rt:control-plane-protocols/ +--rw config
rt:control-plane-protocol/rsvp:rsvp/ +--ro state
rsvp:interfaces/rsvp:interface: augment
+--rw rsvp-te-interface-attributes /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/
+--rw config rsvp:rsvp/rsvp:interfaces/rsvp:interface:
+--ro state +--rw rsvp-te-interface-attributes
augment /rt:routing/rt:control-plane-protocols/ +--rw config
rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/ +--ro state
rsvp:sessions/rsvp:session/rsvp:state/rsvp:psbs/rsvp:psb: augment
+--ro tspec-average-rate? rt-types:bandwidth-ieee-float32 /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/
+--ro tspec-size? rt-types:bandwidth-ieee-float32 rsvp:rsvp/rsvp:globals/rsvp:sessions/rsvp:session/rsvp:state/
+--ro tspec-peak-rate? rt-types:bandwidth-ieee-float32 rsvp:psbs/rsvp:psb:
+--ro min-policed-unit? uint32 +--ro tspec-average-rate? rt-types:bandwidth-ieee-float32
+--ro max-packet-size? uint32 +--ro tspec-size? rt-types:bandwidth-ieee-float32
augment /rt:routing/rt:control-plane-protocols/ +--ro tspec-peak-rate? rt-types:bandwidth-ieee-float32
rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/ +--ro min-policed-unit? uint32
rsvp:sessions/rsvp:session/rsvp:state/rsvp:rsbs/rsvp:rsb: +--ro max-packet-size? uint32
+--ro fspec-average-rate? rt-types:bandwidth-ieee-float32 augment
+--ro fspec-size? rt-types:bandwidth-ieee-float32 /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/
+--ro fspec-peak-rate? rt-types:bandwidth-ieee-float32 rsvp:rsvp/rsvp:globals/rsvp:sessions/rsvp:session/rsvp:state/
+--ro min-policed-unit? uint32 rsvp:rsbs/rsvp:rsb:
+--ro max-packet-size? uint32 +--ro fspec-average-rate? rt-types:bandwidth-ieee-float32
augment /rt:routing/rt:control-plane-protocols/ +--ro fspec-size? rt-types:bandwidth-ieee-float32
rt:control-plane-protocol/rsvp:rsvp/rsvp:neighbors: +--ro fspec-peak-rate? rt-types:bandwidth-ieee-float32
augment /te:te/te:tunnels/te:tunnel/te:config: +--ro min-policed-unit? uint32
+--rw lsp-signaled-name? string +--ro max-packet-size? uint32
+--rw local-recording-desired? boolean augment
+--rw se-style-desired? boolean /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/
+--rw path-reevaluation-request? boolean rsvp:rsvp/rsvp:neighbors:
+--rw soft-preemption-desired? boolean augment /te:te/te:tunnels/te:tunnel/te:config:
+--rw lsp-rerouting? enumeration +--rw lsp-signaled-name? string
+--rw lsp-integrity-required? boolean +--rw local-recording-desired? boolean
+--rw lsp-contiguous? boolean +--rw se-style-desired? boolean
+--rw lsp-stitching-desired? boolean +--rw path-reevaluation-request? boolean
+--rw lsp-preplanned? boolean +--rw soft-preemption-desired? boolean
+--rw lsp-oob-mapping? boolean +--rw lsp-rerouting? enumeration
+--rw retry-timer? uint16 +--rw lsp-integrity-required? boolean
+--rw lsp-contiguous? boolean
+--rw lsp-stitching-desired? boolean
+--rw lsp-preplanned? boolean
+--rw lsp-oob-mapping? boolean
+--rw retry-timer? uint16
augment /te:te/te:tunnels/te:tunnel/te:state:
+--ro lsp-signaled-name? string
+--ro local-recording-desired? boolean
+--ro se-style-desired? boolean
+--ro path-reevaluation-request? boolean
+--ro soft-preemption-desired? boolean
+--ro lsp-rerouting? enumeration
+--ro lsp-integrity-required? boolean
+--ro lsp-contiguous? boolean
+--ro lsp-stitching-desired? boolean
+--ro lsp-preplanned? boolean
+--ro lsp-oob-mapping? boolean
+--ro retry-timer? uint16
augment /te:te/te:lsps-state/te:lsp:
+--ro associated-rsvp-session? ->
/rt:routing/control-plane-protocols/control-plane-protocol/
rsvp:rsvp/globals/sessions/session/local-index
+--ro lsp-signaled-name? string
+--ro local-recording-desired? boolean
+--ro se-style-desired? boolean
+--ro path-reevaluation-request? boolean
+--ro soft-preemption-desired? boolean
+--ro lsp-rerouting? enumeration
+--ro lsp-integrity-required? boolean
+--ro lsp-contiguous? boolean
+--ro lsp-stitching-desired? boolean
+--ro lsp-preplanned? boolean
+--ro lsp-oob-mapping? boolean
+--ro explicit-route-objects
| +--ro incoming-explicit-route-hop* [index]
| | +--ro index -> ../config/index
| | +--ro config
| | | +--ro index? uint32
| | | +--ro (type)?
| | | +--:(numbered)
| | | | +--ro numbered-hop
| | | | +--ro address? te-types:te-tp-id
| | | | +--ro hop-type? te-hop-type
| | | +--:(as-number)
| | | | +--ro as-number-hop
| | | | +--ro as-number? binary
| | | | +--ro hop-type? te-hop-type
| | | +--:(unnumbered)
| | | | +--ro unnumbered-hop
| | | | +--ro node-id? te-types:te-node-id
| | | | +--ro link-tp-id? te-types:te-tp-id
| | | | +--ro hop-type? te-hop-type
| | | +--:(label)
| | | | +--ro label-hop
| | | | +--ro value? rt-types:generalized-label
| | | +--:(sid)
| | | +--ro sid-hop
| | | +--ro sid? rt-types:generalized-label
| | +--ro state
| | +--ro index? uint32
| | +--ro (type)?
| | +--:(numbered)
| | | +--ro numbered-hop
| | | +--ro address? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type
| | +--:(as-number)
| | | +--ro as-number-hop
| | | +--ro as-number? binary
| | | +--ro hop-type? te-hop-type
| | +--:(unnumbered)
| | | +--ro unnumbered-hop
| | | +--ro node-id? te-types:te-node-id
| | | +--ro link-tp-id? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type
| | +--:(label)
| | | +--ro label-hop
| | | +--ro value? rt-types:generalized-label
| | +--:(sid)
| | +--ro sid-hop
| | +--ro sid? rt-types:generalized-label
| +--ro outgoing-explicit-route-hop* [index]
| +--ro index uint32
| +--ro config
| | +--ro index? uint32
| | +--ro (type)?
| | +--:(numbered)
| | | +--ro numbered-hop
| | | +--ro address? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type
| | +--:(as-number)
| | | +--ro as-number-hop
| | | +--ro as-number? binary
| | | +--ro hop-type? te-hop-type
| | +--:(unnumbered)
| | | +--ro unnumbered-hop
| | | +--ro node-id? te-types:te-node-id
| | | +--ro link-tp-id? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type
| | +--:(label)
| | | +--ro label-hop
| | | +--ro value? rt-types:generalized-label
| | +--:(sid)
| | +--ro sid-hop
| | +--ro sid? rt-types:generalized-label
| +--ro state
| +--ro index? uint32
| +--ro (type)?
| +--:(numbered)
| | +--ro numbered-hop
| | +--ro address? te-types:te-tp-id
| | +--ro hop-type? te-hop-type
| +--:(as-number)
| | +--ro as-number-hop
| | +--ro as-number? binary
| | +--ro hop-type? te-hop-type
| +--:(unnumbered)
| | +--ro unnumbered-hop
| | +--ro node-id? te-types:te-node-id
| | +--ro link-tp-id? te-types:te-tp-id
| | +--ro hop-type? te-hop-type
| +--:(label)
| | +--ro label-hop
| | +--ro value? rt-types:generalized-label
| +--:(sid)
| +--ro sid-hop
| +--ro sid? rt-types:generalized-label
+--ro incoming-record-route-subobjects
| +--ro incoming-record-route-subobject* [index]
| +--ro index uint32
| +--ro (type)?
| +--:(numbered)
| | +--ro address? te-types:te-tp-id
| | +--ro ip-flags? binary
| +--:(unnumbered)
| | +--ro node-id? te-types:te-node-id
| | +--ro link-tp-id? te-types:te-tp-id
| +--:(label)
| +--ro value? rt-types:generalized-label
| +--ro label-flags? binary
+--ro outgoing-record-route-subobjects
+--ro outgoing-record-route-subobject* [index]
+--ro index uint32
+--ro (type)?
+--:(numbered)
| +--ro address? te-types:te-tp-id
| +--ro ip-flags? binary
+--:(unnumbered)
| +--ro node-id? te-types:te-node-id
| +--ro link-tp-id? te-types:te-tp-id
+--:(label)
+--ro value? rt-types:generalized-label
+--ro label-flags? binary
augment
/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-path/
te:state/te:lsps/te:lsp:
+--ro associated-rsvp-session? ->
/rt:routing/control-plane-protocols/control-plane-protocol/
rsvp:rsvp/globals/sessions/session/local-index
+--ro lsp-signaled-name? string
+--ro local-recording-desired? boolean
+--ro se-style-desired? boolean
+--ro path-reevaluation-request? boolean
+--ro soft-preemption-desired? boolean
+--ro lsp-rerouting? enumeration
+--ro lsp-integrity-required? boolean
+--ro lsp-contiguous? boolean
+--ro lsp-stitching-desired? boolean
+--ro lsp-preplanned? boolean
+--ro lsp-oob-mapping? boolean
+--ro explicit-route-objects
| +--ro incoming-explicit-route-hop* [index]
| | +--ro index -> ../config/index
| | +--ro config
| | | +--ro index? uint32
| | | +--ro (type)?
| | | +--:(numbered)
| | | | +--ro numbered-hop
| | | | +--ro address? te-types:te-tp-id
| | | | +--ro hop-type? te-hop-type
| | | +--:(as-number)
| | | | +--ro as-number-hop
| | | | +--ro as-number? binary
| | | | +--ro hop-type? te-hop-type
| | | +--:(unnumbered)
| | | | +--ro unnumbered-hop
| | | | +--ro node-id? te-types:te-node-id
| | | | +--ro link-tp-id? te-types:te-tp-id
| | | | +--ro hop-type? te-hop-type
| | | +--:(label)
| | | | +--ro label-hop
| | | | +--ro value? rt-types:generalized-label
| | | +--:(sid)
| | | +--ro sid-hop
| | | +--ro sid? rt-types:generalized-label
| | +--ro state
| | +--ro index? uint32
| | +--ro (type)?
| | +--:(numbered)
| | | +--ro numbered-hop
| | | +--ro address? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type
| | +--:(as-number)
| | | +--ro as-number-hop
| | | +--ro as-number? binary
| | | +--ro hop-type? te-hop-type
| | +--:(unnumbered)
| | | +--ro unnumbered-hop
| | | +--ro node-id? te-types:te-node-id
| | | +--ro link-tp-id? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type
| | +--:(label)
| | | +--ro label-hop
| | | +--ro value? rt-types:generalized-label
| | +--:(sid)
| | +--ro sid-hop
| | +--ro sid? rt-types:generalized-label
| +--ro outgoing-explicit-route-hop* [index]
| +--ro index uint32
| +--ro config
| | +--ro index? uint32
| | +--ro (type)?
| | +--:(numbered)
| | | +--ro numbered-hop
| | | +--ro address? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type
| | +--:(as-number)
| | | +--ro as-number-hop
| | | +--ro as-number? binary
| | | +--ro hop-type? te-hop-type
| | +--:(unnumbered)
| | | +--ro unnumbered-hop
| | | +--ro node-id? te-types:te-node-id
| | | +--ro link-tp-id? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type
| | +--:(label)
| | | +--ro label-hop
| | | +--ro value? rt-types:generalized-label
| | +--:(sid)
| | +--ro sid-hop
| | +--ro sid? rt-types:generalized-label
| +--ro state
| +--ro index? uint32
| +--ro (type)?
| +--:(numbered)
| | +--ro numbered-hop
| | +--ro address? te-types:te-tp-id
| | +--ro hop-type? te-hop-type
| +--:(as-number)
| | +--ro as-number-hop
| | +--ro as-number? binary
| | +--ro hop-type? te-hop-type
| +--:(unnumbered)
| | +--ro unnumbered-hop
| | +--ro node-id? te-types:te-node-id
| | +--ro link-tp-id? te-types:te-tp-id
| | +--ro hop-type? te-hop-type
| +--:(label)
| | +--ro label-hop
| | +--ro value? rt-types:generalized-label
| +--:(sid)
| +--ro sid-hop
| +--ro sid? rt-types:generalized-label
+--ro incoming-record-route-subobjects
| +--ro incoming-record-route-subobject* [index]
| +--ro index uint32
| +--ro (type)?
| +--:(numbered)
| | +--ro address? te-types:te-tp-id
| | +--ro ip-flags? binary
| +--:(unnumbered)
| | +--ro node-id? te-types:te-node-id
| | +--ro link-tp-id? te-types:te-tp-id
| +--:(label)
| +--ro value? rt-types:generalized-label
| +--ro label-flags? binary
+--ro outgoing-record-route-subobjects
+--ro outgoing-record-route-subobject* [index]
+--ro index uint32
+--ro (type)?
+--:(numbered)
| +--ro address? te-types:te-tp-id
| +--ro ip-flags? binary
+--:(unnumbered)
| +--ro node-id? te-types:te-node-id
| +--ro link-tp-id? te-types:te-tp-id
+--:(label)
+--ro value? rt-types:generalized-label
+--ro label-flags? binary
augment /te:te/te:tunnels/te:tunnel/te:state: augment
+--ro lsp-signaled-name? string /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/
+--ro local-recording-desired? boolean te:p2p-secondary-path/te:state/te:lsps/te:lsp:
+--ro se-style-desired? boolean +--ro associated-rsvp-session? ->
+--ro path-reevaluation-request? boolean /rt:routing/control-plane-protocols/control-plane-protocol/
+--ro soft-preemption-desired? boolean rsvp:rsvp/globals/sessions/session/local-index
+--ro lsp-rerouting? enumeration +--ro lsp-signaled-name? string
+--ro lsp-integrity-required? boolean +--ro local-recording-desired? boolean
+--ro lsp-contiguous? boolean +--ro se-style-desired? boolean
+--ro lsp-stitching-desired? boolean +--ro path-reevaluation-request? boolean
+--ro lsp-preplanned? boolean +--ro soft-preemption-desired? boolean
+--ro lsp-oob-mapping? boolean +--ro lsp-rerouting? enumeration
+--ro retry-timer? uint16 +--ro lsp-integrity-required? boolean
augment /te:te/te:lsps-state/te:lsp: +--ro lsp-contiguous? boolean
+--ro associated-rsvp-session? +--ro lsp-stitching-desired? boolean
-> /rt:routing/control-plane-protocols/control-plane-protocol/ +--ro lsp-preplanned? boolean
rsvp:rsvp/globals/sessions/session/local-index +--ro lsp-oob-mapping? boolean
+--ro lsp-signaled-name? string +--ro explicit-route-objects
+--ro local-recording-desired? boolean | +--ro incoming-explicit-route-hop* [index]
+--ro se-style-desired? boolean | | +--ro index -> ../config/index
+--ro path-reevaluation-request? boolean | | +--ro config
+--ro soft-preemption-desired? boolean | | | +--ro index? uint32
+--ro lsp-rerouting? enumeration | | | +--ro (type)?
+--ro lsp-integrity-required? boolean | | | +--:(numbered)
+--ro lsp-contiguous? boolean | | | | +--ro numbered-hop
+--ro lsp-stitching-desired? boolean | | | | +--ro address? te-types:te-tp-id
+--ro lsp-preplanned? boolean | | | | +--ro hop-type? te-hop-type
+--ro lsp-oob-mapping? boolean | | | +--:(as-number)
+--ro explicit-route-objects | | | | +--ro as-number-hop
| +--ro incoming-explicit-route-hop* [index] | | | | +--ro as-number? binary
| | +--ro index -> ../config/index | | | | +--ro hop-type? te-hop-type
| | +--ro config | | | +--:(unnumbered)
| | | +--ro index? uint32 | | | | +--ro unnumbered-hop
| | | +--ro (type)? | | | | +--ro node-id? te-types:te-node-id
| | | +--:(ip-address) | | | | +--ro link-tp-id? te-types:te-tp-id
| | | | +--ro ip-address-hop | | | | +--ro hop-type? te-hop-type
| | | | +--ro address? inet:ip-address | | | +--:(label)
| | | | +--ro hop-type? te-hop-type | | | | +--ro label-hop
| | | +--:(as-number) | | | | +--ro value? rt-types:generalized-label
| | | | +--ro as-number-hop | | | +--:(sid)
| | | | +--ro as-number? binary | | | +--ro sid-hop
| | | | +--ro hop-type? te-hop-type | | | +--ro sid? rt-types:generalized-label
| | | +--:(unnumbered-link) | | +--ro state
| | | | +--ro unnumbered-hop | | +--ro index? uint32
| | | | +--ro router-id? inet:ip-address | | +--ro (type)?
| | | | +--ro interface-id? uint32 | | +--:(numbered)
| | | | +--ro hop-type? te-hop-type | | | +--ro numbered-hop
| | | +--:(label) | | | +--ro address? te-types:te-tp-id
| | | | +--ro label-hop | | | +--ro hop-type? te-hop-type
| | | | +--ro value? rt-types:generalized-label | | +--:(as-number)
| | | +--:(sid) | | | +--ro as-number-hop
| | | +--ro sid-hop | | | +--ro as-number? binary
| | | +--ro sid? rt-types:generalized-label | | | +--ro hop-type? te-hop-type
| | +--ro state | | +--:(unnumbered)
| | +--ro index? uint32 | | | +--ro unnumbered-hop
| | +--ro (type)? | | | +--ro node-id? te-types:te-node-id
| | +--:(ip-address) | | | +--ro link-tp-id? te-types:te-tp-id
| | | +--ro ip-address-hop | | | +--ro hop-type? te-hop-type
| | | +--ro address? inet:ip-address | | +--:(label)
| | | +--ro hop-type? te-hop-type | | | +--ro label-hop
| | +--:(as-number) | | | +--ro value? rt-types:generalized-label
| | | +--ro as-number-hop | | +--:(sid)
| | | +--ro as-number? binary | | +--ro sid-hop
| | | +--ro hop-type? te-hop-type | | +--ro sid? rt-types:generalized-label
| | +--:(unnumbered-link) | +--ro outgoing-explicit-route-hop* [index]
| | | +--ro unnumbered-hop | +--ro index uint32
| | | +--ro router-id? inet:ip-address | +--ro config
| | | +--ro interface-id? uint32 | | +--ro index? uint32
| | | +--ro hop-type? te-hop-type | | +--ro (type)?
| | +--:(label) | | +--:(numbered)
| | | +--ro label-hop | | | +--ro numbered-hop
| | | +--ro value? rt-types:generalized-label | | | +--ro address? te-types:te-tp-id
| | +--:(sid) | | | +--ro hop-type? te-hop-type
| | +--ro sid-hop | | +--:(as-number)
| | +--ro sid? rt-types:generalized-label | | | +--ro as-number-hop
| +--ro outgoing-explicit-route-hop* [index] | | | +--ro as-number? binary
| +--ro index uint32 | | | +--ro hop-type? te-hop-type
| +--ro config | | +--:(unnumbered)
| | +--ro index? uint32 | | | +--ro unnumbered-hop
| | +--ro (type)? | | | +--ro node-id? te-types:te-node-id
| | +--:(ip-address) | | | +--ro link-tp-id? te-types:te-tp-id
| | | +--ro ip-address-hop | | | +--ro hop-type? te-hop-type
| | | +--ro address? inet:ip-address | | +--:(label)
| | | +--ro hop-type? te-hop-type | | | +--ro label-hop
| | +--:(as-number) | | | +--ro value? rt-types:generalized-label
| | | +--ro as-number-hop | | +--:(sid)
| | | +--ro as-number? binary | | +--ro sid-hop
| | | +--ro hop-type? te-hop-type | | +--ro sid? rt-types:generalized-label
| | +--:(unnumbered-link) | +--ro state
| | | +--ro unnumbered-hop | +--ro index? uint32
| | | +--ro router-id? inet:ip-address | +--ro (type)?
| | | +--ro interface-id? uint32 | +--:(numbered)
| | | +--ro hop-type? te-hop-type | | +--ro numbered-hop
| | +--:(label) | | +--ro address? te-types:te-tp-id
| | | +--ro label-hop | | +--ro hop-type? te-hop-type
| | | +--ro value? rt-types:generalized-label | +--:(as-number)
| | +--:(sid) | | +--ro as-number-hop
| | +--ro sid-hop | | +--ro as-number? binary
| | +--ro sid? rt-types:generalized-label | | +--ro hop-type? te-hop-type
| +--ro state | +--:(unnumbered)
| +--ro index? uint32 | | +--ro unnumbered-hop
| +--ro (type)? | | +--ro node-id? te-types:te-node-id
| +--:(ip-address) | | +--ro link-tp-id? te-types:te-tp-id
| | +--ro ip-address-hop | | +--ro hop-type? te-hop-type
| | +--ro address? inet:ip-address | +--:(label)
| | +--ro hop-type? te-hop-type | | +--ro label-hop
| +--:(as-number) | | +--ro value? rt-types:generalized-label
| | +--ro as-number-hop | +--:(sid)
| | +--ro as-number? binary | +--ro sid-hop
| | +--ro hop-type? te-hop-type | +--ro sid? rt-types:generalized-label
| +--:(unnumbered-link) +--ro incoming-record-route-subobjects
| | +--ro unnumbered-hop | +--ro incoming-record-route-subobject* [index]
| | +--ro router-id? inet:ip-address | +--ro index uint32
| | +--ro interface-id? uint32 | +--ro (type)?
| | +--ro hop-type? te-hop-type | +--:(numbered)
| +--:(label) | | +--ro address? te-types:te-tp-id
| | +--ro label-hop | | +--ro ip-flags? binary
| | +--ro value? rt-types:generalized-label | +--:(unnumbered)
| +--:(sid) | | +--ro node-id? te-types:te-node-id
| +--ro sid-hop | | +--ro link-tp-id? te-types:te-tp-id
| +--ro sid? rt-types:generalized-label | +--:(label)
+--ro incoming-record-route-subobjects | +--ro value? rt-types:generalized-label
| +--ro incoming-record-route-subobject* [index] | +--ro label-flags? binary
| +--ro index uint32 +--ro outgoing-record-route-subobjects
| +--ro (type)? +--ro outgoing-record-route-subobject* [index]
| +--:(ip-address) +--ro index uint32
| | +--ro ip-address? inet:ip-address +--ro (type)?
| | +--ro ip-flags? binary +--:(numbered)
| +--:(unnumbered-link) | +--ro address? te-types:te-tp-id
| | +--ro router-id? inet:ip-address | +--ro ip-flags? binary
| | +--ro interface-id? uint32 +--:(unnumbered)
| +--:(label) | +--ro node-id? te-types:te-node-id
| +--ro value? rt-types:generalized-label | +--ro link-tp-id? te-types:te-tp-id
| +--ro label-flags? binary +--:(label)
+--ro outgoing-record-route-subobjects +--ro value? rt-types:generalized-label
+--ro outgoing-record-route-subobject* [index] +--ro label-flags? binary
+--ro index uint32 augment /te:te/te-dev:interfaces/te-dev:interface:
+--ro (type)?
+--:(ip-address)
| +--ro ip-address? inet:ip-address
| +--ro ip-flags? binary
+--:(unnumbered-link)
| +--ro router-id? inet:ip-address
| +--ro interface-id? uint32
+--:(label)
+--ro value? rt-types:generalized-label
+--ro label-flags? binary
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.3.2. YANG Module
<CODE BEGINS> file "ietf-rsvp-te@2017-03-10.yang" <CODE BEGINS> file "ietf-rsvp-te@2017-03-10.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";
skipping to change at page 12, line 37 skipping to change at page 18, line 32
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-03-10" { revision "2017-06-29" {
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 20, line 43 skipping to change at page 26, line 40
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 */
augment "/te:te/te:lsps-state/te:lsp" { grouping rsvp-te-lsp-properties {
when "/te:te/te:lsps-state/te:lsp" + description "RSVP-TE LSP properties grouping";
"/te:path-setup-protocol = 'te-types:te-path-setup-rsvp'" {
description
"When the signaling protocol is RSVP-TE ";
}
description
"RSVP-TE generic data augmentation pertaining to specific TE
LSP";
leaf associated-rsvp-session { leaf associated-rsvp-session {
type leafref { type leafref {
path "/rt:routing/rt:control-plane-protocols/" path "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/" + "rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/"
+ "rsvp:sessions/rsvp:session/rsvp:local-index"; + "rsvp:sessions/rsvp:session/rsvp:local-index";
} }
description description
"If the signalling protocol specified for this path is "If the signalling protocol specified for this path is
RSVP-TE, this leaf provides a reference to the associated RSVP-TE, this leaf provides a reference to the associated
session within the RSVP-TE protocol sessions list, such session within the RSVP-TE protocol sessions list, such
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" {
when "/te:te/te:lsps-state/te:lsp" +
"/te:path-setup-protocol = 'te-types:te-path-setup-rsvp'" {
description
"When the signaling protocol is RSVP-TE ";
}
description
"RSVP-TE generic data augmentation pertaining to specific TE
LSP";
uses rsvp-te-lsp-properties;
}
augment "/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths" +
"/te:p2p-primary-path/te:state/te:lsps/te:lsp" {
when "/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths" +
"/te:p2p-primary-path/te:state/te:lsps/te:lsp" +
"/te:path-setup-protocol = 'te-types:te-path-setup-rsvp'" {
description
"When the signaling protocol is RSVP-TE ";
}
description
"RSVP-TE generic data augmentation pertaining to specific TE
LSP";
uses rsvp-te-lsp-properties;
}
augment "/te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths" +
"/te:p2p-secondary-path/te:state/te:lsps/te:lsp" {
when "/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths" +
"/te:p2p-primary-path/te:state/te:lsps/te:lsp" +
"/te:path-setup-protocol = 'te-types:te-path-setup-rsvp'" {
description
"When the signaling protocol is RSVP-TE ";
}
description
"RSVP-TE generic data augmentation pertaining to specific TE
LSP";
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>
Figure 3: RSVP TE generic YANG module Figure 3: RSVP TE generic YANG module
skipping to change at page 22, line 4 skipping to change at page 28, line 33
2.4.1. Tree Diagram 2.4.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:control-plane-protocol/ /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/
rsvp:rsvp: rsvp:rsvp:
+--rw fast-reroute-local-revertive +--rw fast-reroute-local-revertive
+--rw config +--rw config
| +--rw rsvp-frr-local-revert-delay? uint32 | +--rw rsvp-frr-local-revert-delay? uint32
+--ro state +--ro state
+--ro rsvp-frr-local-revert-delay? uint32 +--ro rsvp-frr-local-revert-delay? uint32
augment augment
/rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/ /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/
rsvp:rsvp/rsvp:interfaces: rsvp:rsvp/rsvp:interfaces:
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:interfaces/rsvp:interface: rsvp:rsvp/rsvp:interfaces/rsvp:interface:
augment
/rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/ augment
rsvp:rsvp/rsvp:globals/rsvp:sessions/rsvp:session/rsvp:state: /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/
augment rsvp:rsvp/rsvp:globals/rsvp:sessions/rsvp:session/rsvp:state:
/rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/ augment
rsvp:rsvp/rsvp:neighbors: /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/
augment /te:te/te:tunnels/te:tunnel/te:config: rsvp:rsvp/rsvp:neighbors:
+--rw local-protection-desired? empty augment /te:te/te:tunnels/te:tunnel/te:config:
+--rw bandwidth-protection-desired? empty +--rw local-protection-desired? empty
+--rw node-protection-desired? empty +--rw bandwidth-protection-desired? empty
+--rw non-php-desired? empty +--rw node-protection-desired? empty
+--rw entropy-label-cap? empty +--rw non-php-desired? empty
+--rw oam-mep-entities-desired? empty +--rw entropy-label-cap? empty
+--rw oam-mip-entities-desired? empty +--rw oam-mep-entities-desired? empty
augment /te:te/te:tunnels/te:tunnel/te:state: +--rw oam-mip-entities-desired? empty
+--ro local-protection-desired? empty augment /te:te/te:tunnels/te:tunnel/te:state:
+--ro bandwidth-protection-desired? empty +--ro local-protection-desired? empty
+--ro node-protection-desired? empty +--ro bandwidth-protection-desired? empty
+--ro non-php-desired? empty +--ro node-protection-desired? empty
+--ro entropy-label-cap? empty +--ro non-php-desired? empty
+--ro oam-mep-entities-desired? empty +--ro entropy-label-cap? empty
+--ro oam-mip-entities-desired? empty +--ro oam-mep-entities-desired? empty
augment /te:te/te:lsps-state/te:lsp: +--ro oam-mip-entities-desired? empty
+--ro local-protection-desired? empty augment /te:te/te:lsps-state/te:lsp:
+--ro bandwidth-protection-desired? empty +--ro local-protection-desired? empty
+--ro node-protection-desired? empty +--ro bandwidth-protection-desired? empty
+--ro non-php-desired? empty +--ro node-protection-desired? empty
+--ro entropy-label-cap? empty +--ro non-php-desired? empty
+--ro oam-mep-entities-desired? empty +--ro entropy-label-cap? empty
+--ro oam-mip-entities-desired? empty +--ro oam-mep-entities-desired? empty
+--ro backup-info +--ro oam-mip-entities-desired? empty
+--ro backup-tunnel-name? string +--ro backup-info
+--ro backup-frr-on? uint8 +--ro backup-tunnel-name? string
+--ro backup-protected-lsp-num? uint32 +--ro backup-frr-on? uint8
augment /te:te/te-dev:interfaces/te-dev:interface: +--ro backup-protected-lsp-num? uint32
+--rw bandwidth-mpls-reservable augment
+--rw config /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-path/
| +--rw (bandwidth-value)? te:state/te:lsps/te:lsp:
| | +--:(absolute) +--ro local-protection-desired? empty
| | | +--rw absolute-value? uint32 +--ro bandwidth-protection-desired? empty
| | +--:(percentage) +--ro node-protection-desired? empty
| | +--rw percent-value? uint32 +--ro non-php-desired? empty
| +--rw (bc-model-type)? +--ro entropy-label-cap? empty
| +--:(bc-model-rdm) +--ro oam-mep-entities-desired? empty
| | +--rw bc-model-rdm +--ro oam-mip-entities-desired? empty
| | +--rw bandwidth-mpls-constraints +--ro backup-info
| | +--rw maximum-reservable? uint32 +--ro backup-tunnel-name? string
| | +--rw bc-value* uint32 +--ro backup-frr-on? uint8
| +--:(bc-model-mam) +--ro backup-protected-lsp-num? uint32
| | +--rw bc-model-mam
| | +--rw bandwidth-mpls-constraints augment
| | +--rw maximum-reservable? uint32 /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/
| | +--rw bc-value* uint32 te:p2p-secondary-path/te:state/te:lsps/te:lsp:
| +--:(bc-model-mar) +--ro local-protection-desired? empty
| +--rw bc-model-mar +--ro bandwidth-protection-desired? empty
| +--rw bandwidth-mpls-constraints +--ro node-protection-desired? empty
| +--rw maximum-reservable? uint32 +--ro non-php-desired? empty
| +--rw bc-value* uint32 +--ro entropy-label-cap? empty
+--ro state +--ro oam-mep-entities-desired? empty
+--ro (bandwidth-value)? +--ro oam-mip-entities-desired? empty
| +--:(absolute) +--ro backup-info
| | +--ro absolute-value? uint32 +--ro backup-tunnel-name? string
| +--:(percentage) +--ro backup-frr-on? uint8
| +--ro percent-value? uint32 +--ro backup-protected-lsp-num? uint32
+--ro (bc-model-type)? augment /te:te/te-dev:interfaces/te-dev:interface:
+--:(bc-model-rdm) +--rw bandwidth-mpls-reservable
| +--ro bc-model-rdm +--rw config
| +--ro bandwidth-mpls-constraints | +--rw (bandwidth-value)?
| +--ro maximum-reservable? uint32 | | +--:(absolute)
| +--ro bc-value* uint32 | | | +--rw absolute-value? uint32
+--:(bc-model-mam) | | +--:(percentage)
| +--ro bc-model-mam | | +--rw percent-value? uint32
| +--ro bandwidth-mpls-constraints | +--rw (bc-model-type)?
| +--ro maximum-reservable? uint32 | +--:(bc-model-rdm)
| +--ro bc-value* uint32 | | +--rw bc-model-rdm
+--:(bc-model-mar) | | +--rw bandwidth-mpls-constraints
+--ro bc-model-mar | | +--rw maximum-reservable? uint32
+--ro bandwidth-mpls-constraints | | +--rw bc-value* uint32
+--ro maximum-reservable? uint32 | +--:(bc-model-mam)
+--ro bc-value* uint32 | | +--rw bc-model-mam
augment /te:te/te-dev:interfaces/te-dev:interface: | | +--rw bandwidth-mpls-constraints
+--rw rsvp-te-frr-backups | | +--rw maximum-reservable? uint32
+--rw config | | +--rw bc-value* uint32
| +--rw (type)? | +--:(bc-model-mar)
| +--:(static-tunnel) | +--rw bc-model-mar
| | +--rw static-backups | +--rw bandwidth-mpls-constraints
| | +--rw static-backup* [backup-tunnel-name] | +--rw maximum-reservable? uint32
| | +--rw backup-tunnel-name | +--rw bc-value* uint32
-> ../config/backup-tunnel-name +--ro state
| | +--rw config +--ro (bandwidth-value)?
| | | +--rw backup-tunnel-name? | +--:(absolute)
-> /te:te/tunnels/tunnel/name | | +--ro absolute-value? uint32
| | +--ro state | +--:(percentage)
| | +--ro backup-tunnel-name? | +--ro percent-value? uint32
-> /te:te/tunnels/tunnel/name +--ro (bc-model-type)?
| +--:(auto-tunnel) +--:(bc-model-rdm)
| +--rw auto-backup-protection? identityref | +--ro bc-model-rdm
| +--rw auto-backup-path-computation? identityref | +--ro bandwidth-mpls-constraints
+--ro state | +--ro maximum-reservable? uint32
+--ro (type)? | +--ro bc-value* uint32
+--:(static-tunnel) +--:(bc-model-mam)
| +--ro static-backups | +--ro bc-model-mam
| +--ro static-backup* [backup-tunnel-name] | +--ro bandwidth-mpls-constraints
| +--ro backup-tunnel-name | +--ro maximum-reservable? uint32
-> ../config/backup-tunnel-name | +--ro bc-value* uint32
| +--ro config +--:(bc-model-mar)
| | +--ro backup-tunnel-name? +--ro bc-model-mar
-> /te:te/tunnels/tunnel/name +--ro bandwidth-mpls-constraints
| +--ro state +--ro maximum-reservable? uint32
| +--ro backup-tunnel-name? +--ro bc-value* uint32
-> /te:te/tunnels/tunnel/name augment /te:te/te-dev:interfaces/te-dev:interface:
+--:(auto-tunnel) +--rw rsvp-te-frr-backups
+--ro auto-backup-protection? identityref +--rw config
+--ro auto-backup-path-computation? identityref | +--rw (type)?
| +--:(static-tunnel)
| | +--rw static-backups
| | +--rw static-backup* [backup-tunnel-name]
| | +--rw backup-tunnel-name ->
../config/backup-tunnel-name
| | +--rw config
| | | +--rw backup-tunnel-name? ->
/te:te/tunnels/tunnel/name
| | +--ro state
| | +--ro backup-tunnel-name? ->
/te:te/tunnels/tunnel/name
| +--:(auto-tunnel)
| +--rw auto-backup-protection? identityref
| +--rw auto-backup-path-computation? identityref
+--ro state
+--ro (type)?
+--:(static-tunnel)
| +--ro static-backups
| +--ro static-backup* [backup-tunnel-name]
| +--ro backup-tunnel-name ->
../config/backup-tunnel-name
| +--ro config
| | +--ro backup-tunnel-name? ->
/te:te/tunnels/tunnel/name
| +--ro state
| +--ro backup-tunnel-name? ->
/te:te/tunnels/tunnel/name
+--:(auto-tunnel)
+--ro auto-backup-protection? identityref
+--ro 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.4.2. YANG Module
<CODE BEGINS> file "ietf-rsvp-te@2017-03-10.yang" <CODE BEGINS> file "ietf-rsvp-te@2017-03-10.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";
skipping to change at page 26, line 21 skipping to change at page 33, line 30
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-03-10" { revision "2017-06-29" {
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 36, line 41 skipping to change at page 43, line 50
} }
augment "/te:te/te:tunnels/te:tunnel/te:state" { augment "/te:te/te:tunnels/te:tunnel/te:state" {
description description
"Augmentations for RSVP-TE MPLS TE tunnel properties"; "Augmentations for RSVP-TE MPLS TE tunnel properties";
uses tunnel-properties-mpls; uses tunnel-properties-mpls;
} }
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'" {
description
"When the signaling protocol is RSVP-TE ";
}
description
"RSVP-TE MPLS LSP state properties";
uses lsp-properties-mpls;
uses lps-backup-info_state;
}
augment "/te:te/te:tunnels/te:tunnel/te:p2p-primary-paths" +
"/te:p2p-primary-path/te:state/te:lsps/te:lsp" {
when "/te:te/te:tunnels/te:tunnel" +
"/te:p2p-secondary-paths/te:p2p-secondary-path/te:config" +
"/te:path-setup-protocol = 'te-types:te-path-setup-rsvp'" {
description
"When the signaling protocol is RSVP-TE ";
}
description
"RSVP-TE MPLS LSP state properties";
uses lsp-properties-mpls;
uses lps-backup-info_state;
}
augment "/te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths" +
"/te:p2p-secondary-path/te:state/te:lsps/te:lsp" {
when "/te:te/te:tunnels/te:tunnel" +
"/te:p2p-secondary-paths/te:p2p-secondary-path/te:config" +
"/te:path-setup-protocol = 'te-types:te-path-setup-rsvp'" { "/te:path-setup-protocol = 'te-types:te-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 lps-backup-info_state; uses lps-backup-info_state;
} }
skipping to change at page 38, line 41 skipping to change at page 46, line 32
Bin Wen Bin Wen
Comcast Comcast
Email: Bin_Wen@cable.comcast.com Email: Bin_Wen@cable.comcast.com
7. References 7. References
7.1. 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., Shah, H., Chen, Beeram, V., Saad, T., Gandhi, R., Liu, X., Bryskin, I.,
X., Jones, R., and B. Wen, "A YANG Data Model for Resource and H. Shah, "A YANG Data Model for Resource Reservation
Reservation Protocol (RSVP)", draft-ietf-teas-yang-rsvp-06 Protocol (RSVP)", draft-ietf-teas-yang-rsvp-07 (work in
(work in progress), October 2016. progress), March 2017.
[I-D.ietf-teas-yang-te] [I-D.ietf-teas-yang-te]
Saad, T., Gandhi, R., Liu, X., Beeram, V., Shah, H., Saad, T., Gandhi, R., Liu, X., Beeram, V., Shah, H., and
Bryskin, I., Chen, X., Jones, R., and B. Wen, "A YANG Data I. Bryskin, "A YANG Data Model for Traffic Engineering
Model for Traffic Engineering Tunnels and Interfaces", Tunnels and Interfaces", draft-ietf-teas-yang-te-07 (work
draft-ietf-teas-yang-te-05 (work in progress), October in progress), June 2017.
2016.
[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, DOI 10.17487/
RFC2119, March 1997, RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>. <http://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, <http://www.rfc-editor.org/info/rfc2205>. September 1997, <http://www.rfc-editor.org/info/rfc2205>.
 End of changes. 16 change blocks. 
364 lines changed or deleted 730 lines changed or added

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