draft-ietf-teas-yang-rsvp-03.txt   draft-ietf-teas-yang-rsvp-04.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 21, 2016 R. Gandhi Expires: April 6, 2017 R. Gandhi
Cisco Systems Inc Cisco Systems Inc
X. Liu X. Liu
Ericsson Ericsson
H. Shah H. Shah
Ciena Ciena
X. Chen X. Chen
Huawei Technologies Huawei Technologies
R. Jones R. Jones
Brocade Brocade
B. Wen B. Wen
Comcast Comcast
March 20, 2016 October 03, 2016
A YANG Data Model for Resource Reservation Protocol (RSVP) A YANG Data Model for Resource Reservation Protocol (RSVP)
draft-ietf-teas-yang-rsvp-03 draft-ietf-teas-yang-rsvp-04
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 Protocol. The model defines generic RSVP protocol management of RSVP Protocol. The model defines generic RSVP protocol
building blocks that can be augmented and used by other RSVP building blocks that can be augmented and used by other RSVP
extension models such as RVSP extensions to Traffic-Engineering extension models such as RVSP extensions to Traffic-Engineering
(RSVP-TE). The model covers the RSVP protocol configuration, (RSVP-TE). The model covers the RSVP protocol configuration,
operational state, remote procedural calls, and event notifications operational state, remote procedural calls, and event notifications
data. data.
skipping to change at page 1, line 48 skipping to change at page 1, line 48
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 21, 2016. This Internet-Draft will expire on April 6, 2017.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 44 skipping to change at page 2, line 44
2.4. Routing Instance Support . . . . . . . . . . . . . . . . 8 2.4. Routing Instance Support . . . . . . . . . . . . . . . . 8
3. Model Organization . . . . . . . . . . . . . . . . . . . . . 8 3. Model Organization . . . . . . . . . . . . . . . . . . . . . 8
3.1. RSVP Base YANG Model . . . . . . . . . . . . . . . . . . 8 3.1. RSVP Base YANG Model . . . . . . . . . . . . . . . . . . 8
3.1.1. Configuration and State Data . . . . . . . . . . . . 10 3.1.1. Configuration and State Data . . . . . . . . . . . . 10
3.1.2. RPC and Notification Data . . . . . . . . . . . . . . 15 3.1.2. RPC and Notification Data . . . . . . . . . . . . . . 15
3.1.3. YANG Module . . . . . . . . . . . . . . . . . . . . . 15 3.1.3. YANG Module . . . . . . . . . . . . . . . . . . . . . 15
3.2. RSVP Extended YANG Model . . . . . . . . . . . . . . . . 32 3.2. RSVP Extended YANG Model . . . . . . . . . . . . . . . . 32
3.2.1. Configuration and State Data . . . . . . . . . . . . 32 3.2.1. Configuration and State Data . . . . . . . . . . . . 32
3.2.2. YANG Module . . . . . . . . . . . . . . . . . . . . . 35 3.2.2. YANG Module . . . . . . . . . . . . . . . . . . . . . 35
3.3. RSVP-TE Generic YANG Model . . . . . . . . . . . . . . . 46 3.3. RSVP-TE Generic YANG Model . . . . . . . . . . . . . . . 46
3.3.1. Configuration and State Data . . . . . . . . . . . . 46 3.3.1. Configuration and State Data . . . . . . . . . . . . 47
3.3.2. RPC and Notification Data . . . . . . . . . . . . . . 49 3.3.2. RPC and Notification Data . . . . . . . . . . . . . . 49
3.3.3. YANG Module . . . . . . . . . . . . . . . . . . . . . 49 3.3.3. YANG Module . . . . . . . . . . . . . . . . . . . . . 50
3.4. RSVP-TE MPLS Model . . . . . . . . . . . . . . . . . . . 58 3.4. RSVP-TE MPLS Model . . . . . . . . . . . . . . . . . . . 58
3.4.1. Configuration and State Data . . . . . . . . . . . . 58 3.4.1. Configuration and State Data . . . . . . . . . . . . 58
3.4.2. RPC and Notification Data . . . . . . . . . . . . . . 62 3.4.2. RPC and Notification Data . . . . . . . . . . . . . . 62
3.4.3. YANG Module . . . . . . . . . . . . . . . . . . . . . 62 3.4.3. YANG Module . . . . . . . . . . . . . . . . . . . . . 62
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 75 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 75
5. Security Considerations . . . . . . . . . . . . . . . . . . . 75 5. Security Considerations . . . . . . . . . . . . . . . . . . . 75
6. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 75 6. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 76
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 76 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 76
7.1. Normative References . . . . . . . . . . . . . . . . . . 76 7.1. Normative References . . . . . . . . . . . . . . . . . . 76
7.2. Informative References . . . . . . . . . . . . . . . . . 77 7.2. Informative References . . . . . . . . . . . . . . . . . 77
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 77 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 78
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 interface, such as CLI and programmatic implementation for other interface, such as CLI and programmatic
skipping to change at page 15, line 42 skipping to change at page 15, line 42
+--ro refresh-reduction-capable? boolean +--ro refresh-reduction-capable? boolean
+--ro restart-count? uint32 +--ro restart-count? uint32
+--ro restart-time? yang:date-and-time +--ro restart-time? yang:date-and-time
3.1.2. RPC and Notification Data 3.1.2. RPC and Notification Data
TBD. TBD.
3.1.3. YANG Module 3.1.3. YANG Module
<CODE BEGINS> file "ietf-rsvp@2016-03-20.yang" <CODE BEGINS> file "ietf-rsvp@2016-10-02.yang"
module ietf-rsvp { module ietf-rsvp {
namespace "urn:ietf:params:xml:ns:yang:ietf-rsvp"; namespace "urn:ietf:params:xml:ns:yang:ietf-rsvp";
/* Replace with IANA when assigned */ /* Replace with IANA when assigned */
prefix "rsvp"; prefix "rsvp";
import ietf-interfaces { import ietf-interfaces {
prefix "if"; prefix "if";
} }
import ietf-inet-types { import ietf-inet-types {
prefix inet; prefix inet;
} }
import ietf-yang-types { import ietf-yang-types {
prefix "yang"; prefix "yang";
} }
import ietf-routing { import ietf-routing {
prefix "rt"; prefix "rt";
skipping to change at page 17, line 9 skipping to change at page 17, line 11
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 YANG data model."; "This module contains the RSVP YANG data model.";
revision 2016-03-20 { revision "2016-10-02" {
description "Latest revision of RSVP yang module."; description "Latest revision of RSVP yang module.";
reference "RFC2205"; reference "RFC2205";
} }
identity rsvp { identity rsvp {
base "rt:routing-protocol"; base "rt:routing-protocol";
description "RSVP protocol"; description "RSVP protocol";
} }
identity hash-algorithm { identity hash-algorithm {
skipping to change at page 20, line 4 skipping to change at page 20, line 5
description description
"Top level container for RSVP hello parameters"; "Top level container for RSVP hello parameters";
uses rsvp-hellos_config; uses rsvp-hellos_config;
} }
} }
grouping signaling-parameters_config { grouping signaling-parameters_config {
description description
"Configuration parameters relating to RSVP "Configuration parameters relating to RSVP
signaling"; signaling";
} }
grouping signaling-parameters { grouping signaling-parameters {
description description
"Top level grouping for RSVP signaling parameters"; "Top level grouping for RSVP signaling parameters";
uses signaling-parameters_config; uses signaling-parameters_config;
} }
grouping session-attributes { grouping session-attributes {
description description
"Top level grouping for RSVP session properties"; "Top level grouping for RSVP session properties";
container config { container config {
description description
"Configuration for session properties"; "Configuration for session properties";
} }
skipping to change at page 29, line 51 skipping to change at page 30, line 4
"Configuration globals properties"; "Configuration globals properties";
uses graceful-restart; uses graceful-restart;
} }
container state { container state {
config false; config false;
description description
"State information associated with RSVP "State information associated with RSVP
global properties"; global properties";
uses graceful-restart; uses graceful-restart;
uses statistics_state; uses statistics_state;
}
}
} }
grouping intf-attributes { grouping intf-attributes {
description description
"Top level grouping for RSVP interface properties"; "Top level grouping for RSVP interface properties";
container config { container config {
description description
"Configuration parameters relating to "Configuration parameters relating to
RSVP interface parameters"; RSVP interface parameters";
uses signaling-parameters; uses signaling-parameters;
skipping to change at page 30, line 32 skipping to change at page 30, line 33
"State information associated with RSVP "State information associated with RSVP
interface parameters"; interface parameters";
uses signaling-parameters; uses signaling-parameters;
uses refresh-reduction; uses refresh-reduction;
uses rsvp-hellos; uses rsvp-hellos;
uses authentication; uses authentication;
uses statistics_state; uses statistics_state;
} }
} }
augment "/rt:routing/rt:routing-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:routing-protocol" { + "rt:control-plane-protocol" {
when "rt:type = 'rsvp:rsvp'" { when "rt:type = 'rsvp:rsvp'" {
description description
"This augment is only valid when routing protocol "This augment is only valid when routing protocol
instance type is RSVP."; instance type is RSVP.";
} }
description description
"RSVP protocol augmentation"; "RSVP protocol augmentation";
container rsvp { container rsvp {
presence "Enable RSVP feature"; presence "Enable RSVP feature";
description "RSVP feature container"; description "RSVP feature container";
skipping to change at page 35, line 13 skipping to change at page 35, line 17
+--ro challenge? empty +--ro challenge? empty
+--ro retransmits? uint32 +--ro retransmits? uint32
+--ro key-chain? string +--ro key-chain? string
Figure 3: RSVP extended YANG Tree representation Figure 3: RSVP extended YANG Tree representation
3.2.2. YANG Module 3.2.2. YANG Module
Figure 4 shows the RSVP extended YANG module: Figure 4 shows the RSVP extended YANG module:
<CODE BEGINS> file "ietf-rsvp-extended@2016-03-20.yang" <CODE BEGINS> file "ietf-rsvp-extended@2016-10-02.yang"
module ietf-rsvp-extended {
namespace "urn:ietf:params:xml:ns:yang:ietf-rsvp-extended"; module ietf-rsvp-extended {
prefix "rsvp-ext"; namespace "urn:ietf:params:xml:ns:yang:ietf-rsvp-extended";
import ietf-rsvp { prefix "rsvp-ext";
prefix "rsvp";
}
import ietf-routing { import ietf-rsvp {
prefix "rt"; prefix "rsvp";
} }
import ietf-yang-types { import ietf-routing {
prefix "yang"; prefix "rt";
} }
organization import ietf-yang-types {
"IETF Traffic Engineering Architecture and Signaling (TEAS) prefix "yang";
Working Group"; }
contact organization
"WG Web: <http://tools.ietf.org/wg/teas/> "IETF Traffic Engineering Architecture and Signaling (TEAS)
WG List: <mailto:teas@ietf.org> Working Group";
WG Chair: Lou Berger contact
<mailto:lberger@labn.net> "WG Web: <http://tools.ietf.org/wg/teas/>
WG List: <mailto:teas@ietf.org>
WG Chair: Vishnu Pavan Beeram WG Chair: Lou Berger
<mailto:vbeeram@juniper.net> <mailto:lberger@labn.net>
Editor: Vishnu Pavan Beeram WG Chair: Vishnu Pavan Beeram
<mailto:vbeeram@juniper.net> <mailto:vbeeram@juniper.net>
Editor: Tarek Saad Editor: Vishnu Pavan Beeram
<mailto:tsaad@cisco.com> <mailto:vbeeram@juniper.net>
Editor: Rakesh Gandhi Editor: Tarek Saad
<mailto:rgandhi@cisco.com> <mailto:tsaad@cisco.com>
Editor: Himanshu Shah Editor: Rakesh Gandhi
<mailto:hshah@ciena.com> <mailto:rgandhi@cisco.com>
Editor: Xufeng Liu Editor: Himanshu Shah
<mailto:xufeng.liu@ericsson.com> <mailto:hshah@ciena.com>
Editor: Xia Chen Editor: Xufeng Liu
<mailto:jescia.chenxia@huawei.com> <mailto:xufeng.liu@ericsson.com>
Editor: Raqib Jones Editor: Xia Chen
<mailto:raqib@Brocade.com> <mailto:jescia.chenxia@huawei.com>
Editor: Bin Wen Editor: Raqib Jones
<mailto:Bin_Wen@cable.comcast.com>"; <mailto:raqib@Brocade.com>
description Editor: Bin Wen
"This module contains the Extended RSVP YANG data model."; <mailto:Bin_Wen@cable.comcast.com>";
revision 2016-03-20 { description
description "Latest revision of RSVP extended yang module."; "This module contains the Extended RSVP YANG data model.";
reference "RFC2205";
}
/* RSVP features */ revision "2016-10-02" {
feature authentication { description "Latest revision of RSVP extended yang module.";
description reference "RFC2205";
"Indicates support for RSVP authentication"; }
}
feature error-statistics { /* RSVP features */
description feature authentication {
"Indicates support for error statistics"; description
} "Indicates support for RSVP authentication";
}
feature global-statistics { feature error-statistics {
description description
"Indicates support for global statistics"; "Indicates support for error statistics";
} }
feature graceful-restart { feature global-statistics {
description description
"Indicates support for RSVP graceful restart"; "Indicates support for global statistics";
} }
feature hellos { feature graceful-restart {
description description
"Indicates support for RSVP hellos (RFC3209)."; "Indicates support for RSVP graceful restart";
}
feature notify { }
description
"Indicates support for RSVP notify message (RFC3473).";
}
feature refresh-reduction { feature hellos {
description description
"Indicates support for RSVP refresh reduction "Indicates support for RSVP hellos (RFC3209).";
(RFC2961)."; }
}
feature refresh-reduction-extended { feature notify {
description description
"Indicates support for RSVP refresh reduction "Indicates support for RSVP notify message (RFC3473).";
(RFC2961)."; }
}
feature per-interface-statistics { feature refresh-reduction {
description description
"Indicates support for per interface statistics"; "Indicates support for RSVP refresh reduction
} (RFC2961).";
}
grouping graceful-restart-extended_config { feature refresh-reduction-extended {
description description
"Configuration parameters relating to RSVP "Indicates support for RSVP refresh reduction
Graceful-Restart"; (RFC2961).";
leaf restart-time { }
type uint32;
units seconds;
description
"Graceful restart time (seconds).";
reference
"RFC 5495: Description of the Resource
Reservation Protocol - Traffic-Engineered
(RSVP-TE) Graceful Restart Procedures";
}
leaf recovery-time {
type uint32;
description
"RSVP state recovery time";
}
}
grouping authentication-extended_config { feature per-interface-statistics {
description description
"Configuration parameters relating to RSVP "Indicates support for per interface statistics";
authentication"; }
leaf lifetime {
type uint32 {
range "30..86400";
}
description
"Life time for each security association";
reference
"RFC 2747: RSVP Cryptographic
Authentication";
}
leaf window-size {
type uint32 {
range "1..64";
}
description
"Window-size to limit number of out-of-order
messages.";
reference
"RFC 2747: RSVP Cryptographic
Authentication";
}
leaf challenge {
type empty;
description
"Enable challenge messages.";
reference
"RFC 2747: RSVP Cryptographic
Authentication";
}
leaf retransmits {
type uint32 {
range "1..10000";
}
description
"Number of retransmits when messages are
dropped.";
reference
"RFC 2747: RSVP Cryptographic
Authentication";
}
leaf key-chain {
type string {
length "1..32";
}
description
"Key chain name to authenticate RSVP
signaling messages.";
reference
"RFC 2747: RSVP Cryptographic
Authentication";
}
}
grouping rsvp-hellos-extended_config { grouping graceful-restart-extended_config {
description
"Configuration parameters relating to RSVP
Graceful-Restart";
leaf restart-time {
type uint32;
units seconds;
description description
"Configuration parameters relating to RSVP "Graceful restart time (seconds).";
hellos"; reference
leaf interface-based { "RFC 5495: Description of the Resource
type empty; Reservation Protocol - Traffic-Engineered
description "Enable interface-based (RSVP-TE) Graceful Restart Procedures";
Hello adjacency if present.";
}
leaf hello-interval {
type uint32;
units milliseconds;
description
"Configure interval between successive Hello
messages in milliseconds.";
reference
"RFC 3209: RSVP-TE: Extensions to RSVP for
LSP Tunnels.
RFC 5495: Description of the Resource
Reservation Protocol - Traffic-Engineered
(RSVP-TE) Graceful Restart Procedures";
}
leaf hello-misses {
type uint32 {
range "1..10";
}
description
"Configure max number of consecutive missed
Hello messages.";
reference
"RFC 3209: RSVP-TE: Extensions to RSVP for
LSP Tunnels RFC 5495: Description of the
Resource Reservation Protocol - Traffic-
Engineered (RSVP-TE) Graceful Restart
Procedures";
}
} }
leaf recovery-time {
grouping signaling-parameters-extended_config { type uint32;
description description
"Configuration parameters relating to RSVP "RSVP state recovery time";
signaling";
leaf refresh-interval {
type uint32;
description
"Set interval between successive refreshes";
}
leaf refresh-misses {
type uint32;
description
"Set max number of consecutive missed
messages for state expiry";
}
leaf checksum {
type uint32;
description
"Enable RSVP message checksum computation";
}
leaf patherr-state-removal {
type empty;
description
"State-Removal flag in Path Error message
if present.";
}
} }
grouping refresh-reduction-extended_config { }
description
"Configuration parameters relating to RSVP
refresh reduction";
leaf bundle-message-max-size { grouping authentication-extended_config {
type uint32 { description
range "512..65000"; "Configuration parameters relating to RSVP
} authentication";
description leaf lifetime {
"Configure maximum size (bytes) of a type uint32 {
single RSVP Bundle message."; range "30..86400";
}
leaf reliable-ack-hold-time {
type uint32;
units milliseconds;
description
"Configure hold time in milliseconds for
sending RSVP ACK message(s).";
}
leaf reliable-ack-max-size {
type uint32;
description
"Configure max size of a single RSVP ACK
message.";
}
leaf reliable-retransmit-time {
type uint32;
units milliseconds;
description
"Configure min delay in milliseconds to
wait for an ACK before a retransmit.";
}
leaf reliable-srefresh {
type empty;
description
"Configure use of reliable messaging for
summary refresh if present.";
}
leaf summary-max-size {
type uint32 {
range "20..65000";
}
description
"Configure max size (bytes) of a single
RSVP summary refresh message.";
} }
}
grouping statistics-packets-extended_state {
description description
"Packet statistics."; "Life time for each security association";
leaf discontinuity-time { reference
type yang:date-and-time; "RFC 2747: RSVP Cryptographic
description Authentication";
"The time on the most recent occasion at which any one
or more of the statistic counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local
management subsystem, then this node contains the time
the local management subsystem re-initialized itself.";
}
leaf tx-dropped {
type yang:counter32;
description
"Packet tx dropped count";
}
leaf rx-dropped {
type yang:counter32;
description
"Packet rx dropped count";
}
leaf tx-error {
type yang:counter32;
description
"Packet tx error count";
}
leaf rx-error {
type yang:counter32;
description
"Packet rx error count";
}
} }
leaf window-size {
grouping statistics-protocol-extended_state { type uint32 {
range "1..64";
}
description description
"RSVP protocol statistics."; "Window-size to limit number of out-of-order
messages.";
reference
"RFC 2747: RSVP Cryptographic
Authentication";
} }
leaf challenge {
grouping statistics-errors-extended_state { type empty;
description description
"Error statistics."; "Enable challenge messages.";
} reference
"RFC 2747: RSVP Cryptographic
grouping statistics-extended_state { Authentication";
description "RSVP statistic attributes.";
uses statistics-packets-extended_state;
uses statistics-protocol-extended_state;
uses statistics-errors-extended_state;
} }
leaf retransmits {
/** type uint32 {
* RSVP extensions augmentations range "1..10000";
*/ }
/* RSVP globals graceful restart*/
augment "/rt:routing/rt:routing-protocols/"
+ "rt:routing-protocol/rsvp:rsvp/rsvp:globals/rsvp:config/"+
"rsvp:graceful-restart" {
description description
"RSVP globals configuration extensions"; "Number of retransmits when messages are
uses graceful-restart-extended_config; dropped.";
reference
"RFC 2747: RSVP Cryptographic
Authentication";
} }
augment "/rt:routing/rt:routing-protocols/" leaf key-chain {
+ "rt:routing-protocol/rsvp:rsvp/rsvp:globals/rsvp:state/"+ type string {
"rsvp:graceful-restart" { length "1..32";
}
description description
"RSVP globals state extensions"; "Key chain name to authenticate RSVP
uses graceful-restart-extended_config; signaling messages.";
reference
"RFC 2747: RSVP Cryptographic
Authentication";
} }
}
/* RSVP statistics augmentation */ grouping rsvp-hellos-extended_config {
augment "/rt:routing/rt:routing-protocols/" description
+ "rt:routing-protocol/rsvp:rsvp/rsvp:globals/rsvp:state/"+ "Configuration parameters relating to RSVP
"rsvp:packets-stats" { hellos";
description leaf interface-based {
"RSVP packet stats extensions"; type empty;
uses statistics-packets-extended_state; description "Enable interface-based
Hello adjacency if present.";
} }
augment "/rt:routing/rt:routing-protocols/" leaf hello-interval {
+ "rt:routing-protocol/rsvp:rsvp/rsvp:globals/rsvp:state/"+ type uint32;
"rsvp:protocol-stats" { units milliseconds;
description description
"RSVP protocol message stats extensions"; "Configure interval between successive Hello
uses statistics-protocol-extended_state; messages in milliseconds.";
reference
"RFC 3209: RSVP-TE: Extensions to RSVP for
LSP Tunnels.
RFC 5495: Description of the Resource
Reservation Protocol - Traffic-Engineered
(RSVP-TE) Graceful Restart Procedures";
} }
augment "/rt:routing/rt:routing-protocols/" leaf hello-misses {
+ "rt:routing-protocol/rsvp:rsvp/rsvp:globals/rsvp:state/"+ type uint32 {
"rsvp:errors-stats" { range "1..10";
}
description description
"RSVP errors stats extensions"; "Configure max number of consecutive missed
uses statistics-errors-extended_state; Hello messages.";
reference
"RFC 3209: RSVP-TE: Extensions to RSVP for
LSP Tunnels RFC 5495: Description of the
Resource Reservation Protocol - Traffic-
Engineered (RSVP-TE) Graceful Restart
Procedures";
} }
}
/** grouping signaling-parameters-extended_config {
* RSVP all interfaces extensions description
*/ "Configuration parameters relating to RSVP
signaling";
/* RSVP interface signaling extensions */ leaf refresh-interval {
augment "/rt:routing/rt:routing-protocols/" type uint32;
+ "rt:routing-protocol/rsvp:rsvp/rsvp:interfaces/rsvp:config" {
description description
"RSVP signaling all interfaces configuration extensions"; "Set interval between successive refreshes";
uses signaling-parameters-extended_config;
} }
augment "/rt:routing/rt:routing-protocols/" leaf refresh-misses {
+ "rt:routing-protocol/rsvp:rsvp/rsvp:interfaces/rsvp:state" { type uint32;
description description
"RSVP signaling all interfaces state extensions"; "Set max number of consecutive missed
uses signaling-parameters-extended_config; messages for state expiry";
} }
/* RSVP refresh reduction extension */ leaf checksum {
augment "/rt:routing/rt:routing-protocols/" type uint32;
+ "rt:routing-protocol/rsvp:rsvp/rsvp:interfaces/rsvp:config/" +
"rsvp:refresh-reduction" {
description description
"RSVP refresh-reduction all interface configuration "Enable RSVP message checksum computation";
extensions";
uses refresh-reduction-extended_config;
} }
augment "/rt:routing/rt:routing-protocols/" leaf patherr-state-removal {
+ "rt:routing-protocol/rsvp:rsvp/rsvp:interfaces/rsvp:state/" + type empty;
"rsvp:refresh-reduction" {
description description
"RSVP refresh-reduction all interfaces state extensions"; "State-Removal flag in Path Error message
uses refresh-reduction-extended_config; if present.";
} }
}
/* RSVP hellos extension */ grouping refresh-reduction-extended_config {
augment "/rt:routing/rt:routing-protocols/" description
+ "rt:routing-protocol/rsvp:rsvp/rsvp:interfaces/rsvp:config/" + "Configuration parameters relating to RSVP
"rsvp:rsvp-hellos" { refresh reduction";
leaf bundle-message-max-size {
type uint32 {
range "512..65000";
}
description description
"RSVP hello all interfaces configuration extensions"; "Configure maximum size (bytes) of a
uses rsvp-hellos-extended_config; single RSVP Bundle message.";
} }
augment "/rt:routing/rt:routing-protocols/" leaf reliable-ack-hold-time {
+ "rt:routing-protocol/rsvp:rsvp/rsvp:interfaces/rsvp:state/" + type uint32;
"rsvp:rsvp-hellos" { units milliseconds;
description description
"RSVP hello all interfaces state extensions"; "Configure hold time in milliseconds for
uses rsvp-hellos-extended_config; sending RSVP ACK message(s).";
} }
leaf reliable-ack-max-size {
/* RSVP authentication extension */ type uint32;
augment "/rt:routing/rt:routing-protocols/"
+ "rt:routing-protocol/rsvp:rsvp/rsvp:interfaces/rsvp:config/" +
"rsvp:authentication" {
description description
"RSVP authentication all interfaces configuration extensions"; "Configure max size of a single RSVP ACK
uses authentication-extended_config; message.";
} }
augment "/rt:routing/rt:routing-protocols/" leaf reliable-retransmit-time {
+ "rt:routing-protocol/rsvp:rsvp/rsvp:interfaces/rsvp:state/" + type uint32;
"rsvp:authentication" { units milliseconds;
description description
"RSVP authentication all interfaces state extensions"; "Configure min delay in milliseconds to
uses authentication-extended_config; wait for an ACK before a retransmit.";
} }
/** leaf reliable-srefresh {
* RSVP interface extensions type empty;
*/
/* RSVP interface signaling extensions */
augment "/rt:routing/rt:routing-protocols/"
+ "rt:routing-protocol/rsvp:rsvp/rsvp:interfaces/" +
"rsvp:interface/rsvp:config" {
description description
"RSVP signaling interface configuration extensions"; "Configure use of reliable messaging for
uses signaling-parameters-extended_config; summary refresh if present.";
} }
augment "/rt:routing/rt:routing-protocols/" leaf summary-max-size {
+ "rt:routing-protocol/rsvp:rsvp/rsvp:interfaces/" + type uint32 {
"rsvp:interface/rsvp:state" { range "20..65000";
}
description description
"RSVP signaling interface state extensions"; "Configure max size (bytes) of a single
uses signaling-parameters-extended_config; RSVP summary refresh message.";
} }
}
/* RSVP refresh reduction extension */ grouping statistics-packets-extended_state {
augment "/rt:routing/rt:routing-protocols/" description
+ "rt:routing-protocol/rsvp:rsvp/rsvp:interfaces/" + "Packet statistics.";
"rsvp:interface/rsvp:config/rsvp:refresh-reduction" { leaf discontinuity-time {
description type yang:date-and-time;
"RSVP refresh-reduction interface configuration extensions";
uses refresh-reduction-extended_config;
}
augment "/rt:routing/rt:routing-protocols/"
+ "rt:routing-protocol/rsvp:rsvp/rsvp:interfaces/" +
"rsvp:interface/rsvp:state/rsvp:refresh-reduction" {
description description
"RSVP refresh-reduction interface state extensions"; "The time on the most recent occasion at which any one
uses refresh-reduction-extended_config; or more of the statistic counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local
management subsystem, then this node contains the time
the local management subsystem re-initialized itself.";
} }
leaf tx-dropped {
/* RSVP hellos extension */ type yang:counter32;
augment "/rt:routing/rt:routing-protocols/"
+ "rt:routing-protocol/rsvp:rsvp/rsvp:interfaces/" +
"rsvp:interface/rsvp:config/rsvp:rsvp-hellos" {
description description
"RSVP hello interface configuration extensions"; "Packet tx dropped count";
uses rsvp-hellos-extended_config;
} }
augment "/rt:routing/rt:routing-protocols/" leaf rx-dropped {
+ "rt:routing-protocol/rsvp:rsvp/rsvp:interfaces/" + type yang:counter32;
"rsvp:interface/rsvp:state/rsvp:rsvp-hellos" {
description description
"RSVP hello interface state extensions"; "Packet rx dropped count";
uses rsvp-hellos-extended_config;
} }
/* RSVP authentication extension */ leaf tx-error {
augment "/rt:routing/rt:routing-protocols/" type yang:counter32;
+ "rt:routing-protocol/rsvp:rsvp/rsvp:interfaces/" +
"rsvp:interface/rsvp:config/rsvp:authentication" {
description description
"RSVP authentication interface configuration extensions"; "Packet tx error count";
uses authentication-extended_config;
} }
augment "/rt:routing/rt:routing-protocols/"
+ "rt:routing-protocol/rsvp:rsvp/rsvp:interfaces/" + leaf rx-error {
"rsvp:interface/rsvp:state/rsvp:authentication" { type yang:counter32;
description description
"RSVP authentication interface state extensions"; "Packet rx error count";
uses authentication-extended_config;
} }
} }
<CODE ENDS>
grouping statistics-protocol-extended_state {
description
"RSVP protocol statistics.";
}
grouping statistics-errors-extended_state {
description
"Error statistics.";
}
grouping statistics-extended_state {
description "RSVP statistic attributes.";
uses statistics-packets-extended_state;
uses statistics-protocol-extended_state;
uses statistics-errors-extended_state;
}
/**
* RSVP extensions augmentations
*/
/* RSVP globals graceful restart*/
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/rsvp:config/"+
"rsvp:graceful-restart" {
description
"RSVP globals configuration extensions";
uses graceful-restart-extended_config;
}
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/rsvp:state/"+
"rsvp:graceful-restart" {
description
"RSVP globals state extensions";
uses graceful-restart-extended_config;
}
/* RSVP statistics augmentation */
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/rsvp:state/"+
"rsvp:packets-stats" {
description
"RSVP packet stats extensions";
uses statistics-packets-extended_state;
}
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/rsvp:state/"+
"rsvp:protocol-stats" {
description
"RSVP protocol message stats extensions";
uses statistics-protocol-extended_state;
}
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/rsvp:state/"+
"rsvp:errors-stats" {
description
"RSVP errors stats extensions";
uses statistics-errors-extended_state;
}
/**
* RSVP all interfaces extensions
*/
/* RSVP interface signaling extensions */
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/"
+ "rsvp:config" {
description
"RSVP signaling all interfaces configuration extensions";
uses signaling-parameters-extended_config;
}
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/"
+ "rsvp:state" {
description
"RSVP signaling all interfaces state extensions";
uses signaling-parameters-extended_config;
}
/* RSVP refresh reduction extension */
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/"
+ "rsvp:config/rsvp:refresh-reduction" {
description
"RSVP refresh-reduction all interface configuration
extensions";
uses refresh-reduction-extended_config;
}
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/"
+ "rsvp:state/rsvp:refresh-reduction" {
description
"RSVP refresh-reduction all interfaces state extensions";
uses refresh-reduction-extended_config;
}
/* RSVP hellos extension */
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/"
+ "rsvp:config/rsvp:rsvp-hellos" {
description
"RSVP hello all interfaces configuration extensions";
uses rsvp-hellos-extended_config;
}
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/"
+ "rsvp:state/rsvp:rsvp-hellos" {
description
"RSVP hello all interfaces state extensions";
uses rsvp-hellos-extended_config;
}
/* RSVP authentication extension */
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/"
+ "rsvp:config/rsvp:authentication" {
description
"RSVP authentication all interfaces configuration extensions";
uses authentication-extended_config;
}
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/"
+ "rsvp:state/rsvp:authentication" {
description
"RSVP authentication all interfaces state extensions";
uses authentication-extended_config;
}
/**
* RSVP interface extensions
*/
/* RSVP interface signaling extensions */
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" +
"rsvp:interface/rsvp:config" {
description
"RSVP signaling interface configuration extensions";
uses signaling-parameters-extended_config;
}
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" +
"rsvp:interface/rsvp:state" {
description
"RSVP signaling interface state extensions";
uses signaling-parameters-extended_config;
}
/* RSVP refresh reduction extension */
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" +
"rsvp:interface/rsvp:config/rsvp:refresh-reduction" {
description
"RSVP refresh-reduction interface configuration extensions";
uses refresh-reduction-extended_config;
}
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" +
"rsvp:interface/rsvp:state/rsvp:refresh-reduction" {
description
"RSVP refresh-reduction interface state extensions";
uses refresh-reduction-extended_config;
}
/* RSVP hellos extension */
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" +
"rsvp:interface/rsvp:config/rsvp:rsvp-hellos" {
description
"RSVP hello interface configuration extensions";
uses rsvp-hellos-extended_config;
}
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" +
"rsvp:interface/rsvp:state/rsvp:rsvp-hellos" {
description
"RSVP hello interface state extensions";
uses rsvp-hellos-extended_config;
}
/* RSVP authentication extension */
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" +
"rsvp:interface/rsvp:config/rsvp:authentication" {
description
"RSVP authentication interface configuration extensions";
uses authentication-extended_config;
}
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" +
"rsvp:interface/rsvp:state/rsvp:authentication" {
description
"RSVP authentication interface state extensions";
uses authentication-extended_config;
}
}
<CODE ENDS>
Figure 4: RSVP extended YANG module Figure 4: RSVP extended YANG module
3.3. RSVP-TE Generic YANG Model 3.3. RSVP-TE Generic YANG Model
This section contains the augmentation of the RSVP base YANG model This section contains the augmentation of the RSVP base YANG model
for signalling Traffic-Engineering (RSVP-TE) Label Switched Paths for signalling Traffic-Engineering (RSVP-TE) Label Switched Paths
(LSPs). New module is introduced that augment the RSVP-TE generic (LSPs). New module is introduced that augment the RSVP-TE generic
module to cover data items that are technology agnostic. module to cover data items that are technology agnostic.
skipping to change at page 49, line 43 skipping to change at page 50, line 7
augment /te:te/te-dev:interfaces/te-dev:interface: augment /te:te/te-dev:interfaces/te-dev:interface:
Figure 5: RSVP-TE YANG Tree representation Figure 5: RSVP-TE YANG Tree representation
3.3.2. RPC and Notification Data 3.3.2. RPC and Notification Data
TBD. TBD.
3.3.3. YANG Module 3.3.3. YANG Module
<CODE BEGINS> file "ietf-rsvp-te@2016-03-20.yang" <CODE BEGINS> file "ietf-rsvp-te@2016-10-02.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-te { import ietf-te {
prefix te; prefix te;
skipping to change at page 51, line 18 skipping to change at page 51, line 29
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 2016-03-20 { revision "2016-10-02" {
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";
container record-route-object { container record-route-object {
description "RSVP recorded route object information"; description "RSVP recorded route object information";
list path-record-route-subobjects { list path-record-route-subobjects {
when "../origin-type != 'ingress'" { when "../../origin-type != 'ingress'" {
description "Applicable on non-ingress LSPs only"; description "Applicable on non-ingress LSPs only";
} }
key "subobject-index"; key "subobject-index";
description ""; description "";
leaf subobject-index { leaf subobject-index {
type uint32; type uint32;
description "RRO subobject index"; description "RRO subobject index";
} }
uses te-types:record-route-subobject; uses te-types:record-route-subobject;
} }
list resv-record-route-subobjects { list resv-record-route-subobjects {
when "../origin-type != 'egress'" { when "../../origin-type != 'egress'" {
description "Applicable on non-egress LSPs only"; description "Applicable on non-egress LSPs only";
} }
key "subobject-index"; key "subobject-index";
description ""; description "";
leaf subobject-index { leaf subobject-index {
type uint32; type uint32;
description "RRO subobject index"; description "RRO subobject index";
} }
uses te-types:record-route-subobject; uses te-types:record-route-subobject;
} }
} }
} }
grouping lsp-explicit-route-information_state { grouping lsp-explicit-route-information_state {
description "RSVP-TE LSP explicit-route information"; description "RSVP-TE LSP explicit-route information";
container explicit-route-object { container explicit-route-object {
description "Explicit route object information"; description "Explicit route object information";
list incoming-explicit-route-subobjects { list incoming-explicit-route-subobjects {
when "../origin-type != 'ingress'" { when "../../origin-type != 'ingress'" {
description "Applicable on non-ingress LSPs only"; description "Applicable on non-ingress LSPs only";
} }
key "subobject-index"; key "subobject-index";
description ""; description "";
leaf subobject-index { leaf subobject-index {
type uint32; type uint32;
description "ERO subobject index"; description "ERO subobject index";
} }
uses te-types:explicit-route-subobject; uses te-types:explicit-route-subobject;
} }
list outgoing-explicit-route-subobjects { list outgoing-explicit-route-subobjects {
when "../origin-type != 'egress'" { when "../../origin-type != 'egress'" {
description "Applicable on non-egress LSPs only"; description "Applicable on non-egress LSPs only";
} }
key "subobject-index"; key "subobject-index";
description ""; description "";
leaf subobject-index { leaf subobject-index {
type uint32; type uint32;
description "ERO subobject index"; description "ERO subobject index";
} }
uses te-types:explicit-route-subobject; uses te-types:explicit-route-subobject;
} }
skipping to change at page 56, line 42 skipping to change at page 57, line 4
} }
container state { container state {
config false; config false;
description description
"State information associated with RSVP-TE "State information associated with RSVP-TE
bandwidth"; bandwidth";
} }
} }
} }
/*** End of RSVP-TE generic groupings ***/ /*** End of RSVP-TE generic groupings ***/
/* RSVP-TE global propeerties */ /* RSVP-TE global propeerties */
augment "/rt:routing/rt:routing-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:routing-protocol/rsvp:rsvp/rsvp:globals" { + "rt:control-plane-protocol/rsvp:rsvp/rsvp:globals" {
description description
"RSVP-TE augmentation to RSVP globals"; "RSVP-TE augmentation to RSVP globals";
} }
/* Linkage to the base RSVP all links */ /* Linkage to the base RSVP all links */
augment "/rt:routing/rt:routing-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:routing-protocol/rsvp:rsvp/rsvp:interfaces" { + "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces" {
description description
"RSVP-TE generic data augmentation pertaining to interfaces"; "RSVP-TE generic data augmentation pertaining to interfaces";
/* To be added */ /* To be added */
} }
/* Linkage to per RSVP interface */ /* Linkage to per RSVP interface */
augment "/rt:routing/rt:routing-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:routing-protocol/rsvp:rsvp/rsvp:interfaces/rsvp:interface" { + "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" +
"rsvp:interface" {
description description
"RSVP-TE generic data augmentation pertaining to specific "RSVP-TE generic data augmentation pertaining to specific
interface"; interface";
/* To be added */ /* To be added */
} }
/* add augmentation for sessions neighbors */ /* add augmentation for sessions neighbors */
augment "/rt:routing/rt:routing-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:routing-protocol/rsvp:rsvp/rsvp:sessions" { + "rt:control-plane-protocol/rsvp:rsvp/rsvp:sessions" {
description description
"RSVP-TE generic data augmentation pertaining to session"; "RSVP-TE generic data augmentation pertaining to session";
/* To be added */ /* To be added */
} }
augment "/rt:routing/rt:routing-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:routing-protocol/rsvp:rsvp/rsvp:neighbors" { + "rt:control-plane-protocol/rsvp:rsvp/rsvp:neighbors" {
description description
"RSVP-TE generic data augmentation pertaining to neighbors"; "RSVP-TE generic data augmentation pertaining to neighbors";
/* To be added */ /* To be added */
} }
/** /**
* RSVP-TE generic augmentations of generic TE model. * RSVP-TE generic augmentations of generic TE model.
*/ */
/* TE tunnel augmentation */ /* TE tunnel augmentation */
skipping to change at page 62, line 28 skipping to change at page 62, line 38
+--ro auto-backup-path-computation? identityref +--ro auto-backup-path-computation? identityref
Figure 6: MPLS RSVP-TE YANG Tree representation Figure 6: MPLS RSVP-TE YANG Tree representation
3.4.2. RPC and Notification Data 3.4.2. RPC and Notification Data
TBD. TBD.
3.4.3. YANG Module 3.4.3. YANG Module
<CODE BEGINS> file "ietf-rsvp-te-mpls@2016-03-20.yang" <CODE BEGINS> file "ietf-rsvp-te-mpls@2016-10-02.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";
} }
import ietf-te-mpls-types { import ietf-te-mpls-types {
prefix "te-mpls-types"; prefix "te-mpls-types";
} }
import ietf-te-types { import ietf-te-types {
prefix "te-types"; prefix "te-types";
} }
import ietf-te { import ietf-te {
prefix "te"; prefix "te";
skipping to change at page 64, line 5 skipping to change at page 64, line 14
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 2016-03-20 { revision "2016-10-02" {
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 73, line 19 skipping to change at page 73, line 29
container state { container state {
config false; config false;
description description
"State parameters relating to "State parameters relating to
global MPLS RSVP-TE properties"; global MPLS RSVP-TE properties";
uses rsvp-frr-local-revert_config; uses rsvp-frr-local-revert_config;
} }
} }
/* RSVP-TE global propeerties */ /* RSVP-TE global propeerties */
augment "/rt:routing/rt:routing-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:routing-protocol/rsvp:rsvp" { + "rt:control-plane-protocol/rsvp:rsvp" {
description description
"RSVP-TE augmentation to RSVP globals"; "RSVP-TE augmentation to RSVP globals";
uses globals-properties; uses globals-properties;
} }
grouping rsvp-te-interface-attributes-mpls { grouping rsvp-te-interface-attributes-mpls {
description description
"Top level grouping for MPLS RSVP-TE interface "Top level grouping for MPLS RSVP-TE interface
properties."; properties.";
container config { container config {
skipping to change at page 73, line 48 skipping to change at page 74, line 9
description description
"State information associated with RSVP-TE "State information associated with RSVP-TE
bandwidth"; bandwidth";
uses te-mpls-types:bandwidth-mpls-reservable; uses te-mpls-types:bandwidth-mpls-reservable;
uses rsvp-te-interface-softpreemption_state; uses rsvp-te-interface-softpreemption_state;
uses rsvp-te-interface_state; uses rsvp-te-interface_state;
} }
} }
/* Linkage to the base RSVP all interfaces */ /* Linkage to the base RSVP all interfaces */
augment "/rt:routing/rt:routing-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:routing-protocol/rsvp:rsvp/rsvp:interfaces" { + "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces" {
description "TBD"; description
"Augmentations for RSVP-TE MPLS all interfaces properties";
/* To be added */ /* To be added */
} }
/* Linkage to per RSVP interface */ /* Linkage to per RSVP interface */
augment "/rt:routing/rt:routing-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:routing-protocol/rsvp:rsvp/rsvp:interfaces/rsvp:interface" { + "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" +
description "TBD"; "rsvp:interface" {
description
"Augmentations for RSVP-TE MPLS per interface properties";
/* To be added */ /* To be added */
} }
/* add augmentation for sessions neighbors */ /* add augmentation for sessions neighbors */
augment "/rt:routing/rt:routing-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:routing-protocol/rsvp:rsvp/rsvp:sessions" { + "rt:control-plane-protocol/rsvp:rsvp/rsvp:sessions" {
description "TBD"; description
"Augmentations for RSVP-TE MPLS sessions";
/* To be added */ /* To be added */
} }
augment "/rt:routing/rt:routing-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:routing-protocol/rsvp:rsvp/rsvp:neighbors" { + "rt:control-plane-protocol/rsvp:rsvp/rsvp:neighbors" {
description "TBD"; description
"Augmentations for RSVP-TE MPLS neighbors properties";
/* To be added */ /* To be added */
} }
/** /**
* 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 "TBD"; description
"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" {
description description
"RSVP-TE 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;
} }
augment "/te:te/te-dev:interfaces/te-dev:interface" { augment "/te:te/te-dev:interfaces/te-dev:interface" {
description description
"RSVP reservable bandwidth configuration properties"; "RSVP reservable bandwidth configuration properties";
uses rsvp-te-interface-attributes-mpls; uses rsvp-te-interface-attributes-mpls;
uses rsvp-te-frr-backups; uses rsvp-te-frr-backups;
} }
skipping to change at page 76, line 11 skipping to change at page 76, line 20
The authors would like to thank Lou Berger for reviewing and The authors would like to thank Lou Berger for reviewing and
providing valuable feedback on this document. providing valuable feedback on this document.
7. References 7. References
7.1. Normative References 7.1. Normative References
[I-D.ietf-netmod-routing-cfg] [I-D.ietf-netmod-routing-cfg]
Lhotka, L. and A. Lindem, "A YANG Data Model for Routing Lhotka, L. and A. Lindem, "A YANG Data Model for Routing
Management", draft-ietf-netmod-routing-cfg-21 (work in Management", draft-ietf-netmod-routing-cfg-23 (work in
progress), March 2016. progress), August 2016.
[I-D.ietf-teas-yang-te] [I-D.ietf-teas-yang-te]
Saad, T., Gandhi, R., Liu, X., Beeram, V., Shah, H., Chen, Saad, T., Gandhi, R., Liu, X., Beeram, V., Shah, H.,
X., Jones, R., and B. Wen, "A YANG Data Model for Traffic Bryskin, I., Chen, X., Jones, R., and B. Wen, "A YANG Data
Engineering Tunnels and Interfaces", draft-ietf-teas-yang- Model for Traffic Engineering Tunnels and Interfaces",
te-03 (work in progress), March 2016. draft-ietf-teas-yang-te-04 (work in progress), July 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. 130 change blocks. 
510 lines changed or deleted 528 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/