Bump upstreams to Magnesium SR2
[dlux.git] / modules / loader-resources / src / main / resources / assets / yang2xml / opendaylight-meter-types.yang.xml
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <module name="opendaylight-meter-types"\r
3         xmlns="urn:ietf:params:xml:ns:yang:yin:1"\r
4         xmlns:meter="urn:opendaylight:meter:types"\r
5         xmlns:yang="urn:ietf:params:xml:ns:yang:ietf-yang-types">\r
6   <namespace uri="urn:opendaylight:meter:types"/>\r
7   <prefix value="meter"/>\r
8   <import module="ietf-yang-types">\r
9     <prefix value="yang"/>\r
10     <revision-date date="2010-09-24"/>\r
11   </import>\r
12   <revision date="2013-09-18">\r
13     <description>\r
14       <text>Initial revision of meter service</text>\r
15     </description>\r
16   </revision>\r
17   <typedef name="meter-id">\r
18     <type name="uint32"/>\r
19   </typedef>\r
20   <typedef name="band-id">\r
21     <type name="uint32"/>\r
22   </typedef>\r
23   <typedef name="meter-flags">\r
24     <type name="bits">\r
25       <bit name="meter-kbps"/>\r
26       <bit name="meter-pktps"/>\r
27       <bit name="meter-burst"/>\r
28       <bit name="meter-stats"/>\r
29     </type>\r
30   </typedef>\r
31   <identity name="meter-capability">\r
32     <description>\r
33       <text>Base identity for all the supported meter capabilities/flags</text>\r
34     </description>\r
35   </identity>\r
36   <identity name="meter-kbps">\r
37     <base name="meter-capability"/>\r
38     <description>\r
39       <text>Rate value in kb/s (kilo-bit per second)</text>\r
40     </description>\r
41   </identity>\r
42   <identity name="meter-pktps">\r
43     <base name="meter-capability"/>\r
44     <description>\r
45       <text>Rate value in packet/sec.</text>\r
46     </description>\r
47   </identity>\r
48   <identity name="meter-burst">\r
49     <base name="meter-capability"/>\r
50     <description>\r
51       <text>Do burst size.</text>\r
52     </description>\r
53   </identity>\r
54   <identity name="meter-stats">\r
55     <base name="meter-capability"/>\r
56     <description>\r
57       <text>Collect statistics.</text>\r
58     </description>\r
59   </identity>\r
60   <typedef name="meter-band-type">\r
61     <type name="bits">\r
62       <bit name="ofpmbt-drop"/>\r
63       <bit name="ofpmbt-dscp-remark"/>\r
64       <bit name="ofpmbt-experimenter"/>\r
65     </type>\r
66   </typedef>\r
67   <identity name="meter-band">\r
68     <description>\r
69       <text>Base identity for all the band type available</text>\r
70     </description>\r
71   </identity>\r
72   <identity name="meter-band-drop">\r
73     <base name="meter-band"/>\r
74     <description>\r
75       <text>Drop packet</text>\r
76     </description>\r
77   </identity>\r
78   <identity name="meter-band-dscp-remark">\r
79     <base name="meter-band"/>\r
80     <description>\r
81       <text>Remark DSCP in the IP header</text>\r
82     </description>\r
83   </identity>\r
84   <identity name="meter-band-experimenter">\r
85     <base name="meter-band"/>\r
86     <description>\r
87       <text>Experimenter meter band</text>\r
88     </description>\r
89   </identity>\r
90   <grouping name="band-type">\r
91     <choice name="band-type">\r
92       <case name="drop">\r
93         <leaf name="drop-rate">\r
94           <description>\r
95             <text>Rate for dropping packets</text>\r
96           </description>\r
97           <type name="uint32"/>\r
98         </leaf>\r
99         <leaf name="drop-burst-size">\r
100           <description>\r
101             <text>Size of bursts</text>\r
102           </description>\r
103           <type name="uint32"/>\r
104         </leaf>\r
105       </case>\r
106       <case name="dscp-remark">\r
107         <leaf name="dscp-remark-rate">\r
108           <description>\r
109             <text>Rate for remarking packets</text>\r
110           </description>\r
111           <type name="uint32"/>\r
112         </leaf>\r
113         <leaf name="dscp-remark-burst-size">\r
114           <description>\r
115             <text>Size of bursts</text>\r
116           </description>\r
117           <type name="uint32"/>\r
118         </leaf>\r
119         <leaf name="perc_level">\r
120           <description>\r
121             <text>Number of drop precedence level to add</text>\r
122           </description>\r
123           <type name="uint8"/>\r
124         </leaf>\r
125       </case>\r
126       <case name="experimenter">\r
127         <leaf name="experimenter-rate">\r
128           <description>\r
129             <text>Rate for remarking packets</text>\r
130           </description>\r
131           <type name="uint32"/>\r
132         </leaf>\r
133         <leaf name="experimenter-burst-size">\r
134           <description>\r
135             <text>Size of bursts</text>\r
136           </description>\r
137           <type name="uint32"/>\r
138         </leaf>\r
139         <leaf name="experimenter">\r
140           <description>\r
141             <text>Experimenter id</text>\r
142           </description>\r
143           <type name="uint32"/>\r
144         </leaf>\r
145       </case>\r
146     </choice>\r
147   </grouping>\r
148   <typedef name="meter-ref">\r
149     <type name="instance-identifier"/>\r
150   </typedef>\r
151   <grouping name="meter">\r
152     <leaf name="flags">\r
153       <description>\r
154         <text>Meter configuration flags</text>\r
155       </description>\r
156       <type name="meter-flags"/>\r
157     </leaf>\r
158     <leaf name="meter-id">\r
159       <description>\r
160         <text>Meter instance</text>\r
161       </description>\r
162       <type name="meter-id"/>\r
163     </leaf>\r
164     <leaf name="barrier">\r
165       <description>\r
166         <text>If true, barrier message is sent</text>\r
167       </description>\r
168       <type name="boolean"/>\r
169     </leaf>\r
170     <leaf name="meter-name">\r
171       <description>\r
172         <text>Name of meter instance</text>\r
173       </description>\r
174       <type name="string"/>\r
175     </leaf>\r
176     <leaf name="container-name">\r
177       <description>\r
178         <text>Name of container</text>\r
179       </description>\r
180       <type name="string"/>\r
181     </leaf>\r
182     <container name="meter-band-headers">\r
183       <list name="meter-band-header">\r
184         <key value="band-id"/>\r
185         <leaf name="band-id">\r
186           <description>\r
187             <text>Meter band id</text>\r
188           </description>\r
189           <type name="band-id"/>\r
190         </leaf>\r
191         <container name="meter-band-types">\r
192           <leaf name="flags">\r
193             <description>\r
194               <text>Meter band flags</text>\r
195             </description>\r
196             <type name="meter-band-type"/>\r
197           </leaf>\r
198         </container>\r
199         <leaf name="band-rate">\r
200           <description>\r
201             <text>Rate for this band</text>\r
202           </description>\r
203           <type name="uint32"/>\r
204         </leaf>\r
205         <leaf name="band-burst-size">\r
206           <description>\r
207             <text>Size of bursts</text>\r
208           </description>\r
209           <type name="uint32"/>\r
210         </leaf>\r
211         <uses name="band-type"/>\r
212       </list>\r
213     </container>\r
214   </grouping>\r
215   <grouping name="meter-statistics">\r
216     <leaf name="meter-id">\r
217       <type name="meter-id"/>\r
218     </leaf>\r
219     <leaf name="flow-count">\r
220       <type name="yang:counter32"/>\r
221     </leaf>\r
222     <leaf name="packet-in-count">\r
223       <type name="yang:counter64"/>\r
224     </leaf>\r
225     <leaf name="byte-in-count">\r
226       <type name="yang:counter64"/>\r
227     </leaf>\r
228     <container name="duration">\r
229       <leaf name="second">\r
230         <type name="yang:counter32"/>\r
231       </leaf>\r
232       <leaf name="nanosecond">\r
233         <type name="yang:counter32"/>\r
234       </leaf>\r
235     </container>\r
236     <container name="meter-band-stats">\r
237       <list name="band-stat">\r
238         <key value="band-id"/>\r
239         <leaf name="band-id">\r
240           <type name="band-id"/>\r
241         </leaf>\r
242         <leaf name="packet-band-count">\r
243           <type name="yang:counter64"/>\r
244         </leaf>\r
245         <leaf name="byte-band-count">\r
246           <type name="yang:counter64"/>\r
247         </leaf>\r
248       </list>\r
249     </container>\r
250   </grouping>\r
251   <grouping name="meter-features">\r
252     <leaf name="max_meter">\r
253       <type name="yang:counter32"/>\r
254     </leaf>\r
255     <leaf-list name="meter-band-supported">\r
256       <type name="identityref">\r
257         <base name="meter-band"/>\r
258       </type>\r
259     </leaf-list>\r
260     <leaf-list name="meter-capabilities-supported">\r
261       <type name="identityref">\r
262         <base name="meter-capability"/>\r
263       </type>\r
264     </leaf-list>\r
265     <leaf name="max_bands">\r
266       <type name="uint8"/>\r
267     </leaf>\r
268     <leaf name="max_color">\r
269       <type name="uint8"/>\r
270     </leaf>\r
271   </grouping>\r
272   <grouping name="meter-stats-config-request">\r
273     <list name="meter-stats">\r
274       <key value="meter-id"/>\r
275       <leaf name="meter-id">\r
276         <type name="meter-id"/>\r
277       </leaf>\r
278     </list>\r
279   </grouping>\r
280   <grouping name="meter-statistics-reply">\r
281     <list name="meter-stats">\r
282       <key value="meter-id"/>\r
283       <uses name="meter-statistics"/>\r
284     </list>\r
285   </grouping>\r
286   <grouping name="meter-config-stats-reply">\r
287     <list name="meter-config-stats">\r
288       <key value="meter-id"/>\r
289       <uses name="meter"/>\r
290     </list>\r
291   </grouping>\r
292   <grouping name="meter-features-reply">\r
293     <uses name="meter-features"/>\r
294   </grouping>\r
295 </module>\r