Bump odlparent/yangtools/mdsal/controller
[bgpcep.git] / pcep / ietf-stateful / src / main / yang / odl-pcep-sync-optimizations.yang
1 module odl-pcep-sync-optimizations {
2     yang-version 1;
3     namespace "urn:opendaylight:params:xml:ns:yang:controller:pcep:sync:optimizations";
4     prefix "sync-optimizations";
5
6     import pcep-types { prefix pcep; revision-date 2018-11-09; }
7     import pcep-message { prefix msg; revision-date 2018-11-09; }
8     import network-topology { prefix nt; revision-date 2013-10-21; }
9     import network-topology-pcep { prefix topo; revision-date 2020-01-20; }
10     import odl-pcep-ietf-stateful { prefix stateful; revision-date 2018-11-09; }
11
12     organization "Pantheon Technologies";
13     contact "Iveta Halanova <iveta.halanova@pantheon.sk>";
14
15     description
16         "This module contains the data model of PCEP extensions defined
17         in draft-ietf-pce-stateful-sync-optimizations-02.
18
19         Copyright (c)2015 Cisco Systems, Inc. All rights reserved.
20
21         This program and the accompanying materials are made available
22         under the terms of the Eclipse Public License v1.0 which
23         accompanies this distribution, and is available at
24         http://www.eclipse.org/legal/epl-v10.html";
25
26     revision "2018-11-09" {
27         description
28             "P2MP extension.";
29         reference "RFC8306";
30     }
31
32     revision 2017-10-25 {
33         description "Update network-topology-pcep revision";
34     }
35
36     revision "2015-07-14" {
37         description
38             "Initial revision.";
39         reference "https://tools.ietf.org/html/draft-ietf-pce-stateful-sync-optimizations-02";
40     }
41
42     grouping sync-optimizations-capability-tlv {
43         reference "http://tools.ietf.org/html/draft-ietf-pce-pce-initiated-lsp-00#section-4.1";
44         leaf triggered-initial-sync {
45             type boolean;
46             default false;
47         }
48         leaf delta-lsp-sync-capability {
49             type boolean;
50             default false;
51         }
52         leaf triggered-resync {
53             type boolean;
54             default false;
55         }
56         leaf include-db-version {
57             type boolean;
58             default false;
59         }
60     }
61
62     grouping lsp-db-version-tlv {
63         container lsp-db-version {
64             uses pcep:tlv;
65             leaf lsp-db-version-value {
66                 type uint64;
67             }
68         }
69     }
70
71     grouping speaker-entity-id {
72         leaf speaker-entity-id-value {
73             type binary;
74         }
75     }
76
77     grouping speaker-entity-id-tlv {
78         container speaker-entity-id {
79             uses pcep:tlv;
80             uses speaker-entity-id;
81         }
82     }
83
84     augment "/msg:open/msg:open-message/msg:open/msg:tlvs/stateful:stateful" {
85         uses sync-optimizations-capability-tlv;
86     }
87
88     augment "/nt:network-topology/nt:topology/nt:node/topo:path-computation-client/topo:stateful-tlv/stateful:stateful" {
89         uses sync-optimizations-capability-tlv;
90     }
91
92     augment "/msg:open/msg:open-message/msg:open/msg:tlvs" {
93         uses lsp-db-version-tlv;
94         uses speaker-entity-id-tlv;
95     }
96
97     augment "/stateful:pcupd/stateful:pcupd-message/stateful:updates/stateful:lsp/stateful:tlvs" {
98         uses lsp-db-version-tlv;
99     }
100
101     augment "/stateful:pcrpt/stateful:pcrpt-message/stateful:reports/stateful:lsp/stateful:tlvs" {
102         uses lsp-db-version-tlv;
103     }
104
105     augment "/nt:network-topology/nt:topology/nt:node/topo:path-computation-client/topo:reported-lsp/topo:path/stateful:lsp/stateful:tlvs" {
106         uses lsp-db-version-tlv;
107     }
108
109     augment "/topo:add-lsp/topo:input/topo:arguments/stateful:lsp/stateful:tlvs" {
110         uses lsp-db-version-tlv;
111     }
112
113     augment "/topo:update-lsp/topo:input/topo:arguments/stateful:lsp/stateful:tlvs" {
114         uses lsp-db-version-tlv;
115     }
116
117     augment "/msg:pcerr/msg:pcerr-message/msg:error-type/msg:session-case/msg:session/msg:open/msg:tlvs" {
118         uses lsp-db-version-tlv;
119         uses speaker-entity-id-tlv;
120     }
121
122     augment "/nt:network-topology/nt:topology/nt:node/topo:path-computation-client" {
123         uses lsp-db-version-tlv;
124     }
125 }