draft-ietf-teas-yang-rsvp-05.txt   draft-ietf-teas-yang-rsvp-06.txt 
TEAS Working Group V. Beeram TEAS Working Group V. Beeram
Internet-Draft Juniper Networks Internet-Draft Juniper Networks
Intended status: Standards Track T. Saad, Ed. Intended status: Standards Track T. Saad, Ed.
Expires: May 2, 2017 R. Gandhi Expires: May 3, 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
October 29, 2016 October 30, 2016
A YANG Data Model for Resource Reservation Protocol (RSVP) A YANG Data Model for Resource Reservation Protocol (RSVP)
draft-ietf-teas-yang-rsvp-05 draft-ietf-teas-yang-rsvp-06
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 May 2, 2017. This Internet-Draft will expire on May 3, 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 47 skipping to change at page 2, line 47
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 . . . . . . . . . . . . 47 3.3.1. Configuration and State Data . . . . . . . . . . . . 47
3.3.2. RPC and Notification Data . . . . . . . . . . . . . . 50 3.3.2. RPC and Notification Data . . . . . . . . . . . . . . 50
3.3.3. YANG Module . . . . . . . . . . . . . . . . . . . . . 50 3.3.3. YANG Module . . . . . . . . . . . . . . . . . . . . . 50
3.4. RSVP-TE MPLS Model . . . . . . . . . . . . . . . . . . . 61 3.4. RSVP-TE MPLS Model . . . . . . . . . . . . . . . . . . . 58
3.4.1. Configuration and State Data . . . . . . . . . . . . 61 3.4.1. Configuration and State Data . . . . . . . . . . . . 58
3.4.2. RPC and Notification Data . . . . . . . . . . . . . . 65 3.4.2. RPC and Notification Data . . . . . . . . . . . . . . 62
3.4.3. YANG Module . . . . . . . . . . . . . . . . . . . . . 65 3.4.3. YANG Module . . . . . . . . . . . . . . . . . . . . . 62
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 78 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 75
5. Security Considerations . . . . . . . . . . . . . . . . . . . 78 5. Security Considerations . . . . . . . . . . . . . . . . . . . 75
6. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 79 6. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 76
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 79 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 76
7.1. Normative References . . . . . . . . . . . . . . . . . . 79 7.1. Normative References . . . . . . . . . . . . . . . . . . 76
7.2. Informative References . . . . . . . . . . . . . . . . . 80 7.2. Informative References . . . . . . . . . . . . . . . . . 77
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 81 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 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 50, line 17 skipping to change at page 50, line 17
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-10-29.yang" <CODE BEGINS> file "ietf-rsvp-te@2016-10-29.yang"
module ietf-rsvp-extended { module ietf-rsvp-te {
namespace "urn:ietf:params:xml:ns:yang:ietf-rsvp-extended"; namespace "urn:ietf:params:xml:ns:yang:ietf-rsvp-te";
prefix "rsvp-ext"; 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-yang-types { import ietf-te {
prefix "yang"; prefix te;
}
import ietf-te-device {
prefix te-dev;
}
/* Import TE generic types */
import ietf-te-types {
prefix te-types;
} }
organization organization
"IETF Traffic Engineering Architecture and Signaling (TEAS) "IETF Traffic Engineering Architecture and Signaling (TEAS)
Working Group"; Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/teas/> "WG Web: <http://tools.ietf.org/wg/teas/>
WG List: <mailto:teas@ietf.org> WG List: <mailto:teas@ietf.org>
WG Chair: Lou Berger WG Chair: Lou Berger
<mailto:lberger@labn.net> <mailto:lberger@labn.net>
WG Chair: Vishnu Pavan Beeram WG Chair: Vishnu Pavan Beeram
<mailto:vbeeram@juniper.net> <mailto:vbeeram@juniper.net>
Editor: Vishnu Pavan Beeram Editor: Vishnu Pavan Beeram
<mailto:vbeeram@juniper.net> <mailto:vbeeram@juniper.net>
Editor: Tarek Saad Editor: Tarek Saad
skipping to change at page 51, line 27 skipping to change at page 51, line 35
Editor: Xia Chen Editor: Xia Chen
<mailto:jescia.chenxia@huawei.com> <mailto:jescia.chenxia@huawei.com>
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 Extended RSVP YANG data model."; "This module contains the RSVP-TE YANG generic data model.";
revision "2016-10-29" { revision "2016-10-29" {
description "Latest revision of RSVP extended yang module."; description "Latest revision to RSVP-TE generic YANG module";
reference "RFC2205"; reference "RFC2205, RFC3209, etc.";
}
/* RSVP features */
feature authentication {
description
"Indicates support for RSVP authentication";
}
feature error-statistics {
description
"Indicates support for error statistics";
}
feature global-statistics {
description
"Indicates support for global statistics";
}
feature graceful-restart {
description
"Indicates support for RSVP graceful restart";
}
feature hellos {
description
"Indicates support for RSVP hellos (RFC3209).";
}
feature notify {
description
"Indicates support for RSVP notify message (RFC3473).";
}
feature refresh-reduction {
description
"Indicates support for RSVP refresh reduction
(RFC2961).";
}
feature refresh-reduction-extended {
description
"Indicates support for RSVP refresh reduction
(RFC2961).";
}
feature per-interface-statistics {
description
"Indicates support for per interface statistics";
} }
grouping graceful-restart-extended_config { /**
description * RSVP-TE LSPs groupings.
"Configuration parameters relating to RSVP */
Graceful-Restart";
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 { grouping lsp-record-route-information_state {
description description "recorded route information grouping";
"Configuration parameters relating to RSVP container record-route-object {
authentication"; description "RSVP recorded route object information";
leaf lifetime { list path-record-route-subobjects {
type uint32 { when "../../te:origin-type != 'ingress'" {
range "30..86400"; description "Applicable on non-ingress LSPs only";
}
key "subobject-index";
description
"List of RSVP Path record-route objects";
leaf subobject-index {
type uint32;
description "RRO subobject index";
}
uses te-types:record-route-subobject;
} }
description list resv-record-route-subobjects {
"Life time for each security association"; when "../../te:origin-type != 'egress'" {
reference description "Applicable on non-egress LSPs only";
"RFC 2747: RSVP Cryptographic }
Authentication"; key "subobject-index";
} description
leaf window-size { "List of RSVP Resv record-route objects";
type uint32 { leaf subobject-index {
range "1..64"; type uint32;
description "RRO subobject index";
}
uses te-types:record-route-subobject;
} }
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"; grouping lsp-explicit-route-information_state {
description "RSVP-TE LSP explicit-route information";
container explicit-route-object {
description "Explicit route object information";
list incoming-explicit-route-subobjects {
when "../../te:origin-type != 'ingress'" {
description "Applicable on non-ingress LSPs only";
}
key "subobject-index";
description
"List of incoming RSVP Path explicit-route objects";
leaf subobject-index {
type uint32;
description "ERO subobject index";
}
uses te-types:explicit-route-subobject;
} }
description list outgoing-explicit-route-subobjects {
"Number of retransmits when messages are when "../../te:origin-type != 'egress'" {
dropped."; description "Applicable on non-egress LSPs only";
reference
"RFC 2747: RSVP Cryptographic }
Authentication"; key "subobject-index";
} description
leaf key-chain { "List of outgoing RSVP Path explicit-route objects";
type string { leaf subobject-index {
length "1..32"; type uint32;
description "ERO subobject index";
}
uses te-types:explicit-route-subobject;
} }
description
"Key chain name to authenticate RSVP
signaling messages.";
reference
"RFC 2747: RSVP Cryptographic
Authentication";
} }
} }
grouping rsvp-hellos-extended_config { grouping lsp-attributes-flags_config {
description description
"Configuration parameters relating to RSVP "Configuration parameters relating to RSVP-TE LSP
hellos"; attribute flags";
leaf interface-based { leaf lsp-rerouting {
type empty; type enumeration {
description "Enable interface-based enum end-to-end-routing {
Hello adjacency if present."; description
} "End-to-end routing desired";
leaf hello-interval { reference "RFC4920, RFC5420";
type uint32; }
units milliseconds; enum boundary-rerouting {
description description
"Configure interval between successive Hello "Boundary rerouting desired";
messages in milliseconds."; reference "RFC4920, RFC5420";
reference }
"RFC 3209: RSVP-TE: Extensions to RSVP for enum segment-based-rerouting {
LSP Tunnels. description
RFC 5495: Description of the Resource "Segment-based rerouting desired";
Reservation Protocol - Traffic-Engineered reference "RFC4920, RFC5420";
(RSVP-TE) Graceful Restart Procedures"; }
}
leaf hello-misses {
type uint32 {
range "1..10";
} }
description description "LSP rerouting types";
"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 lsp-integrety-required {
grouping signaling-parameters-extended_config { type boolean;
description description "LSP integrity desired";
"Configuration parameters relating to RSVP reference "RFC4875";
signaling";
leaf refresh-interval {
type uint32;
description
"Set interval between successive refreshes";
} }
leaf refresh-misses { leaf lsp-contiguous {
type uint32; type boolean;
description description "Contiguous LSP";
"Set max number of consecutive missed reference "RFC5151";
messages for state expiry";
} }
leaf checksum { leaf lsp-stitching-desired {
type uint32; type boolean;
description description "Stitched LSP";
"Enable RSVP message checksum computation"; reference "RFC5150";
} }
leaf patherr-state-removal { leaf lsp-preplanned {
type empty; type boolean;
description "Preplanned LSP";
reference "RFC6001";
}
leaf lsp-oob-mapping {
type boolean;
description description
"State-Removal flag in Path Error message "Mapping is done out-of-band";
if present."; reference "RFC6511";
} }
} }
grouping refresh-reduction-extended_config { grouping lsp-session-attributes-obj-flags_config {
description description
"Configuration parameters relating to RSVP "Configuration parameters relating to RSVP-TE LSP
refresh reduction"; session attribute flags";
reference
leaf bundle-message-max-size { "RFC4859: Registry for RSVP-TE Session Flags";
type uint32 { leaf local-recording-desired {
range "512..65000"; type boolean;
} description "Path recording is desired.";
description reference "RFC3209";
"Configure maximum size (bytes) of a
single RSVP Bundle message.";
}
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 { leaf se-style-desired {
type uint32; type boolean;
units milliseconds; description "SE Style desired";
description reference "RFC3209";
"Configure min delay in milliseconds to
wait for an ACK before a retransmit.";
} }
leaf reliable-srefresh { leaf path-reevaluation-request {
type empty; type boolean;
description description "Path re-evaluation request";
"Configure use of reliable messaging for reference "RFC4736";
summary refresh if present.";
} }
leaf summary-max-size { leaf soft-preemption-desired {
type uint32 { type boolean;
range "20..65000"; description "Soft-preemption is desired";
} reference "RFC5712";
description
"Configure max size (bytes) of a single
RSVP summary refresh message.";
} }
} }
grouping statistics-packets-extended_state { grouping lsp-properties_config {
description description
"Packet statistics."; "Configuration parameters relating to RSVP-TE LSP
leaf discontinuity-time { session attribute flags";
type yang:date-and-time; leaf lsp-signaled-name {
description type string;
"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 description
"Packet rx dropped count"; "Sets the session name to use in the session
attribute object.";
} }
uses lsp-session-attributes-obj-flags_config;
uses lsp-attributes-flags_config;
}
leaf tx-error { grouping tunnel-properties {
type yang:counter32; description
"Top level grouping for LSP properties.";
container config {
description description
"Packet tx error count"; "Configuration parameters relating to
LSP properties";
uses lsp-properties_config;
} }
container state {
leaf rx-error { config false;
type yang:counter32;
description description
"Packet rx error count"; "State information associated with LSP
properties";
uses lsp-properties_config;
} }
} }
/*** End of RSVP-TE LSP groupings ***/
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-TE generic global properties.
*/ */
/* RSVP globals graceful restart*/ grouping global-soft-preemption_config {
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 description
"RSVP protocol message stats extensions"; "Configuration for global RSVP-TE soft preemption";
uses statistics-protocol-extended_state; leaf soft-preemption-timeout {
type uint16 {
range 0..300;
}
default 0;
description
"Timeout value for soft preemption to revert
to hard preemption";
}
} }
augment "/rt:routing/rt:control-plane-protocols/" + grouping global-soft-preemption {
"rt:control-plane-protocol/rsvp:rsvp/rsvp:globals/" +
"rsvp:state/rsvp:errors-stats" {
description description
"RSVP errors stats extensions"; "Top level group for RSVP-TE soft-preemption";
uses statistics-errors-extended_state; container global-soft-preemption {
presence "Enables soft preemption on a node.";
description
"Top level container for RSVP-TE soft-preemption";
container config {
description
"Configuration parameters relating to RSVP
soft preemption support";
uses global-soft-preemption_config;
}
container state {
description "State parameters relating to RSVP
soft preemption support";
uses global-soft-preemption_config;
}
}
} }
/*** End of RSVP-TE generic global properties. ***/
/** /**
* RSVP all interfaces extensions * RSVP-TE interface generic groupings.
*/ */
/* RSVP interface signaling extensions */ grouping rsvp-te-interface-attributes {
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/"
+ "rsvp:config" {
description description
"RSVP signaling all interfaces configuration extensions"; "Top level grouping for RSVP-TE interface properties.";
uses signaling-parameters-extended_config; container rsvp-te-interface-attributes {
description
"Top level container for RSVP-TE interface
properties";
container config {
description
"Configuration parameters relating to RSVP-TE
bandwidth";
}
container state {
config false;
description
"State information associated with RSVP-TE
bandwidth";
}
}
} }
/*** End of RSVP-TE generic groupings ***/
/* RSVP-TE global propeerties */
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" + "rt:control-plane-protocol/rsvp:rsvp/rsvp:globals" {
+ "rsvp:state" {
description description
"RSVP signaling all interfaces state extensions"; "RSVP-TE augmentation to RSVP globals";
uses signaling-parameters-extended_config; uses global-soft-preemption;
} }
/* RSVP refresh reduction extension */ /* Linkage to the base RSVP all links */
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/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" + "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces" {
+ "rsvp:state/rsvp:refresh-reduction" {
description description
"RSVP refresh-reduction all interfaces state extensions"; "RSVP-TE generic data augmentation pertaining to interfaces";
uses refresh-reduction-extended_config; uses rsvp-te-interface-attributes;
} }
/* RSVP hellos extension */ /* Linkage to per RSVP interface */
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/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" + "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" +
+ "rsvp:state/rsvp:rsvp-hellos" { "rsvp:interface" {
description description
"RSVP hello all interfaces state extensions"; "RSVP-TE generic data augmentation pertaining to specific
uses rsvp-hellos-extended_config; interface";
uses rsvp-te-interface-attributes;
} }
/* RSVP authentication extension */ /* add augmentation for sessions neighbors */
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/" + "rt:control-plane-protocol/rsvp:rsvp/rsvp:sessions" {
+ "rsvp:config/rsvp:authentication" {
description description
"RSVP authentication all interfaces configuration extensions"; "RSVP-TE generic data augmentation pertaining to session";
uses authentication-extended_config; /* To be added */
} }
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:interfaces/"
+ "rsvp:state/rsvp:authentication" {
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rsvp:rsvp/rsvp:neighbors" {
description description
"RSVP authentication all interfaces state extensions"; "RSVP-TE generic data augmentation pertaining to neighbors";
uses authentication-extended_config; /* To be added */
} }
/** /**
* RSVP interface extensions * RSVP-TE generic augmentations of generic TE model.
*/ */
/* RSVP interface signaling extensions */ /* TE tunnel augmentation */
augment "/rt:routing/rt:control-plane-protocols/" augment "/te:te/te:tunnels/te:tunnel" {
+ "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 description
"RSVP signaling interface state extensions"; "RSVP-TE generic data augmentation pertaining to TE tunnels";
uses signaling-parameters-extended_config; uses tunnel-properties;
} }
/* RSVP refresh reduction extension */ /* TE LSP augmentation */
augment "/rt:routing/rt:control-plane-protocols/" augment "/te:te/te:lsps-state/te:lsp" {
+ "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 description
"RSVP refresh-reduction interface state extensions"; "RSVP-TE generic data augmentation pertaining to specific TE
uses refresh-reduction-extended_config; LSP";
uses lsp-properties_config;
uses lsp-explicit-route-information_state;
uses lsp-record-route-information_state;
} }
/* RSVP hellos extension */ /* TE interface augmentation */
augment "/rt:routing/rt:control-plane-protocols/" augment "/te:te/te-dev:interfaces/te-dev:interface" {
+ "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 description
"RSVP hello interface state extensions"; "RSVP-TE generic data augmentation pertaining to specific TE
uses rsvp-hellos-extended_config; interface";
} }
/* 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> <CODE ENDS>
3.4. RSVP-TE MPLS Model 3.4. RSVP-TE MPLS Model
This section describes the MPLS RSVP-TE YANG module that augments the This section describes the MPLS RSVP-TE YANG module that augments the
RSVP-TE generic module to signal MPLS LSPs. RSVP-TE YANG modules for RSVP-TE generic module to signal MPLS LSPs. RSVP-TE YANG modules for
other dataplane technologies (e.g. OTN or WDM) will be defined in other dataplane technologies (e.g. OTN or WDM) will be defined in
separate modules and in other drafts. separate modules and in other drafts.
skipping to change at page 79, line 30 skipping to change at page 76, line 27
[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-24 (work in Management", draft-ietf-netmod-routing-cfg-24 (work in
progress), October 2016. progress), October 2016.
[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.,
Bryskin, I., Chen, X., Jones, R., and B. Wen, "A YANG Data Bryskin, I., Chen, X., Jones, R., and B. Wen, "A YANG Data
Model for Traffic Engineering Tunnels and Interfaces", Model for Traffic Engineering Tunnels and Interfaces",
draft-ietf-teas-yang-te-04 (work in progress), July 2016. draft-ietf-teas-yang-te-05 (work in progress), October
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. 77 change blocks. 
426 lines changed or deleted 273 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/