draft-ietf-teas-yang-rsvp-02.txt   draft-ietf-teas-yang-rsvp-03.txt 
skipping to change at page 1, line 21 skipping to change at page 1, line 21
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 March 20, 2016
A YANG Data Model for Resource Reservation Protocol (RSVP) A YANG Data Model for Resource Reservation Protocol (RSVP)
draft-ietf-teas-yang-rsvp-02 draft-ietf-teas-yang-rsvp-03
Abstract Abstract
This document defines a YANG data model for the configuration and This document defines a YANG data model for the configuration and
management of RSVP 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 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 . . . . . . . . . . . . 46 3.3.1. Configuration and State Data . . . . . . . . . . . . 46
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 . . . . . . . . . . . . . . . . . . . . . 49
3.4. RSVP-TE MPLS Model . . . . . . . . . . . . . . . . . . . 57 3.4. RSVP-TE MPLS Model . . . . . . . . . . . . . . . . . . . 58
3.4.1. Configuration and State Data . . . . . . . . . . . . 57 3.4.1. Configuration and State Data . . . . . . . . . . . . 58
3.4.2. RPC and Notification Data . . . . . . . . . . . . . . 61 3.4.2. RPC and Notification Data . . . . . . . . . . . . . . 62
3.4.3. YANG Module . . . . . . . . . . . . . . . . . . . . . 61 3.4.3. YANG Module . . . . . . . . . . . . . . . . . . . . . 62
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 74 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 75
5. Security Considerations . . . . . . . . . . . . . . . . . . . 74 5. Security Considerations . . . . . . . . . . . . . . . . . . . 75
6. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 74 6. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 75
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 75 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 76
7.1. Normative References . . . . . . . . . . . . . . . . . . 75 7.1. Normative References . . . . . . . . . . . . . . . . . . 76
7.2. Informative References . . . . . . . . . . . . . . . . . 76 7.2. Informative References . . . . . . . . . . . . . . . . . 77
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 76 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 77
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 50, line 8 skipping to change at page 50, line 8
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 {
prefix "rt";
}
import ietf-te { import ietf-te {
prefix ietf-te; prefix te;
} }
import ietf-inet-types { import ietf-te-device {
prefix inet; prefix te-dev;
} }
/* Import TE generic types */ /* Import TE generic types */
import ietf-te-types { import ietf-te-types {
prefix ietf-te-types; prefix te-types;
} }
organization organization
"IETF TEAS Working Group"; "IETF Traffic Engineering Architecture and Signaling (TEAS)
Working Group";
contact "TBA"; contact
"WG Web: <http://tools.ietf.org/wg/teas/>
WG List: <mailto:teas@ietf.org>
WG Chair: Lou Berger
<mailto:lberger@labn.net>
WG Chair: Vishnu Pavan Beeram
<mailto:vbeeram@juniper.net>
Editor: Vishnu Pavan Beeram
<mailto:vbeeram@juniper.net>
Editor: Tarek Saad
<mailto:tsaad@cisco.com>
Editor: Rakesh Gandhi
<mailto:rgandhi@cisco.com>
Editor: Himanshu Shah
<mailto:hshah@ciena.com>
Editor: Xufeng Liu
<mailto:xufeng.liu@ericsson.com>
Editor: Xia Chen
<mailto:jescia.chenxia@huawei.com>
Editor: Raqib Jones
<mailto:raqib@Brocade.com>
Editor: Bin Wen
<mailto:Bin_Wen@cable.comcast.com>";
description description
"This module contains the RSVP YANG generic data model."; "This module contains the RSVP-TE YANG generic data model.";
revision 2016-03-20 { revision 2016-03-20 {
description "Latest revision to RSVP-TE generic YANG module"; description "Latest revision to RSVP-TE generic YANG module";
reference "RFC3209"; 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 ietf-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 ietf-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 ietf-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 ietf-te-types:explicit-route-subobject; uses te-types:explicit-route-subobject;
} }
} }
} }
grouping lsp-attributes-flags_config { grouping lsp-attributes-flags_config {
description description
"Configuration parameters relating to RSVP-TE LSP "Configuration parameters relating to RSVP-TE LSP
attribute flags"; attribute flags";
leaf lsp-rerouting { leaf lsp-rerouting {
type enumeration { type enumeration {
enum end-to-end-routing { enum end-to-end-routing {
description description
"End-to-end routing desired"; "End-to-end routing desired";
reference "RFC4920, RFC5420"; reference "RFC4920, RFC5420";
skipping to change at page 52, line 29 skipping to change at page 53, line 20
} }
enum segment-based-rerouting { enum segment-based-rerouting {
description description
"Segment-based rerouting desired"; "Segment-based rerouting desired";
reference "RFC4920, RFC5420"; reference "RFC4920, RFC5420";
} }
} }
description "LSP rerouting types"; description "LSP rerouting types";
} }
leaf lsp-integrety-required { leaf lsp-integrety-required {
type empty; type boolean;
description "LSP integrity desired"; description "LSP integrity desired";
reference "RFC4875"; reference "RFC4875";
} }
leaf lsp-contiguous { leaf lsp-contiguous {
type empty; type boolean;
description "Contiguous LSP"; description "Contiguous LSP";
reference "RFC5151"; reference "RFC5151";
} }
leaf lsp-stitching-desired { leaf lsp-stitching-desired {
type empty; type boolean;
description "Stitched LSP"; description "Stitched LSP";
reference "RFC5150"; reference "RFC5150";
} }
leaf lsp-preplanned { leaf lsp-preplanned {
type empty; type boolean;
description "Preplanned LSP"; description "Preplanned LSP";
reference "RFC6001"; reference "RFC6001";
} }
leaf lsp-oob-mapping { leaf lsp-oob-mapping {
type empty; type boolean;
description description
"Mapping is done out-of-band"; "Mapping is done out-of-band";
reference "RFC6511"; reference "RFC6511";
} }
} }
grouping lsp-session-attributes-obj-flags_config { grouping lsp-session-attributes-obj-flags_config {
description description
"Configuration parameters relating to RSVP-TE LSP "Configuration parameters relating to RSVP-TE LSP
session attribute flags"; session attribute flags";
reference reference
"RFC4859: Registry for RSVP-TE Session Flags"; "RFC4859: Registry for RSVP-TE Session Flags";
skipping to change at page 53, line 15 skipping to change at page 54, line 4
reference "RFC6511"; reference "RFC6511";
} }
} }
grouping lsp-session-attributes-obj-flags_config { grouping lsp-session-attributes-obj-flags_config {
description description
"Configuration parameters relating to RSVP-TE LSP "Configuration parameters relating to RSVP-TE LSP
session attribute flags"; session attribute flags";
reference reference
"RFC4859: Registry for RSVP-TE Session Flags"; "RFC4859: Registry for RSVP-TE Session Flags";
leaf local-recording-desired { leaf local-recording-desired {
type empty; type boolean;
description "Path recording is desired."; description "Path recording is desired.";
reference "RFC3209"; reference "RFC3209";
} }
leaf se-style-desired { leaf se-style-desired {
type empty; type boolean;
description "SE Style desired"; description "SE Style desired";
reference "RFC3209"; reference "RFC3209";
} }
leaf path-reevaluation-request { leaf path-reevaluation-request {
type empty; type boolean;
description "Path re-evaluation request"; description "Path re-evaluation request";
reference "RFC4736"; reference "RFC4736";
} }
leaf soft-preemption-desired { leaf soft-preemption-desired {
type empty; type boolean;
description "Soft-preemption is desired"; description "Soft-preemption is desired";
reference "RFC5712"; reference "RFC5712";
} }
} }
grouping lsp-properties_config { grouping lsp-properties_config {
description description
"Configuration parameters relating to RSVP-TE LSP "Configuration parameters relating to RSVP-TE LSP
session attribute flags"; session attribute flags";
leaf lsp-source {
type inet:ip-address;
description
"LSP source address.";
}
leaf lsp-signaled-name { leaf lsp-signaled-name {
type string; type string;
description description
"Sets the session name to use in the session "Sets the session name to use in the session
attribute object."; attribute object.";
} }
leaf lsp-priority-setup { leaf lsp-priority-setup {
type uint8 { type uint8 {
range "0..7"; range "0..7";
} }
skipping to change at page 56, line 11 skipping to change at page 56, line 44
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 "/rsvp:rsvp/rsvp:globals" { augment "/rt:routing/rt:routing-protocols/"
+ "rt:routing-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 "/rsvp:rsvp/rsvp:interfaces" { augment "/rt:routing/rt:routing-protocols/"
+ "rt:routing-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 "/rsvp:rsvp/rsvp:interfaces/rsvp:interface" { augment "/rt:routing/rt:routing-protocols/"
+ "rt:routing-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 "/rsvp:rsvp/rsvp:sessions" { augment "/rt:routing/rt:routing-protocols/"
+ "rt:routing-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 "/rsvp:rsvp/rsvp:neighbors" { augment "/rt:routing/rt:routing-protocols/"
+ "rt:routing-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.
*/ */
augment "/ietf-te:te/ietf-te:tunnels/ietf-te:tunnel" { /* TE tunnel augmentation */
augment "/te:te/te:tunnels/te:tunnel" {
description description
"RSVP-TE generic data augmentation pertaining to TE tunnels"; "RSVP-TE generic data augmentation pertaining to TE tunnels";
uses tunnel-properties; uses tunnel-properties;
} }
augment "/ietf-te:te/ietf-te:interfaces/ietf-te:interface" { /* TE LSP augmentation */
description augment "/te:te/te:lsps-state/te:lsp" {
"RSVP-TE generic data augmentation pertaining to specific TE
interface";
}
augment "/ietf-te:te/ietf-te:lsps-state/ietf-te:lsp" {
description description
"RSVP-TE generic data augmentation pertaining to specific TE "RSVP-TE generic data augmentation pertaining to specific TE
LSP"; LSP";
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;
} }
/* TE interface augmentation */
augment "/te:te/te-dev:interfaces/te-dev:interface" {
description
"RSVP-TE generic data augmentation pertaining to specific TE
interface";
}
} }
<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.
 End of changes. 36 change blocks. 
53 lines changed or deleted 94 lines changed or added

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