Bump versions by x.y.(z+1)
[unimgr.git] / presto-api / src / main / yang / mef-nrp-specs.yang
1 /*
2  * Copyright (c) 2016 Cisco Systems, Inc. All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
7  */
8 module mef-nrp-specs {
9   namespace "urn:mef:nrp-specs";
10   prefix nrp;
11
12   import onf-core-network-module {
13     prefix onf-cn;
14   }
15
16   import mef-nrp-types {
17     prefix nrp-types;
18   }
19
20   import mef-nrp-bandwidth-profile {
21     prefix nrp-bwp;
22   }
23
24   import network-topology {
25     prefix nt;
26   }
27
28   revision 2016-06-30 {
29   }
30
31   augment "/onf-cn:forwarding-constructs/onf-cn:forwarding-construct/onf-cn:fcSpec" {
32     container nrp-ce-fcspec-attrs {
33       uses G_NRP_CeFcSpec;
34     }
35   }
36
37   grouping G_NRP_CeFcSpec {
38     leaf connectionType {
39       type nrp-types:NRP_ConnectionType;
40       description "Virtual connection (EVC or OVC).";
41     }
42     leaf unicastFrameDelivery {
43       type nrp-types:NRP_ServiceFrameDelivery;
44       description "A Data Service Frame with a unicast Destination MAC Address is defined to be a Multicast Data
45 Service Frame. Reference MEF 10.3, Section 8.5.2.";
46     }
47     leaf multicastFrameDelivery {
48       type nrp-types:NRP_ServiceFrameDelivery;
49     }
50     leaf broadcastFrameDelivery {
51       type nrp-types:NRP_ServiceFrameDelivery;
52       description "A Data Service Frame with a broadcast Destination MAC Address is defined to be a Broadcast Data
53 Service Frame. Reference MEF 10.3, Section 8.5.2 for EVC and MEF 26.1, Section x.y for OVC.";
54     }
55     leaf vcMaxServiceFrame {
56       type nrp-types:NRP_PositiveInteger;
57       description "The value for the EVC or OVC Maximum Service Frame Size is a positive integer in
58 bytes. Reference MEF 10.3, Section 8.9 for EVC and MEF 26.1 Section x.y for OVC.";
59     }
60     leaf vcId {
61       type nrp-types:NRP_PositiveInteger;
62       description "The EVC ID is an arbitrary string administered by the Service Provider that is used to identify
63 an EVC within the CEN.  MEF 10.3, Section 8.2.";
64     }
65   }
66
67   augment "/nt:network-topology/nt:topology/nt:node/nt:termination-point/onf-cn:ltp-attrs/onf-cn:lpList/onf-cn:lpSpec/onf-cn:terminationSpec" {
68     container nrp-termination-spec-attrs {
69       uses G_NRP_TerminationSpec;
70     }
71     container nrp-uni-termination-attrs {
72       uses G_NRP_UNI_TerminationSpec;
73     }
74   }
75
76   grouping G_NRP_TerminationSpec {
77     leaf physicalLayer {
78       type nrp-types:NRP_PhysicalLayer;
79       description "This attribute is a list of physical layers, one for each physical link implementing the UNI or
80 ENNI. Different physical links can use different physical layers. The Physical Layer for each
81 physical link implementing the UNI or ENNI MUST be one of the PHYs listed in IEEE Std 802.3 -
82 2012 but excluding 1000BASE-PX-D and 1000BASE-PX-U.  Reference MEF 10.3, Section 9.2.";
83     }
84     list syncMode {
85       description "<p>The Synchronous Mode Service Attribute is a list with one item for each of the physical
86 links. When the value of an item is &quot;Enabled,&quot; the bits transmitted from the CEN to
87 the CE on the physical link corresponding to the item can be used by the CE as a bit clock
88 reference. Reference MEF 10.3, Section 9.3.</p>
89 ";
90       key 'linkId';
91       config true;
92       ordered-by system;
93       uses nrp-types:G_NRP_SyncModePerLink;
94     }
95     leaf numberOfLinks {
96       type nrp-types:NRP_NaturalNumber;
97       description "This attribute specifies the number of links at the Ethernet Service Interface (UNI or ENNI).
98 MEF 10.3, Section 9.4.";
99     }
100     leaf resiliency {
101       type nrp-types:NRP_InterfaceResiliency;
102       description "This attribute value is one of None, 2-Link Active/Standby, All Active, or Other.  MEF 10.3,
103 Section 9.5.  MEF 10.3.2, MEF 26.2
104 ";
105     }
106     container portConvsIdToAggLinkMap {
107       description "The Port Conversation ID to Aggregation Link Map Attribute is applicable only when the
108 EthernetServiceInterface resiliency attribute has the value of All Active. Its value is a Port
109 Conversation ID to Aggregation Link Map as defined in IEEE Std 802.1AX - 2014.  MEF 10.3.2";
110       config true;
111       uses nrp-types:G_NRP_ConversationIdToAggrgationLinkMap;
112     }
113     leaf maxFrameSize {
114       type nrp-types:NRP_NaturalNumber;
115       description "This value limits the length of frames carried by an EVC/OVC that associates an EVC/OVC End
116 Point. The minimum of this maxinum number for UNI and ENNI are different.  MEF 10.3, Section
117 9.7.";
118     }
119     leaf linkOamEnabled {
120       type boolean;
121       description "When the value of the Link OAM attribute is Enabled, Link OAM musd tbe run on all physical links
122 in the UNI/ENNI.  MEF 10.3, Section 9.16.";
123     }
124     leaf tokenShareEnabled {
125       type boolean;
126       description "When the value of the Token Share Service attribute is Enabled, at least one Envelope at the
127 UNI/ENNI MUST be able to have two or more Bandwidth Profiles mapped to it.  MEF 6.2, Section
128 8.2.1.";
129     }
130     leaf serviceProviderUniId {
131       type string;
132       description "MEF 10.3, Section 9.1.";
133     }
134   }
135
136   grouping G_NRP_UNI_TerminationSpec {
137     leaf defaultCeVlanId {
138       description "This is the CE-VLAN ID value assigned to Untagged Service Frames and Priority Tagged Service
139 Frames. In MEF 10.3, it is called CE Vlan ID for untagged and priority tagged service frames.
140 MEF 10.3, Section 9.9.";
141       config true;
142       type nrp-types:NRP_PositiveInteger;
143     }
144     leaf uniMegEnabled {
145       type boolean;
146       description "When the value of the UNI MEG Service Attribute is Enabled, the CEN MUST meet the mandatory
147 requirements in MEF 30.1 that apply to the UNI MEG MEF 10.3, Section 9.17.";
148     }
149     leaf elmiEnabled {
150       type boolean;
151       description "When the value of the E-LMI Service Attribute is Enabled, the CEN MUST meet the mandatory
152 requirements in MEF 16 that apply to the UNI-N.  MEF 10.3, Section 9.18";
153     }
154     leaf serviceprovideruniprofile {
155       type string;
156     }
157     leaf operatoruniprofile {
158       type string;
159     }
160     container ingressBwpUni {
161       description "MEF 10.3, Section 9.14";
162       config true;
163       uses nrp-bwp:G_NRP_BwpFlow;
164     }
165     container egressBwpUni {
166       description "MEF 10.3, Section 9.15";
167       config true;
168       uses nrp-bwp:G_NRP_BwpFlow;
169     }
170   }
171
172  augment "/nt:network-topology/nt:topology/nt:node/nt:termination-point/onf-cn:ltp-attrs/onf-cn:lpList/onf-cn:lpSpec/onf-cn:adapterSpec" {
173     container nrp-conn-adapt-spec-attrs {
174       uses G_NRP_ConnAdaptSpec;
175     }
176     container nrp-ivc-endpoint-conn-adapt-spec-attrs {
177       uses G_NRP_IvcEndpoint_ConnAdaptSpec;
178     }
179     container nrp-evc-endpoint-conn-adapt-spec-attrs {
180       uses G_NRP_EvcEndpoint_ConnAdaptSpec;
181     }
182   }
183
184   grouping G_NRP_ConnAdaptSpec {
185     container sourceMacAddressLimit {
186       description "MEF 10.3, Section 10.9";
187       config true;
188       uses nrp-types:G_NRP_SourceMacAddressLimit;
189     }
190     container CeExternalInterface {
191       config true;
192       uses G_NRP_TerminationSpec;
193     }
194     container coloridentifier {
195       config true;
196       uses nrp-bwp:G_NRP_ColorIdentifier;
197     }
198     container ingressBwpFlow {
199       config true;
200       uses nrp-bwp:G_NRP_BwpFlow;
201     }
202     container egressBwpFlow {
203       config true;
204       uses nrp-bwp:G_NRP_BwpFlow;
205     }
206     leaf l2cpAddressSet {
207       type nrp-types:NRP_L2cpAddressSet;
208     }
209     list l2cpPeering {
210       description "The L2CP Peering service attribute value MUST be an empty list, or a list
211 of entries identifying protocols to be Peered where each entry consists of
212 {Destination Address, Protocol Identifier} or {Destination Address, Protocol
213 Identifier, Link Identifier}.
214 MEF 45, Section 8.2";
215       key 'linkId';
216       config true;
217       ordered-by system;
218       uses nrp-types:G_NRP_L2cpPeering;
219     }
220   }
221
222   grouping G_NRP_EvcEndpoint_ConnAdaptSpec {
223     uses G_NRP_ConnAdaptSpec;
224     leaf evcEndPointId {
225       type nrp-types:NRP_PositiveInteger;
226       description "The EVC End Point Identification. This attribute is adapted from MEF 26.2. MEF 10.3 uses \"EVC
227 per UNI\" for EVC End Point, therefore there is no identificaiton attribute.";
228     }
229     leaf testMegEnabled {
230       type boolean;
231       description "When the value of the Test MEG Service Attribute is Enabled, the CEN MUST meet the mandatory
232 requirements in Section 7.5 of MEF 30.1.  that apply to the Test MEG";
233     }
234     leaf evcEndPointRole {
235       type nrp-types:NRP_EvcEndPointRole;
236       description "The EVC End Point Role is ROOF or LEAF.";
237     }
238     list evcEndPointMap {
239       description "This attribute provides the list of CE-VLAN IDs that maps to the EVC. MEF 10.3 and MEF 6.2 list
240 this attriubte (CE-VLAN ID/EVC map) as UNI service attribute while MEF 26.2 decided to move this
241 on as endpoint service attribute, just as MEF 10.1 and MEF 6.1 did. Decided to move this one to
242 endpoint to be consistent. To be consitent, changing its name to EvcEntPointMap (MEF 26.2 lists
243 as OVC Endpoint Map).
244 ";
245       key 'vid';
246       leaf vid {
247         type nrp-types:NRP_PositiveInteger;
248       }
249       config true;
250       ordered-by system;
251     }
252     leaf subscriberMegMipEbabled {
253       type boolean;
254       description "When the value of the Subscriber MEG MIP Service Attribute is Enabled, the CEN MUST instantiate
255 a Subscriber Level MIP.";
256     }
257   }
258
259   grouping G_NRP_IvcEndpoint_ConnAdaptSpec {
260     leaf ivcEndPointId {
261       type string;
262       description "The EVC End Point Identification. This attribute is adapted from MEF 26.2. MEF 10.3 uses \"EVC
263 per UNI\" for EVC End Point, therefore there is no identificaiton attribute.";
264     }
265     leaf testMegEnabled {
266       type boolean;
267       description "When the value of the Test MEG Service Attribute is Enabled, the CEN MUST meet the mandatory
268 requirements in Section 7.5 of MEF 30.1.  that apply to the Test MEG";
269     }
270     leaf ivcEndPointRole {
271       type nrp-types:NRP_EndPointRole;
272       description "The EVC End Point Role is ROOF or LEAF.";
273     }
274     list ivcEndPointMap {
275       description "This attribute provides the list of CE-VLAN IDs that maps to the EVC. MEF 10.3 and MEF 6.2 list
276 this attriubte (CE-VLAN ID/EVC map) as UNI service attribute while MEF 26.2 decided to move this
277 on as endpoint service attribute, just as MEF 10.1 and MEF 6.1 did. Decided to move this one to
278 endpoint to be consistent. To be consitent, changing its name to EvcEntPointMap (MEF 26.2 lists
279 as OVC Endpoint Map).
280 ";
281       key 'vlanId';
282       config true;
283       ordered-by system;
284       uses G_NRP_EndPointMap;
285     }
286     leaf subscriberMegMipEnabled {
287       type boolean;
288       description "When the value of the Subscriber MEG MIP Service Attribute is Enabled, the CEN MUST instantiate
289 a Subscriber Level MIP.";
290     }
291   }
292
293   grouping G_NRP_EndPointMap {
294     leaf vlanId {
295       type nrp-types:NRP_PositiveInteger;
296     }
297     choice endpoint-map-form {
298       case map-form-e {
299         list enni-svid {
300           key 'vid';
301           leaf vid {
302             type nrp-types:NRP_PositiveInteger;
303           }
304         }
305       }
306       case map-form-t {
307         leaf root-svid {
308           type nrp-types:NRP_PositiveInteger;
309         }
310         leaf leaf-svid {
311           type nrp-types:NRP_PositiveInteger;
312         }
313       }
314       case map-form-v {
315         leaf vuni-vid {
316           type nrp-types:NRP_PositiveInteger;
317         }
318         list enni-cevid {
319           key 'vid';
320           leaf vid {
321             type nrp-types:NRP_PositiveInteger;
322           }
323         }
324       }
325       case map-form-u {
326         list cvid {
327           key 'vid';
328           leaf vid {
329             type nrp-types:NRP_PositiveInteger;
330           }
331         }
332       }
333     }
334   }
335 }