Rome hackathon work integrated onto boron.
[unimgr.git] / api / src / main / yang / NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage.yang
1 module NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage {
2     namespace "uri:onf:NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage";
3     prefix NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage;
4     import NRP_Interface-TypeDefinitions-NRP_Types {
5         prefix NRP_Interface-TypeDefinitions-NRP_Types;
6     }
7     revision 2016-04-13{}
8     grouping G_NRP_PcpCosId {
9         leaf nrp_vlanTag {
10             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_VlanTag;
11             description "Which vlan tag pcp to be used for cos identier, S tag or C tag. S tag is not valid for EvcEndPoint. ";
12         }
13         leaf-list nrp_pcpValue {
14             description "List of PCP values that map to the cos name.";
15             ordered-by system;
16             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
17             min-elements 1;
18         }
19         leaf nrp_cosName {
20             type string;
21             description "Class of Service name.";
22         }
23     }
24     list NRP_DscpCosId {
25         key 'nrp_cosName';
26         config true;
27         ordered-by system;
28         uses G_NRP_DscpCosId;
29     }
30     grouping G_NRP_DscpCosId {
31         leaf nrp_ipVersion {
32             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_IpVersion;
33             description "IPv4, or IPv6, or both IPv4 and IPv6.";
34         }
35         leaf-list nrp_dscpValue {
36             description "List DSCP values map to the same cos name.";
37             ordered-by system;
38             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
39             min-elements 1;
40         }
41         leaf nrp_cosName {
42             type string;
43             description "Class of Service name.";
44         }
45     }
46     list NRP_PcpEecId {
47         key 'nrp_eecName';
48         config true;
49         ordered-by system;
50         uses G_NRP_PcpEecId;
51     }
52     grouping G_NRP_PcpEecId {
53         leaf nrp_vlanTag {
54             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_VlanTag;
55             description "Which vlan tag pcp to be used for ceec identier, S tag or C tag. S tag is not valid for EvcEndPoint. ";
56         }
57         leaf-list nrp_pcpValue {
58             description "List of PCP values that map to the eec name.";
59             ordered-by system;
60             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
61             min-elements 1;
62         }
63         leaf nrp_eecName {
64             type string;
65             description "Egress Equivelance Class name.";
66         }
67     }
68     list NRP_DscpEecId {
69         key 'nrp_eecName';
70         config true;
71         ordered-by system;
72         uses G_NRP_DscpEecId;
73     }
74     grouping G_NRP_DscpEecId {
75         leaf nrp_ipVersion {
76             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_IpVersion;
77             description "IPv4, or IPv6, or both IPv4 and IPv6.";
78         }
79         leaf-list nrp_dscpValue {
80             description "List DSCP values map to the same eec name.";
81             ordered-by system;
82             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
83             min-elements 1;
84         }
85         leaf nrp_eecName {
86             type string;
87             description "Egress Equivalence Class name.";
88         }
89     }
90     grouping G_NRP_ServiceAccessPointEecId {
91         leaf nrp_eecName {
92             type string;
93             description "Egress Equivalence Class name.";
94         }
95     }
96     list NRP_EecIdentifier {
97         key 'id';
98         config true;
99         ordered-by system;
100         uses G_NRP_EecIdentifier;
101     }
102     grouping G_NRP_EecIdentifier {
103         container nrp_pcpeecid {
104             config true;
105             uses G_NRP_PcpEecId;
106         }
107         container nrp_dscpeecid {
108             config true;
109             uses G_NRP_DscpEecId;
110         }
111         container nrp_serviceaccesspointeecid {
112             config true;
113             uses G_NRP_ServiceAccessPointEecId;
114         }
115         leaf id {
116             type string;
117         }
118     }
119     list NRP_PcpForColorEgressMap {
120         key 'nrp_vlanTag';
121         config true;
122         ordered-by system;
123         uses G_NRP_PcpForColorEgressMap;
124     }
125     grouping G_NRP_PcpForColorEgressMap {
126         leaf nrp_vlanTag {
127             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_VlanTag;
128             description "S tag or C tag for OvcEndPoint and C tag for EvcEndPoint.";
129         }
130         leaf nrp_ingressCosName {
131             type string;
132             description "Ingress CoS name.";
133         }
134         leaf nrp_ingressColor {
135             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_FrameColor;
136             description "The ingress color may be considered as part of the egress mapping. ";
137         }
138         leaf nrp_pcpValue {
139             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_PcpOrDiscard;
140             description "Egress frame PCP value (S tag ot C tag is from vlanTag attribute), mapping from ingress CoS name and ingress frame color. ";
141         }
142     }
143     list NRP_EgressMap {
144         key 'id';
145         config true;
146         ordered-by system;
147         uses G_NRP_EgressMap;
148     }
149     grouping G_NRP_EgressMap {
150         container nrp_deiforcoloregressmap {
151             config true;
152             uses G_NRP_DeiForColorEgressMap;
153         }
154         container nrp_pcpforcoloregressmap {
155             config true;
156             uses G_NRP_PcpForColorEgressMap;
157         }
158         leaf id {
159             type string;
160         }
161     }
162     list NRP_DeiForColorEgressMap {
163         key 'nrp_vlanTag';
164         config true;
165         ordered-by system;
166         uses G_NRP_DeiForColorEgressMap;
167     }
168     grouping G_NRP_DeiForColorEgressMap {
169         leaf nrp_vlanTag {
170             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_VlanTag;
171             description "S tag or C tag for OvcEndPoint and C tag for EvcEndPoint.";
172         }
173         leaf nrp_ingressCosName {
174             type string;
175             description "Ingress CoS name.";
176         }
177         leaf nrp_ingressColor {
178             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_FrameColor;
179             description "The ingress color may be considered as part of the egress mapping. ";
180         }
181         leaf nrp_deiValue {
182             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_DeiOrDiscard;
183             description "Egress frame DEI value (S tag ot C tag is from vlanTag attribute), including the ingress color indication.";
184         }
185     }
186     list NRP_BwpFlow {
187         key 'id';
188         config true;
189         ordered-by system;
190         uses G_NRP_BwpFlow;
191     }
192     grouping G_NRP_BwpFlow {
193         leaf nrp_bwpFlowIndex {
194             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_PositiveInteger;
195             description "The index i=1,2,…,n is used to index the Bandwidth Profile Flow among all Bandwidth Profile Flows that are mapped to a given Envelope";
196         }
197         leaf nrp_cir {
198             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
199             description "Committed Information Rate that limits the average rate of frames that will be declared Green. In bits per second.";
200         }
201         leaf nrp_cirMax {
202             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
203             description "Maximum Committed Information Rate that limits the rate of tokens added to the committed token bucket. In bits per second.";
204         }
205         leaf nrp_cbs {
206             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
207             description "Committed Burst Size that limits the maximum number of bytes available for a burst of frames that will be declared Green, in bytes,";
208         }
209         leaf nrp_eir {
210             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
211             description "Excess Information Rate that limits the average rate of frames that will be declared Yellow, in bits per second.";
212         }
213         leaf nrp_eirMax {
214             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
215             description "Maximum Excess Infor-mation Rate that Limits the rate of tokens added to the excess token bucket, in bits per second.";
216         }
217         leaf nrp_ebs {
218             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
219             description "Excessive Burst Size that limits the maximum number of bytes available for a burst of frames that will be declared Yellow, in bytes.";
220         }
221         leaf nrp_couplingFlag {
222             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
223             description "Coupling Flag that Determines if overflow Green tokens can be used as Yellow tokens. Value 0 for NO and value 1 for YES.";
224         }
225         leaf nrp_colorMode {
226             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_ColorMode;
227             description "Color Mode that Indicates whether the Color Identifier of the frame is considered by the Bandwidth Profile Algorithm.";
228         }
229         leaf nrp_rank {
230             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_PositiveInteger;
231             description "Bandwidth prorile flow rank in an associated Envelope.";
232         }
233         leaf nrp_tokenRequestOffset {
234             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
235             description "Adjusts the number of tokens requested for each external interface frame.";
236         }
237         leaf-list nrp_bwpflowrank {
238             ordered-by system;
239             type leafref {
240                 path '/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:NRP_BwpFlowRank/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:id';
241             }
242         }
243         leaf id {
244             type string;
245         }
246     }
247     list NRP_IngressBwpPerCosName {
248         key 'nrp_cosName';
249         config true;
250         ordered-by system;
251         uses G_NRP_IngressBwpPerCosName;
252     }
253     grouping G_NRP_IngressBwpPerCosName {
254         leaf nrp_cosName {
255             type string;
256             description "Class of Service name.";
257         }
258         container nrp_bwpflow {
259             config true;
260             uses G_NRP_BwpFlow;
261         }
262     }
263     list NRP_EgressBwpPerEecName {
264         key 'nrp_eecName';
265         config true;
266         ordered-by system;
267         uses G_NRP_EgressBwpPerEecName;
268     }
269     grouping G_NRP_EgressBwpPerEecName {
270         leaf nrp_eecName {
271             type string;
272             description "Egress Equivelance Class name.";
273         }
274     }
275     grouping G_NRP_ServiceAccessPointColorId {
276         leaf nrp_color {
277             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_FrameColor;
278             description "Green or Yellow.";
279         }
280     }
281     grouping G_NRP_PcpColorId {
282         leaf nrp_vlanTag {
283             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_VlanTag;
284             description "Which vlan tag pcp to be used for color identier, S tag or C tag. S-tag is not valid for EvcEndPoint. ";
285         }
286         leaf-list nrp_pcpValue {
287             description "List PCP values map to the same color.";
288             ordered-by system;
289             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
290             min-elements 1;
291         }
292         leaf nrp_color {
293             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_FrameColor;
294             description "Green or Yellow.";
295         }
296     }
297     grouping G_NRP_DeiColorId {
298         leaf nrp_vlanTag {
299             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_VlanTag;
300             description "Which vlan tag pcp to be used for color identier, S tag or C tag. S-tag is not valid for EvcEndPoint. ";
301         }
302         leaf-list nrp_deiValue {
303             description "DEI=0 or DEI=1";
304             ordered-by system;
305             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
306             max-elements 2;
307             min-elements 1;
308         }
309         leaf nrp_color {
310             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_FrameColor;
311             description "Green or Yellow";
312         }
313     }
314     grouping G_NRP_DespColorId {
315         leaf nrp_ipVersion {
316             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_IpVersion;
317             description "IPv4, or IPv6, or both IPv4 and IPv6.";
318         }
319         leaf-list nrp_dscpValue {
320             description "List DSCP values map to the same color.";
321             ordered-by system;
322             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
323         }
324         leaf nrp_color {
325             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_FrameColor;
326             description "Green or Yellow";
327         }
328     }
329     grouping G_NRP_ColorIdentifier {
330         container nrp_endPointColorId {
331             description "A choice that maps EVC End Point or OVC End Point to Color.";
332             config true;
333             uses G_NRP_ServiceAccessPointColorId;
334         }
335         container nrp_pcpColorId {
336             description "A choice that maps Vlan tag PCPs to Color.";
337             config true;
338             uses G_NRP_PcpColorId;
339         }
340         container nrp_deiColorId {
341             description "A choice that maps Vlan tag DEI to Color.";
342             config true;
343             uses G_NRP_DeiColorId;
344         }
345         container nrp_despColorId {
346             description "A choice that maps DSCP values to Color.";
347             config true;
348             uses G_NRP_DespColorId;
349         }
350     }
351     list NRP_BwpFlowRank {
352         key 'id';
353         config true;
354         ordered-by system;
355         uses G_NRP_BwpFlowRank;
356     }
357     grouping G_NRP_BwpFlowRank {
358         leaf nrp_bwpFlowRankInEnvelope {
359             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
360         }
361         leaf nrp_bwpflow {
362             type leafref {
363                 path '/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:NRP_BwpFlow/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:id';
364             }
365         }
366         leaf id {
367             type string;
368         }
369     }
370     list NRP_Envelope {
371         key 'nrp_envelopeId';
372         config true;
373         ordered-by system;
374         uses G_NRP_Envelope;
375     }
376     grouping G_NRP_Envelope {
377         leaf nrp_envelopeId {
378             type string;
379         }
380         leaf nrp_couplingFlagForIndexZero {
381             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
382             description "Coupling flag for index zero. 0 for NO and 1 for YES (overflow Green tokens can be used as Yellow tokens)";
383         }
384         leaf-list nrp_bwpflowrank {
385             ordered-by system;
386             type leafref {
387                 path '/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:NRP_BwpFlowRank/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:id';
388             }
389         }
390     }
391     grouping G_NRP_EtherTypeL2cpId {
392         leaf nrp_etherTypeValue {
393             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
394             description "EtherType, e.g., 0x8809";
395         }
396         leaf-list nrp_subType {
397             description "List of sub types. Can be NULL.";
398             ordered-by system;
399             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
400         }
401     }
402     grouping G_NRP_LlcAddressL2cpId {
403         leaf nrp_llcAddress {
404             type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
405             description "LLC Address";
406         }
407     }
408     grouping G_NRP_L2cpProtocolIdentifier {
409         container nrp_llcAddressL2cpId {
410             description "Choice of L2CP Protocol Identifier based on LLC Address.";
411             config true;
412             uses G_NRP_LlcAddressL2cpId;
413         }
414         container nrp_etherTypeL2cpId {
415             description "Choice of L2CP Protocol Identifier based on EtherType w/o SubTypes";
416             config true;
417             uses G_NRP_EtherTypeL2cpId;
418         }
419         leaf id {
420             type string;
421         }
422     }
423     grouping G_NRP_ServiceAccessPointCosId {
424         leaf nrp_cosName {
425             type string;
426             description "Class of Service name.";
427         }
428         list nrp_l2cpprotocolidentifier {
429             description "List of L2CP Protocol Identifiers that map to the CoS Name.";
430             key 'id';
431             config true;
432             ordered-by system;
433             uses G_NRP_L2cpProtocolIdentifier;
434         }
435     }
436     grouping G_NRP_DataFrameCosIdentifier {
437         container nrp_endPointCosId {
438             description "This is one choice of the CosProfile, for the EVC based CoS Identifier.";
439             config true;
440             uses G_NRP_ServiceAccessPointCosId;
441         }
442         list nrp_pcpCosId {
443             description "This is one choice of the CosProfile, for the PCP based CoS Identifier.";
444             key 'nrp_cosName';
445             config true;
446             ordered-by system;
447             uses G_NRP_PcpCosId;
448             max-elements 8;
449             min-elements 1;
450         }
451         list nrp_dscpCosId {
452             description "This is one choice of the CosProfile, for the DSCP based CoS Identifier.";
453             key 'nrp_cosName';
454             config true;
455             ordered-by system;
456             uses G_NRP_DscpCosId;
457             max-elements 64;
458             min-elements 1;
459         }
460     }
461 }