BUG-139: Implement PCEP state synchronization avoidance
[bgpcep.git] / pcep / ietf-stateful07 / src / main / yang / odl-pcep-ietf-stateful07-cfg.yang
1 // vi: set smarttab et sw=4 tabstop=4:
2 module odl-pcep-ietf-stateful07-cfg {
3     yang-version 1;
4     namespace "urn:opendaylight:params:xml:ns:yang:controller:pcep:stateful07:cfg";
5     prefix "pcep-stateful07";
6
7     import config { prefix config; revision-date 2013-04-05; }
8     import odl-pcep-api-cfg { prefix pcep; revision-date 2013-04-09; }
9     import odl-pcep-spi-cfg { prefix spi; revision-date 2013-11-15; }
10
11     organization "Cisco Systems, Inc.";
12
13     contact "Robert Varga <rovarga@cisco.com>";
14
15     description
16         "This module contains the base YANG definitions for
17          draft-ietf-pce-stateful-pce-07 extensions.
18
19         Copyright (c)2013 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 "2015-07-14" {
27         description
28             "Extended stateful capabilities.";
29     }
30
31     revision "2014-02-21" {
32         description
33             "Updated revision dates for imports.";
34     }
35
36     identity pcep-session-proposal-factory-stateful07 {
37         base config:module-type;
38         config:java-name-prefix "Stateful07PCEPSessionProposalFactory";
39         config:provided-service pcep:pcep-session-proposal-factory;
40     }
41
42     grouping stateful-capabilities {
43         leaf dead-timer-value {
44             type uint8;
45             default 120;
46         }
47
48         leaf keep-alive-timer-value {
49             type uint8;
50             default 30;
51         }
52
53         leaf initiated {
54             type boolean;
55             default true;
56         }
57
58         leaf stateful {
59             type boolean;
60             default true;
61         }
62
63         leaf active {
64             type boolean;
65             default true;
66         }
67
68         leaf triggered-initial-sync {
69             type boolean;
70             default false;
71         }
72
73         leaf delta-lsp-sync-capability {
74             type boolean;
75             default true;
76         }
77
78         leaf triggered-resync {
79             type boolean;
80             default true;
81         }
82
83         leaf include-db-version {
84             type boolean;
85             default true;
86         }
87     }
88
89     augment "/config:modules/config:module/config:configuration" {
90         case pcep-session-proposal-factory-stateful07 {
91             when "/config:modules/config:module/config:type = 'pcep-session-proposal-factory-stateful07'";
92             uses stateful-capabilities;
93         }
94     }
95
96     identity pcep-parser-ietf-stateful07 {
97         base config:module-type;
98         config:provided-service spi:extension;
99         config:java-name-prefix IetfStateful07PCEPParser;
100     }
101
102     augment "/config:modules/config:module/config:configuration" {
103         case pcep-parser-ietf-stateful07 {
104             when "/config:modules/config:module/config:type = 'pcep-parser-ietf-stateful07'";
105         }
106     }
107
108     identity pcep-parser-ietf-initiated00 {
109         base config:module-type;
110         config:provided-service spi:extension;
111         config:java-name-prefix IetfInitiated00PCEPParser;
112     }
113
114     augment "/config:modules/config:module/config:configuration" {
115         case pcep-parser-ietf-initiated00 {
116             when "/config:modules/config:module/config:type = 'pcep-parser-ietf-initiated00'";
117         }
118     }
119
120     identity pcep-parser-sync-optimizations {
121         base config:module-type;
122         config:provided-service spi:extension;
123         config:java-name-prefix SyncOptimizationsPCEPParser;
124     }
125
126     augment "/config:modules/config:module/config:configuration" {
127         case pcep-parser-sync-optimizations {
128             when "/config:modules/config:module/config:type = 'pcep-parser-sync-optimizations'";
129         }
130     }
131 }
132