--- 1/draft-ietf-teas-yang-rsvp-02.txt 2016-03-21 12:23:49.790490181 -0700
+++ 2/draft-ietf-teas-yang-rsvp-03.txt 2016-03-21 12:23:50.310503253 -0700
@@ -10,21 +10,21 @@
Ciena
X. Chen
Huawei Technologies
R. Jones
Brocade
B. Wen
Comcast
March 20, 2016
A YANG Data Model for Resource Reservation Protocol (RSVP)
- draft-ietf-teas-yang-rsvp-02
+ draft-ietf-teas-yang-rsvp-03
Abstract
This document defines a YANG data model for the configuration and
management of RSVP Protocol. The model defines generic RSVP protocol
building blocks that can be augmented and used by other RSVP
extension models such as RVSP extensions to Traffic-Engineering
(RSVP-TE). The model covers the RSVP protocol configuration,
operational state, remote procedural calls, and event notifications
data.
@@ -81,31 +81,31 @@
3.1.1. Configuration and State Data . . . . . . . . . . . . 10
3.1.2. RPC and Notification Data . . . . . . . . . . . . . . 15
3.1.3. YANG Module . . . . . . . . . . . . . . . . . . . . . 15
3.2. RSVP Extended YANG Model . . . . . . . . . . . . . . . . 32
3.2.1. Configuration and State Data . . . . . . . . . . . . 32
3.2.2. YANG Module . . . . . . . . . . . . . . . . . . . . . 35
3.3. RSVP-TE Generic YANG Model . . . . . . . . . . . . . . . 46
3.3.1. Configuration and State Data . . . . . . . . . . . . 46
3.3.2. RPC and Notification Data . . . . . . . . . . . . . . 49
3.3.3. YANG Module . . . . . . . . . . . . . . . . . . . . . 49
- 3.4. RSVP-TE MPLS Model . . . . . . . . . . . . . . . . . . . 57
- 3.4.1. Configuration and State Data . . . . . . . . . . . . 57
- 3.4.2. RPC and Notification Data . . . . . . . . . . . . . . 61
- 3.4.3. YANG Module . . . . . . . . . . . . . . . . . . . . . 61
- 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 74
- 5. Security Considerations . . . . . . . . . . . . . . . . . . . 74
- 6. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 74
- 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 75
- 7.1. Normative References . . . . . . . . . . . . . . . . . . 75
- 7.2. Informative References . . . . . . . . . . . . . . . . . 76
- Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 76
+ 3.4. RSVP-TE MPLS Model . . . . . . . . . . . . . . . . . . . 58
+ 3.4.1. Configuration and State Data . . . . . . . . . . . . 58
+ 3.4.2. RPC and Notification Data . . . . . . . . . . . . . . 62
+ 3.4.3. YANG Module . . . . . . . . . . . . . . . . . . . . . 62
+ 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 75
+ 5. Security Considerations . . . . . . . . . . . . . . . . . . . 75
+ 6. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 75
+ 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 76
+ 7.1. Normative References . . . . . . . . . . . . . . . . . . 76
+ 7.2. Informative References . . . . . . . . . . . . . . . . . 77
+ Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 77
1. Introduction
YANG [RFC6020] is a data definition language that was introduced to
define the contents of a conceptual data store that allows networked
devices to be managed using NETCONF [RFC6241]. YANG is proving
relevant beyond its initial confines, as bindings to other interfaces
(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
implementation for other interface, such as CLI and programmatic
@@ -2288,111 +2288,149 @@
module ietf-rsvp-te {
namespace "urn:ietf:params:xml:ns:yang:ietf-rsvp-te";
prefix "rsvp-te";
import ietf-rsvp {
prefix rsvp;
}
+ import ietf-routing {
+ prefix "rt";
+ }
+
import ietf-te {
- prefix ietf-te;
+ prefix te;
}
- import ietf-inet-types {
- prefix inet;
+ import ietf-te-device {
+ prefix te-dev;
}
/* Import TE generic types */
import ietf-te-types {
- prefix ietf-te-types;
+ prefix te-types;
}
organization
- "IETF TEAS Working Group";
+ "IETF Traffic Engineering Architecture and Signaling (TEAS)
+ Working Group";
- contact "TBA";
+ contact
+ "WG Web:
+ WG List:
+
+ WG Chair: Lou Berger
+
+
+ WG Chair: Vishnu Pavan Beeram
+
+
+ Editor: Vishnu Pavan Beeram
+
+
+ Editor: Tarek Saad
+
+
+ Editor: Rakesh Gandhi
+
+
+ Editor: Himanshu Shah
+
+
+ Editor: Xufeng Liu
+
+
+ Editor: Xia Chen
+
+
+ Editor: Raqib Jones
+
+
+ Editor: Bin Wen
+ ";
description
- "This module contains the RSVP YANG generic data model.";
+ "This module contains the RSVP-TE YANG generic data model.";
revision 2016-03-20 {
description "Latest revision to RSVP-TE generic YANG module";
- reference "RFC3209";
+ reference "RFC2205, RFC3209, etc.";
}
/**
* RSVP-TE LSPs groupings.
*/
grouping lsp-record-route-information_state {
description "recorded route information grouping";
container record-route-object {
description "RSVP recorded route object information";
list path-record-route-subobjects {
when "../origin-type != 'ingress'" {
description "Applicable on non-ingress LSPs only";
}
key "subobject-index";
description "";
leaf subobject-index {
type uint32;
description "RRO subobject index";
}
- uses ietf-te-types:record-route-subobject;
+ uses te-types:record-route-subobject;
}
list resv-record-route-subobjects {
when "../origin-type != 'egress'" {
description "Applicable on non-egress LSPs only";
}
key "subobject-index";
description "";
leaf subobject-index {
type uint32;
description "RRO subobject index";
}
- uses ietf-te-types:record-route-subobject;
+ uses te-types:record-route-subobject;
}
}
}
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 "../origin-type != 'ingress'" {
description "Applicable on non-ingress LSPs only";
}
key "subobject-index";
description "";
leaf subobject-index {
type uint32;
description "ERO subobject index";
}
- uses ietf-te-types:explicit-route-subobject;
+ uses te-types:explicit-route-subobject;
}
list outgoing-explicit-route-subobjects {
when "../origin-type != 'egress'" {
description "Applicable on non-egress LSPs only";
}
key "subobject-index";
description "";
leaf subobject-index {
type uint32;
description "ERO subobject index";
}
- uses ietf-te-types:explicit-route-subobject;
+ uses te-types:explicit-route-subobject;
}
}
}
+
grouping lsp-attributes-flags_config {
description
"Configuration parameters relating to RSVP-TE LSP
attribute flags";
leaf lsp-rerouting {
type enumeration {
enum end-to-end-routing {
description
"End-to-end routing desired";
reference "RFC4920, RFC5420";
@@ -2404,44 +2443,43 @@
}
enum segment-based-rerouting {
description
"Segment-based rerouting desired";
reference "RFC4920, RFC5420";
}
}
description "LSP rerouting types";
}
leaf lsp-integrety-required {
- type empty;
+ type boolean;
description "LSP integrity desired";
reference "RFC4875";
}
leaf lsp-contiguous {
- type empty;
+ type boolean;
description "Contiguous LSP";
reference "RFC5151";
}
leaf lsp-stitching-desired {
- type empty;
+ type boolean;
description "Stitched LSP";
reference "RFC5150";
}
leaf lsp-preplanned {
- type empty;
+ type boolean;
description "Preplanned LSP";
reference "RFC6001";
}
leaf lsp-oob-mapping {
- type empty;
+ type boolean;
description
"Mapping is done out-of-band";
-
reference "RFC6511";
}
}
grouping lsp-session-attributes-obj-flags_config {
description
"Configuration parameters relating to RSVP-TE LSP
session attribute flags";
reference
"RFC4859: Registry for RSVP-TE Session Flags";
@@ -2438,51 +2476,47 @@
reference "RFC6511";
}
}
grouping lsp-session-attributes-obj-flags_config {
description
"Configuration parameters relating to RSVP-TE LSP
session attribute flags";
reference
"RFC4859: Registry for RSVP-TE Session Flags";
+
leaf local-recording-desired {
- type empty;
+ type boolean;
description "Path recording is desired.";
reference "RFC3209";
}
leaf se-style-desired {
- type empty;
+ type boolean;
description "SE Style desired";
reference "RFC3209";
}
leaf path-reevaluation-request {
- type empty;
+ type boolean;
description "Path re-evaluation request";
reference "RFC4736";
}
leaf soft-preemption-desired {
- type empty;
+ type boolean;
description "Soft-preemption is desired";
reference "RFC5712";
}
}
grouping lsp-properties_config {
description
"Configuration parameters relating to RSVP-TE LSP
session attribute flags";
- leaf lsp-source {
- type inet:ip-address;
- description
- "LSP source address.";
- }
leaf lsp-signaled-name {
type string;
description
"Sets the session name to use in the session
attribute object.";
}
leaf lsp-priority-setup {
type uint8 {
range "0..7";
}
@@ -2579,78 +2614,86 @@
config false;
description
"State information associated with RSVP-TE
bandwidth";
}
}
}
/*** End of RSVP-TE generic groupings ***/
/* RSVP-TE global propeerties */
- augment "/rsvp:rsvp/rsvp:globals" {
+ augment "/rt:routing/rt:routing-protocols/"
+ + "rt:routing-protocol/rsvp:rsvp/rsvp:globals" {
description
"RSVP-TE augmentation to RSVP globals";
}
/* 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
"RSVP-TE generic data augmentation pertaining to interfaces";
/* To be added */
}
/* 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
"RSVP-TE generic data augmentation pertaining to specific
interface";
/* To be added */
}
/* add augmentation for sessions neighbors */
- augment "/rsvp:rsvp/rsvp:sessions" {
+ augment "/rt:routing/rt:routing-protocols/"
+ + "rt:routing-protocol/rsvp:rsvp/rsvp:sessions" {
description
"RSVP-TE generic data augmentation pertaining to session";
/* To be added */
}
- augment "/rsvp:rsvp/rsvp:neighbors" {
+ augment "/rt:routing/rt:routing-protocols/"
+ + "rt:routing-protocol/rsvp:rsvp/rsvp:neighbors" {
description
"RSVP-TE generic data augmentation pertaining to neighbors";
/* To be added */
}
/**
* 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
"RSVP-TE generic data augmentation pertaining to TE tunnels";
-
uses tunnel-properties;
}
- augment "/ietf-te:te/ietf-te:interfaces/ietf-te:interface" {
- description
- "RSVP-TE generic data augmentation pertaining to specific TE
- interface";
- }
-
- augment "/ietf-te:te/ietf-te:lsps-state/ietf-te:lsp" {
+ /* TE LSP augmentation */
+ augment "/te:te/te:lsps-state/te:lsp" {
description
"RSVP-TE generic data augmentation pertaining to specific TE
LSP";
uses lsp-properties_config;
uses lsp-explicit-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";
+ }
+
}
3.4. RSVP-TE MPLS Model
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
other dataplane technologies (e.g. OTN or WDM) will be defined in
separate modules and in other drafts.