Revert "Bug 5377: Support configuring cipher suites to use for SSLEngine"
[openflowjava.git] / openflow-protocol-impl / src / main / yang / openflow-switch-connection-provider-impl.yang
1 module openflow-switch-connection-provider-impl {
2         yang-version 1;
3     namespace "urn:opendaylight:params:xml:ns:yang:openflow:switch:connection:provider:impl";
4     prefix "openflow-switch-connection-provider-impl";
5
6     import config {prefix config; revision-date 2013-04-05; }
7     import openflow-switch-connection-provider {prefix openflow-switch-connection-provider; revision-date 2014-03-28; }
8     import ietf-inet-types {prefix ietf-inet; revision-date 2010-09-24; }
9     import openflow-configuration {prefix of-config; revision-date 2014-06-30; }
10     import rpc-context { prefix rpcx; revision-date 2013-06-17; }
11
12     description
13         "openflow-switch-connection-provider";
14
15     revision "2014-03-28" {
16         description
17             "Initial revision";
18     }
19
20     identity openflow-switch-connection-provider-impl {
21         base "config:module-type";
22         config:provided-service openflow-switch-connection-provider:openflow-switch-connection-provider;
23         config:java-name-prefix SwitchConnectionProvider;
24     }
25
26     identity statistics-collection-service-impl {
27         description
28             "This is the definition of statistics collection module identity.";
29         base config:module-type;
30         config:provided-service openflow-switch-connection-provider:statistics-collection-service;
31         config:java-name-prefix StatisticsCollection;
32     }
33
34     augment "/config:modules/config:module/config:configuration" {
35         case openflow-switch-connection-provider-impl {
36             when "/config:modules/config:module/config:type = 'openflow-switch-connection-provider-impl'";
37
38             leaf use-barrier {
39                 description "Enable barrier in Openflow java";
40                 type boolean;
41                 default true;
42             }
43
44             leaf port {
45                 description "local listening port";
46                 type uint16;
47                 mandatory true;
48             }
49             leaf address {
50                 description "address of local listening interface";
51                 type ietf-inet:ip-address;
52             }
53             leaf transport-protocol {
54                 description "Transport protocol used for communication.";
55                 type of-config:transport-protocol;
56                 mandatory true;
57             }
58             leaf switch-idle-timeout {
59                 description "idle timeout in [ms]";
60                 type uint32;
61                 mandatory true;
62             }
63             container tls {
64                 leaf keystore {
65                     description "keystore location";
66                     type string;
67                 }
68                 leaf keystore-type {
69                     description "keystore type (JKS or PKCS12)";
70                     type of-config:keystore-type;
71                 }
72                 leaf keystore-path-type {
73                     description "keystore path type (CLASSPATH or PATH)";
74                     type of-config:path-type;
75                 }
76                 leaf keystore-password {
77                     description "password protecting keystore";
78                     type string;
79                 }
80                 leaf certificate-password {
81                     description "password protecting certificate";
82                     type string;
83                 }
84                 leaf truststore {
85                     description "truststore location";
86                     type string;
87                 }
88                 leaf truststore-type {
89                     description "truststore type (JKS or PKCS12)";
90                     type of-config:keystore-type;
91                 }
92                 leaf truststore-path-type {
93                     description "truststore path type (CLASSPATH or PATH)";
94                     type of-config:path-type;
95                 }
96                 leaf truststore-password {
97                     description "password protecting truststore";
98                     type string;
99                 }
100             }
101             container threads {
102                 leaf boss-threads {
103                     type uint16;
104                 }
105                 leaf worker-threads {
106                     type uint16;
107                 }
108             }
109         }
110
111         case statistics-collection-service-impl {
112             when "/config:modules/config:module/config:type = 'statistics-collection-service-impl'";
113
114             container statistics {
115                 leaf statistics-collect {
116                     description "Toggle statistics collecting";
117                     type boolean;
118                 }
119                 leaf log-report-delay {
120                     description "Delay between statistics logs";
121                     type uint16;
122                 }
123             }
124             list openflow-switch-connection-provider {
125                 uses config:service-ref {
126                     refine type {
127                         mandatory true;
128                         config:required-identity openflow-switch-connection-provider:openflow-switch-connection-provider;
129                     }
130                 }
131             }
132         }
133     }
134
135     augment "/config:modules/config:module/config:state" {
136         case statistics-collection-service-impl {
137             when "/config:modules/config:module/config:type = 'statistics-collection-service-impl'";
138
139             description
140                 "MXBean designed for Message Statistic providing to JConsole.";
141
142             leaf msgStatistics {
143                 type string;
144             }
145
146             rpcx:rpc-context-instance "print-ofjava-statistics-rpc";
147             rpcx:rpc-context-instance "reset-ofjava-statistics-rpc";
148         }
149     }
150
151     identity print-ofjava-statistics-rpc;
152     identity reset-ofjava-statistics-rpc;
153
154     rpc print-ofjava-statistics {
155         description
156             "Shortcut JMX call to printOfjavaStatistics.";
157         input {
158             uses rpcx:rpc-context-ref {
159                 refine context-instance {
160                     rpcx:rpc-context-instance print-ofjava-statistics-rpc;
161                 }
162             }
163         }
164         output {
165             leaf result {
166                 type string;
167             }
168         }
169     }
170
171     rpc reset-ofjava-statistics {
172         description
173             "Shortcut JMX call to resetOfjavaStatistics.";
174         input {
175             uses rpcx:rpc-context-ref {
176                 refine context-instance {
177                     rpcx:rpc-context-instance reset-ofjava-statistics-rpc;
178                 }
179             }
180         }
181         output {
182             leaf result {
183                 type string;
184             }
185         }
186     }
187 }