7257094be2ee05de6feacdc50a8b7a9591d448bc
[bgpcep.git] / pcep / topology / topology-api / src / main / yang / network-topology-pcep-programming.yang
1 module network-topology-pcep-programming {
2     // vi: set et smarttab sw=4 tabstop=4:
3     yang-version 1;
4     namespace "urn:opendaylight:params:xml:ns:yang:topology:pcep:programming";
5     prefix "pnp";
6
7     import network-topology-programming { prefix ntp; revision-date 2013-11-02; }
8     import network-topology-pcep { prefix pcep; revision-date 2013-10-24; }
9
10     organization "Cisco Systems, Inc.";
11     contact "Robert Varga <rovarga@cisco.com>";
12
13     description
14         "This module contains the PCEP extensions to base topology model. It
15         exposes the LSPs for which a particular node is the head end.
16
17         This module exposes three programming instructions,add-lsp,
18         remove-lsp and update-lsp, which map to actively-stateful PCEP
19         operations using PCInitiate and PCUpd messages to initiate,
20         destroy and udpate LSP configuration. The lifecycle of these
21         instructions follows draft-crabbe-pce-pce-initiated-lsp and
22         draft-ietf-pce-stateful-pce, completing execution once the head-end
23         router has acknowledged operation success. Should the router become
24         disconnected, the instruction resolve to Cancelled if the message
25         has not been sent into the TCP socket, or Failed it they have.
26
27         Copyright (c)2013 Cisco Systems, Inc. All rights reserved.
28
29         This program and the accompanying materials are made available
30         under the terms of the Eclipse Public License v1.0 which
31         accompanies this distribution, and is available at
32         http://www.eclipse.org/legal/epl-v10.html";
33
34     revision "2013-11-06" {
35         description
36             "Initial revision.";
37         reference "";
38     }
39
40     rpc submit-add-lsp {
41         input {
42             uses ntp:topology-instruction-input;
43             uses pcep:add-lsp-args;
44         }
45         output {
46             uses ntp:topology-instruction-output;
47         }
48     }
49
50     rpc submit-remove-lsp {
51         input {
52             uses ntp:topology-instruction-input;
53             uses pcep:remove-lsp-args;
54         }
55         output {
56             uses ntp:topology-instruction-output;
57         }
58     }
59
60     rpc submit-update-lsp {
61         input {
62             uses ntp:topology-instruction-input;
63             uses pcep:update-lsp-args;
64         }
65         output {
66             uses ntp:topology-instruction-output;
67         }
68     }
69
70     rpc submit-ensure-lsp-operational {
71         input {
72             uses ntp:topology-instruction-input;
73             uses pcep:ensure-lsp-operational-args;
74         }
75         output {
76             uses ntp:topology-instruction-output;
77         }
78     }
79
80     rpc submit-trigger-sync {
81         input {
82             uses ntp:topology-instruction-input;
83             uses pcep:trigger-sync-args;
84         }
85         output {
86             uses ntp:topology-instruction-output;
87         }
88     }
89 }
90