Merge "Strong password check to consider underscore as a special character"
[controller.git] / opendaylight / md-sal / model / model-flow-base / src / main / yang / meter-types.yang
1 module opendaylight-meter-types {
2     namespace "urn:opendaylight:meter:types";
3     prefix meter;
4
5     import ietf-inet-types {prefix inet;}
6     import ietf-yang-types {prefix yang;}
7
8
9     revision "2013-09-18" {
10         description "Initial revision of meter service";
11     }
12
13     typedef meter-ref {
14             type instance-identifier;
15     }
16     
17     grouping meter-flags {
18         leaf flags {
19             type enumeration {
20                 enum meter-kbps;
21                 enum meter_pktps;
22                 enum meter_burst;
23                 enum meter_stats;
24             }
25         }
26     }
27     
28     grouping meter-band-type {
29         leaf flags {
30             type enumeration {
31                 enum ofpmbt-drop;
32                 enum ofpmbt-dscp-remark;
33                 enum ofpmbt-experimenter;               
34             }
35         }
36     }
37     
38     grouping band-type {
39         choice band-type {
40             case drop {
41                 leaf rate {
42                     type uint32;
43                 }
44                 
45                 leaf burst-size {
46                     type uint32;
47                 }
48             }
49
50             case dscp-remark {
51                 leaf rate {
52                     type uint32;
53                 }
54                 
55                 leaf burst-size {
56                     type uint32;
57                 }
58                 
59                 leaf perc_level {
60                     type uint8;
61                 }
62             }
63             
64             case experimenter {
65                 leaf rate {
66                     type uint32;
67                 }
68                 
69                 leaf burst-size {
70                     type uint32;
71                 }
72                 
73                 leaf experimenter {
74                     type uint32;
75                 }
76             }
77         }
78     }
79     
80     grouping meter {
81         
82         uses meter-flags;        
83         
84         leaf meter-id {
85             type meter-ref;
86         }
87         
88         container meter-band-headers {
89             list meter-band-header {
90                 key "order";
91                 leaf order {
92                     type int32;
93                 }
94                 
95                 container meter-band-types {
96                     uses meter-band-type;
97                 }
98             
99                 leaf burst-size {
100                     type uint32;
101                 }
102                 uses band-type;
103             }
104         }
105     }
106     
107     grouping meter-stats-config-request {
108         list meter-stats {
109             key "meter-id";         
110             
111             leaf meter-id {
112                 type int32;
113             }           
114         }
115     }
116     
117     grouping meter-statistics {
118             
119         leaf meter-id {
120             type int32;
121         }
122         
123         leaf flow-count {
124             type yang:counter32;
125         }
126         
127         leaf packet-in-count {
128             type yang:counter64;
129         } 
130         
131         leaf byte-in-count {
132             type yang:counter64;
133         }
134
135         container duration {
136             leaf second {
137                 type yang:counter32;
138             }
139             leaf nanosecond {
140                 type yang:counter32;
141             }
142         }
143         
144         container meter-band-stats {
145             list band-stat {
146                 key "order";
147                 leaf order {
148                     type int32;
149                 }
150             
151                 leaf packet-band-count {
152                     type yang:counter64;
153                 } 
154         
155                 leaf byte-band-count {
156                     type yang:counter64;
157                 }
158             }       
159         }
160     }
161
162     grouping meter-statistics-reply {
163         list meter-stats {
164             key "meter-stats-order";
165             leaf meter-stats-order {
166                 type int32;
167             }
168             uses meter-statistics;
169         }
170     }
171     
172     grouping meter-config-stats {
173         list meter-config-stats {
174             key "meter-config-order";
175             
176             leaf meter-config-order {
177                 type int32;
178             }
179             
180             uses meter;
181         } 
182     }
183     
184     grouping meter-features {
185         list meter-features {
186             key "meter-feature-order";
187             
188             leaf meter-feature-order {
189                 type yang:counter32;
190             }          
191             
192             leaf max_meter {
193                 type yang:counter32;
194             }
195             
196             leaf band_types {
197                 type yang:counter32;
198             }
199             
200             leaf capabilities {
201                 type yang:counter32;
202             }
203             
204             leaf max_bands {
205                 type uint8;
206             }
207             
208             leaf max_color {
209                 type uint8;
210             }
211         }
212     }    
213 }