1 module network-topology-pcep {
2 // vi: set et smarttab sw=4 tabstop=4:
4 namespace "urn:opendaylight:params:xml:ns:yang:topology:pcep";
7 import ietf-inet-types { prefix inet; revision-date 2010-09-24; }
8 import network-topology { prefix nt; revision-date 2013-10-21; }
9 import odl-network-topology { prefix ont; revision-date 2014-01-13; }
10 import pcep-types { prefix pcep; revision-date 2013-10-05; }
11 import pcep-ietf-stateful { prefix stateful; revision-date 2013-12-22; }
13 organization "Cisco Systems, Inc.";
14 contact "Robert Varga <rovarga@cisco.com>";
17 "This module contains the PCEP extensions to base topology model. It
18 exposes the LSPs for which a particular node is the head end.
20 This module exposes three programming instructions,add-lsp,
21 remove-lsp and update-lsp, which map to actively-stateful PCEP
22 operations using PCInitiate and PCUpd messages to initiate,
23 destroy and udpate LSP configuration. The lifecycle of these
24 instructions follows draft-crabbe-pce-pce-initiated-lsp and
25 draft-ietf-pce-stateful-pce, completing execution once the head-end
26 router has acknowledged operation success. Should the router become
27 disconnected, the instruction resolve to Cancelled if the message
28 has not been sent into the TCP socket, or Failed it they have.
30 Copyright (c)2013 Cisco Systems, Inc. All rights reserved.";
32 revision "2013-10-24" {
38 typedef pcc-sync-state {
42 "Initial state resynchronization is being performed.";
46 "State synchronization has been achieved.";
51 grouping topology-pcep-type {
52 container topology-pcep {
53 presence "indicates a PCEP-aware topology";
57 augment "/nt:network-topology/nt:topology/nt:topology-types" {
58 uses topology-pcep-type;
61 grouping pcep-client-attributes {
62 description "Data present in a node which is a PCEP client (PCC).";
64 container path-computation-client {
66 "PCC-related run-time information. This container is only
67 present when the node is connected through PCEP in a PCC
73 "IP address which the node used to connected to the PCE.
74 There are no guarantees as to reachability of the address,
75 nor its relationship to other control, management, or
76 data plane addresses.";
82 container stateful-tlv {
83 uses stateful:stateful-capability-tlv;
87 when "../stateful-tlv";
93 type stateful:symbolic-path-name;
97 uses stateful:lsp-object;
100 uses pcep:path-definition;
108 augment "/nt:network-topology/nt:topology/nt:node" {
109 when "../../nt:topology-types/topology-pcep";
111 uses pcep-client-attributes;
114 typedef failure-type {
129 type stateful:symbolic-path-name;
134 grouping operation-result {
140 grouping lsp-metadata {
144 "Container for external metadata attached to the LSP. Contents of this container
145 are not propagated onto the router itself, so it is persisted only while the LSP
150 grouping add-lsp-args {
153 container arguments {
154 leaf administrative {
159 uses pcep:endpoints-object;
161 uses pcep:path-definition;
169 uses ont:network-topology-reference;
173 uses operation-result;
177 grouping remove-lsp-args {
183 uses ont:network-topology-reference;
184 uses remove-lsp-args;
187 uses operation-result;
191 grouping update-lsp-args {
194 container arguments {
195 leaf administrative {
200 uses pcep:path-definition;
208 uses ont:network-topology-reference;
209 uses update-lsp-args;
212 uses operation-result;
216 grouping ensure-lsp-operational-args {
219 container arguments {
221 type stateful:operational-status;
227 rpc ensure-lsp-operational {
229 "Ensure that the target LSP is provisioned and has specified
230 operational status.";
233 uses ont:network-topology-reference;
234 uses ensure-lsp-operational-args;
237 uses operation-result;