Rome hackathon work integrated onto boron.
[unimgr.git] / api / src / main / yang / NRP_Interface-TypeDefinitions-NRP_Types.yang
1 module NRP_Interface-TypeDefinitions-NRP_Types {
2     namespace "uri:onf:NRP_Interface-TypeDefinitions-NRP_Types";
3     prefix NRP_Interface-TypeDefinitions-NRP_Types;
4     revision 2016-04-13{}
5     grouping G_NRP_SourceMacAddressLimit {
6         leaf enabled {
7             type boolean;
8         }
9         leaf limit {
10             type NRP_NaturalNumber;
11         }
12         leaf timeInterval {
13             type NRP_NaturalNumber;
14         }
15     }
16     grouping G_NRP_VlanId {
17         leaf vid {
18             type NRP_PositiveInteger;
19         }
20     }
21     typedef NRP_EvcEndPointRole {
22         type enumeration {
23             enum ROOT;
24             enum LEAF;
25         }
26     }
27     typedef NRP_Identifier45 {
28         type string;
29     }
30     typedef NRP_L2cpAddressSet {
31         type enumeration {
32             enum CTA;
33             enum CTB;
34             enum CTB2;
35         }
36     }
37     typedef NRP_PhysicalLayer {
38         type enumeration {
39             enum 10BASE2;
40             enum 10BASE5;
41             enum 10BASE_F;
42             enum 10BASE_FB;
43             enum 10BASE_FL;
44             enum 10BASE_FP;
45             enum 10BASE_T;
46             enum 10BASE_TE;
47             enum 10BROAD36;
48             enum 10PASS_TS;
49             enum 100BASE_BX10;
50             enum 100BASE_FX;
51             enum 100BASE_LX10;
52             enum 100BASE_T;
53             enum 100BASE_T2;
54             enum 100BASE_T4;
55             enum 100BASE_TX;
56             enum 100BASE_X;
57             enum 1000BASE_BX10;
58             enum 1000BASE_CX;
59             enum 1000BASE_KX;
60             enum 1000BASE_LX;
61             enum 1000BASE_LX10;
62             enum 1000BASE_PX10;
63             enum 1000BASE_PX20;
64             enum 1000BASE_SX;
65             enum 1000BASE_T;
66             enum 1000BASE_X;
67             enum 10GBASE_CX4;
68             enum 10GBASE_E;
69             enum 10GBASE_ER;
70             enum 10GBASE_EW;
71             enum 10GBASE_KR;
72             enum 10GBASE_KX4;
73             enum 10GBASE_L;
74             enum 10GBASE_LR;
75             enum 10GBASE_LRM;
76             enum 10GBASE_LW;
77             enum 10GBASE_LX4;
78             enum 10GBASE_PR;
79             enum 10GBASE_PRX;
80             enum 10GBASE_R;
81             enum 10GBASE_S;
82             enum 10GBASE_SR;
83             enum 10GBASE_SW;
84             enum 10GBASE_T;
85             enum 10GBASE_W;
86             enum 10GBASE_X;
87             enum 100GBASE_R;
88             enum 100GBASE_CR10;
89             enum 100GBASE_ER4;
90             enum 100GBASE_LR4;
91             enum 100GBASE_SR10;
92             enum 40GBASE_R;
93             enum 40GBASE_CR4;
94             enum 40GBASE__FR;
95             enum 40GBASE_KR4;
96             enum 40GBASE_LR4;
97             enum 40GBASE_SR4;
98             enum 1BASE5;
99             enum 2BASE_TL;
100             enum 1G_EPON;
101             enum 10G_EPON;
102             enum 10_1G_EPON;
103             enum 10_10G_EPON;
104             enum NONE;
105         }
106     }
107     typedef NRP_NaturalNumber {
108         type enumeration {
109             enum ENABLED;
110             enum DISABLED;
111         }
112     }
113     grouping G_NRP_SyncModePerLink {
114         leaf linkId {
115             type string;
116         }
117         leaf syncModeEnabled {
118             type boolean;
119         }
120     }
121     typedef NRP_ProtocolFrameType {
122         type enumeration {
123             enum ETHERTYPE;
124             enum LLC_ADDRESS;
125             enum OTHER;
126         }
127     }
128     typedef NRP_InterfaceResiliency {
129         type enumeration {
130             enum NONE;
131             enum 2_LINK_ACTIVE_STANDBY;
132             enum ALL_ACTIVE;
133             enum OTHER;
134         }
135     }
136     grouping G_NRP_ConversationIdToAggrgationLinkMap {
137         leaf conversationId {
138             type NRP_NaturalNumber;
139         }
140         leaf linkId {
141             type NRP_NaturalNumber;
142         }
143     }
144     grouping G_NRP_L2cpPeering {
145         leaf destinationMacAddress {
146             type string;
147             description "The destination address determines the intended recipient device for the frame.";
148         }
149         leaf protocolType {
150             type NRP_ProtocolFrameType;
151             description "Protocol Identifier is either an LLC Address or an Ethertype, and it could have subtypes. The list specifies only the L2CP Frames that
152 are to be Peered. Any L2CP Frame that is not Peered will either be Discarded or Passed
153 as a result of the flow charts and requirements specified in MEF 45, Section 9.";
154         }
155         leaf linkId {
156             type string;
157             description "Identifies the physical link identifier for protocols (e.g. LLDP, ESMC) that can operate over the individual physical links.
158 If no link identifier is specified then the list entry will apply to all physical links. 
159 MEF 45, Section 8.2";
160         }
161         leaf protocolId {
162             type string;
163         }
164     }
165     typedef NRP_ColorMode {
166         type enumeration {
167             enum COLOR_AWARE;
168             enum COLOR_BLIND;
169         }
170     }
171     typedef NRP_PositiveInteger {
172         type enumeration {
173             enum ENABLED;
174             enum DISABLED;
175         }
176     }
177     typedef NRP_VlanTag {
178         type enumeration {
179             enum S_TAG;
180             enum C_TAG;
181         }
182     }
183     typedef NRP_IpVersion {
184         type enumeration {
185             enum IPV4;
186             enum IPV6;
187             enum IPV4_AND_IPV6;
188         }
189     }
190     typedef NRP_FrameColor {
191         type enumeration {
192             enum GREEN;
193             enum YELLOW;
194         }
195     }
196     typedef NRP_PcpOrDiscard {
197         type enumeration {
198             enum DISCARD;
199             enum 0;
200             enum 1;
201             enum 2;
202             enum 3;
203             enum 4;
204             enum 5;
205             enum 6;
206             enum 7;
207         }
208     }
209     typedef NRP_DeiOrDiscard {
210         type enumeration {
211             enum DISCARD;
212             enum 0;
213             enum 1;
214         }
215     }
216     grouping G_NRP_AggLinkDepth {
217         container nrp_vlanId {
218             config true;
219             uses G_NRP_VlanId;
220         }
221         leaf nrp_linkNumber {
222             type NRP_NaturalNumber;
223         }
224     }
225     typedef NRP_ConnectionType {
226         type enumeration {
227             enum POINT_TO_POINT;
228             enum MULTIPOINT;
229             enum ROOTED_MULTIPOINT;
230         }
231     }
232     typedef NRP_ServiceFrameDelivery {
233         type enumeration {
234             enum CONDITIONALLY;
235             enum UNCONDITIONALLY;
236         }
237     }
238     typedef NRP_EndPointRole {
239         type enumeration {
240             enum ROOT;
241             enum LEAF;
242             enum TRUNK;
243         }
244     }
245     typedef NRP_MepDirection {
246         type enumeration {
247             enum DOWN;
248             enum UP;
249         }
250     }
251     grouping G_NRP_MepLevelAndDirection {
252         leaf nrp_level {
253             type NRP_NaturalNumber;
254         }
255         leaf nrp_direction {
256             type NRP_MepDirection;
257         }
258         leaf nrp_megId {
259             type string;
260         }
261     }
262 }