1 module odl-pcep-ietf-stateful07 {
3 namespace "urn:opendaylight:params:xml:ns:yang:pcep:ietf:stateful";
6 import ietf-inet-types { prefix inet; revision-date 2013-07-15; }
7 import network-topology { prefix nt; revision-date 2013-10-21; }
8 import network-topology-pcep { prefix topo; revision-date 2018-11-09; }
9 import pcep-types { prefix pcep; revision-date 2018-11-09; }
10 import pcep-message { prefix msg; revision-date 2018-11-09; }
11 import rsvp { prefix rsvp; revision-date 2015-08-20; }
12 import topology-tunnel { prefix tt; revision-date 2013-08-19; }
13 import topology-tunnel-pcep { prefix tun; revision-date 2018-11-09; }
14 import topology-tunnel-pcep-programming { prefix ttpp; revision-date 2018-11-09; }
15 import yang-ext { prefix ext; revision-date 2013-07-09; }
16 import network-concepts { prefix netc; revision-date 2013-11-25; }
18 organization "Cisco Systems, Inc.";
19 contact "Robert Varga <rovarga@cisco.com>";
22 "This module contains the data model of PCEP extensions defined
23 in draft-ietf-pce-stateful-pce.
25 Copyright (c)2013 Cisco Systems, Inc. All rights reserved.
27 This program and the accompanying materials are made available
28 under the terms of the Eclipse Public License v1.0 which
29 accompanies this distribution, and is available at
30 http://www.eclipse.org/legal/epl-v10.html";
32 revision "2018-11-09" {
39 description "Update network-topology-pcep revision";
42 revision "2013-12-22" {
45 reference "https://tools.ietf.org/html/draft-ietf-pce-stateful-pce-07";
48 typedef operational-status {
74 typedef srp-id-number {
80 typedef symbolic-path-name {
86 grouping path-binding-tlv {
87 reference "https://tools.ietf.org/html/draft-sivabalan-pce-binding-label-sid-01#section-3";
88 container path-binding {
90 choice binding-type-value {
96 case mpls-label-entry {
105 leaf bottom-of-stack {
116 grouping lsp-identifiers-tlv {
117 description "LSP Identifiers TLV";
118 reference "https://tools.ietf.org/html/draft-ietf-pce-stateful-pce-07#section-7.3.1";
119 container lsp-identifiers {
129 choice address-family {
132 leaf ipv4-tunnel-sender-address {
133 type inet:ipv4-address-no-zone;
136 leaf ipv4-extended-tunnel-id {
137 type rsvp:ipv4-extended-tunnel-id;
140 leaf ipv4-tunnel-endpoint-address {
141 type inet:ipv4-address-no-zone;
148 leaf ipv6-tunnel-sender-address {
149 type inet:ipv6-address-no-zone;
152 leaf ipv6-extended-tunnel-id {
153 type rsvp:ipv6-extended-tunnel-id;
156 leaf ipv6-tunnel-endpoint-address {
157 type inet:ipv6-address-no-zone;
166 grouping lsp-error-code-tlv {
167 description "LSP Error Code TLV";
168 reference "https://tools.ietf.org/html/draft-ietf-pce-stateful-pce-07#section-7.3.3";
169 container lsp-error-code {
177 grouping rsvp-error-spec-tlv {
178 description "RSVP Error Spec TLV";
179 reference "https://tools.ietf.org/html/draft-ietf-pce-stateful-pce-07#section-7.3.4";
180 container rsvp-error-spec {
184 container rsvp-error {
185 uses rsvp:error-spec;
189 container user-error {
190 uses rsvp:user-error-spec;
197 grouping stateful-capability-tlv {
198 description "Stateful PCE Capability TLV";
199 reference "https://tools.ietf.org/html/draft-ietf-pce-stateful-pce-07#section-7.1.1";
204 leaf lsp-update-capability {
211 grouping symbolic-path-name-tlv {
212 description "Symbolic Path Name TLV";
213 reference "https://tools.ietf.org/html/draft-ietf-pce-stateful-pce-07#section-7.3.2";
214 container symbolic-path-name {
217 type symbolic-path-name;
222 grouping lsp-object {
223 description "LSP Object";
224 reference "https://tools.ietf.org/html/draft-ietf-pce-stateful-pce-07#section-7.3";
229 uses lsp-error-code-tlv;
231 uses lsp-identifiers-tlv;
233 uses rsvp-error-spec-tlv;
235 uses symbolic-path-name-tlv;
239 uses pcep:vendor-information-tlvs;
241 uses path-binding-tlv;
263 leaf administrative {
269 type operational-status;
274 grouping srp-object {
275 description "SRP Object";
276 reference "https://tools.ietf.org/html/draft-ietf-pce-stateful-pce-07#section-7.2";
282 uses symbolic-path-name-tlv;
284 uses pcep:vendor-information-tlvs;
286 uses pcep:path-setup-type-tlv;
296 grouping pcupd-message {
299 container pcupd-message {
300 description "State Update Request Message";
301 reference "https://tools.ietf.org/html/draft-ietf-pce-stateful-pce-07#section-6.2";
303 uses pcep:message-header;
311 uses pcep:path-definition;
317 grouping pcrpt-message {
320 container pcrpt-message {
321 description "State Report Message";
322 reference "https://tools.ietf.org/html/draft-ietf-pce-stateful-pce-07#section-6.1";
324 uses pcep:message-header;
332 uses pcep:path-definition;
346 augment "/msg:open/msg:open-message/msg:open/msg:tlvs" {
347 uses stateful-capability-tlv;
348 ext:augment-identifier tlvs-1;
351 augment "/msg:pcrep/msg:pcrep-message/msg:replies/msg:result/msg:failure-case/msg:lspa/msg:tlvs" {
352 uses symbolic-path-name-tlv;
353 ext:augment-identifier tlvs-4;
356 augment "/msg:pcerr/msg:pcerr-message/msg:error-type" {
357 reference "https://tools.ietf.org/html/draft-ietf-pce-stateful-pce-07#section-6.3";
367 augment "/msg:pcreq/msg:pcreq-message/msg:requests/msg:segment-computation/msg:p2p/msg:lspa/msg:tlvs" {
368 uses symbolic-path-name-tlv;
369 ext:augment-identifier tlvs-2;
372 augment "/msg:pcerr/msg:pcerr-message/msg:error-type/msg:session-case/msg:session/msg:open/msg:tlvs" {
373 uses stateful-capability-tlv;
374 ext:augment-identifier tlvs-3;
377 augment "/nt:network-topology/nt:topology/nt:node/topo:path-computation-client/topo:reported-lsp/topo:path" {
379 uses pcep:path-setup-type-tlv;
382 augment "/nt:network-topology/nt:topology/nt:node/topo:path-computation-client/topo:stateful-tlv" {
383 uses stateful-capability-tlv;
386 augment "/topo:ensure-lsp-operational/topo:input/topo:arguments" {
387 ext:augment-identifier arguments-1;
389 type operational-status;
393 augment "/topo:add-lsp/topo:input/topo:arguments" {
394 ext:augment-identifier arguments-2;
396 uses pcep:path-setup-type-tlv;
399 augment "/topo:update-lsp/topo:input/topo:arguments" {
400 ext:augment-identifier arguments-3;
402 uses pcep:path-setup-type-tlv;
405 typedef administrative-status {
410 reference "https://tools.ietf.org/html/draft-ietf-pce-stateful-pce-07#section-7.3";
413 grouping cfg-attributes {
414 leaf administrative-status {
415 type administrative-status;
419 grouping oper-attributes {
420 leaf operational-status {
421 type operational-status;
426 augment "/nt:network-topology/nt:topology/nt:link" {
427 when "../../tunnel-types/pcep-tunnel";
430 uses oper-attributes;
433 augment "/nt:network-topology/nt:topology/tt:paths" {
434 when "../../tunnel-types/pcep-tunnel";
437 uses oper-attributes;
440 augment "/ttpp:pcep-create-p2p-tunnel/ttpp:input" {
444 augment "/ttpp:pcep-update-tunnel/ttpp:input" {