import ieee754 { prefix ieee754; revision-date 2013-08-19; }
import ietf-inet-types { prefix inet; revision-date 2010-09-24; }
import network-concepts { prefix netc; revision-date 2013-11-25; }
- import rsvp { prefix rsvp; revision-date 2013-08-20; }
+ import rsvp { prefix rsvp; revision-date 2015-08-20; }
import iana { prefix iana; revision-date 2013-08-16; }
organization "Cisco Systems, Inc.";
type uint16;
}
- typedef path-key {
- type uint16;
- }
-
- typedef pce-id {
- type union {
- type binary {
- length 4;
- }
- type binary {
- length 16;
- }
- }
- }
-
grouping vendor-information {
description "VENDOR-INFORMATION format";
reference "http://tools.ietf.org/html/draft-ietf-pce-rfc7150bis-00#section-4";
grouping vs-tlv {
description "Vendor-specific TLV.";
container vs-tlv {
+ status obsolete;
+ description "This model is obsolete, please use vendor-information-tlvs instead";
+
uses tlv;
leaf enterprise-number {
}
}
+ grouping path-setup-type-tlv {
+ description "PATH-SETUP-TYPE TLV";
+ reference "https://tools.ietf.org/html/draft-ietf-pce-lsp-setup-type-00#section-3";
+
+ container path-setup-type {
+ uses tlv;
+ leaf pst {
+ description "PST=0: Path is setup via RSVP-TE signaling protocol(default).";
+ type uint8;
+ default 0;
+ }
+ }
+ }
+
// Objects
grouping object-header {
description "Common Object Header";
container "tlvs" {
uses order-tlv;
uses vendor-information-tlvs;
+ uses path-setup-type-tlv;
}
leaf priority {
}
}
+ grouping bandwidth {
+ // No possibility to carry TLVs
+ leaf bandwidth {
+ type netc:bandwidth;
+ }
+ }
+
grouping bandwidth-object {
description "BANDWIDTH Object";
reference "https://tools.ietf.org/html/rfc5440#section-7.7";
container bandwidth {
uses object;
+ uses bandwidth;
+ }
+ }
- // No possibility to carry TLVs
- leaf bandwidth {
- type netc:bandwidth;
- }
+ grouping reoptimization-bandwidth-object {
+ description "BANDWIDTH Object";
+ reference "https://tools.ietf.org/html/rfc5440#section-7.7";
+ container bandwidth {
+ uses object;
+ uses bandwidth;
}
}
mandatory true;
}
- uses rsvp:explicit-route-subobjects {
- augment "subobject-type" {
- case path-key-case {
- container path-key {
- uses path-key-subobject;
- }
- }
- }
- }
-
+ uses rsvp:explicit-route-subobjects;
ordered-by user;
}
}
uses object;
list subobject {
+ leaf loose {
+ type boolean;
+ mandatory true;
+ }
+
uses rsvp:explicit-route-subobjects;
ordered-by user;
}
uses object;
list subobject {
- uses rsvp:record-route-subobjects {
- augment "subobject-type" {
- case path-key-case {
- container path-key {
- uses path-key-subobject;
- }
- }
- }
- }
+ uses rsvp:record-route-subobjects;
ordered-by user;
}
}
}
}
- grouping path-key-subobject {
- reference "https://tools.ietf.org/html/rfc5520#section-3.1";
- uses rsvp:c-subobject;
- leaf pce-id {
- type pce-id;
- mandatory true;
- }
-
- leaf path-key {
- type path-key;
- mandatory true;
- }
- }
grouping path-key-object {
description "PATH-KEY Object";
default false;
}
- uses path-key-subobject;
+ uses rsvp:path-key-subobject;
ordered-by user;
}
}
container reported-route {
uses reported-route-object;
- uses bandwidth-object;
+ uses reoptimization-bandwidth-object;
}
uses vendor-information-objects;
uses close-object;
}
}
+
+ grouping start-tls-message {
+ uses message;
+
+ container start-tls-message {
+ description "StartTLS Message";
+ reference "https://tools.ietf.org/html/draft-ietf-pce-pceps-02#section-3.3";
+
+ uses message-header;
+ }
+ }
}