migrate sdnr features to phosphorus
[ccsdk/features.git] / sdnr / wt / devicemanager-onap / onf14 / provider / src / test / resources / vlan-fd-1-0.yang
1 module vlan-fd-1-0 {\r
2   yang-version 1.1;\r
3   namespace "urn:onf:yang:vlan-fd-1-0";\r
4   prefix vlan-fd;\r
5 \r
6   import ietf-yang-types {\r
7     prefix yang;\r
8   }\r
9   import core-model-1-4 {\r
10     prefix core-model;\r
11   }\r
12   import vlan-interface-1-0 {\r
13     prefix vlan-interface;\r
14   }\r
15 \r
16   organization\r
17     "openBackhaul.com proposal to Open Networking Foundation (ONF)";\r
18   contact\r
19     "WG Web : https://github.com/openBackhaul/Overview\r
20      WG List: VlanFd@openBackhaul.com\r
21      Editor : Thorsten Heinze\r
22      Email  : Thorsten.Heinze@openBackhaul.com";\r
23   description\r
24     "Technology specific Forwarding Domain for VLAN Components according to IEEE 802.1Q-2018.\r
25 \r
26      Copyright 2019 openBackhaul.com\r
27 \r
28      Licensed under the Apache License, Version 2.0 (the 'License');\r
29      you may not use this file except in compliance with the License.\r
30      You may obtain a copy of the License at\r
31      http://www.apache.org/licenses/LICENSE-2.0\r
32      Unless required by applicable law or agreed to in writing, software\r
33      distributed under the License is distributed on an 'AS IS' BASIS,\r
34      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
35      See the License for the specific language governing permissions and\r
36      limitations under the License.";\r
37 \r
38   revision 2020-08-26 {\r
39     description\r
40       "Model for the Transport SDN Pilot at Telefonica Germany.\r
41        Please view https://github.com/openBackhaul/vlanFd/issues for changes.";\r
42     reference\r
43       "https://github.com/openBackhaul/vlanFd/tree/tsp: Model definition\r
44        https://github.com/openBackhaul/onfCoreIm/tree/tsp: ONF TR-512 Core IM incl. Profile and enhanced Equipment definition";\r
45   }\r
46   revision 2019-08-19 {\r
47     description\r
48       "Model for the Transport SDN Pilot at Telefonica Germany.\r
49        Please view https://github.com/openBackhaul/vlanFd/issues for changes.";\r
50     reference\r
51       "https://github.com/openBackhaul/vlanFd/tree/tsp: Model definition\r
52        https://github.com/openBackhaul/onfCoreIm/tree/tsp: ONF TR-512 Core IM incl. Profile and enhanced Equipment definition";\r
53   }\r
54 \r
55   identity LAYER_PROTOCOL_NAME_TYPE_VLAN_LAYER {\r
56     base core-model:LAYER_PROTOCOL_NAME_TYPE;\r
57     description\r
58       "none";\r
59   }\r
60 \r
61   augment "/core-model:control-construct/core-model:forwarding-domain" {\r
62     when "derived-from-or-self(./core-model:layer-protocol-name, 'vlan-interface:LAYER_PROTOCOL_NAME_TYPE_VLAN_LAYER')";\r
63     uses vlan-fd-spec;\r
64     description\r
65       "none";\r
66   }\r
67 \r
68   /****************************************\r
69    * package notifications\r
70    **************************************/ \r
71 \r
72   notification object-creation-notification {\r
73     uses object-creation-notification;\r
74     description\r
75       "none";\r
76   }\r
77 \r
78   grouping object-creation-notification {\r
79     leaf counter {\r
80       type int32;\r
81       default "-1";\r
82       config false;\r
83       description\r
84         "Counts object creation notifications.";\r
85     }\r
86     leaf timestamp {\r
87       type yang:date-and-time;\r
88       default "2010-11-20T14:00:00+01:00";\r
89       config false;\r
90       description\r
91         "none";\r
92     }\r
93     leaf object-id-ref {\r
94       type leafref {\r
95         path "/core-model:control-construct/core-model:forwarding-domain/core-model:uuid";\r
96         require-instance false;\r
97       }\r
98       config false;\r
99       description\r
100         "none";\r
101     }\r
102     leaf object-type {\r
103       type string;\r
104       default "Type of created object not specified.";\r
105       config false;\r
106       description\r
107         "none";\r
108     }\r
109     description\r
110       "none";\r
111   }\r
112 \r
113   notification object-deletion-notification {\r
114     uses object-deletion-notification;\r
115     description\r
116       "none";\r
117   }\r
118 \r
119   grouping object-deletion-notification {\r
120     leaf counter {\r
121       type int32;\r
122       default "-1";\r
123       config false;\r
124       description\r
125         "Counts object deletion notifications.";\r
126     }\r
127     leaf timestamp {\r
128       type yang:date-and-time;\r
129       default "2010-11-20T14:00:00+01:00";\r
130       config false;\r
131       description\r
132         "none";\r
133     }\r
134     leaf object-id-ref {\r
135       type leafref {\r
136         path "/core-model:control-construct/core-model:forwarding-domain/core-model:uuid";\r
137         require-instance false;\r
138       }\r
139       config false;\r
140       description\r
141         "none";\r
142     }\r
143     description\r
144       "none";\r
145   }\r
146 \r
147   notification attribute-value-changed-notification {\r
148     uses attribute-value-changed-notification;\r
149     description\r
150       "none";\r
151   }\r
152 \r
153   grouping attribute-value-changed-notification {\r
154     leaf counter {\r
155       type int32;\r
156       default "-1";\r
157       config false;\r
158       description\r
159         "Counts attribute value changed notifications.";\r
160     }\r
161     leaf timestamp {\r
162       type yang:date-and-time;\r
163       default "2010-11-20T14:00:00+01:00";\r
164       config false;\r
165       description\r
166         "none";\r
167     }\r
168     leaf object-id-ref {\r
169       type leafref {\r
170         path "/core-model:control-construct/core-model:forwarding-domain/core-model:uuid";\r
171         require-instance false;\r
172       }\r
173       config false;\r
174       description\r
175         "none";\r
176     }\r
177     leaf attribute-name {\r
178       type string;\r
179       default "Attribute name not specified.";\r
180       config false;\r
181       description\r
182         "Name of the attribute that has been changed.";\r
183     }\r
184     leaf new-value {\r
185       type string;\r
186       default "New value not specified.";\r
187       config false;\r
188       description\r
189         "Attribute value converted to a string (xml, json, ...)";\r
190     }\r
191     description\r
192       "To be sent when an attribute has changed and one or more controllers have to update their data.";\r
193   }\r
194 \r
195   notification problem-notification {\r
196     uses problem-notification;\r
197     description\r
198       "none";\r
199   }\r
200 \r
201   grouping problem-notification {\r
202     leaf counter {\r
203       type int32;\r
204       default "-1";\r
205       config false;\r
206       description\r
207         "Counts problem notifications";\r
208     }\r
209     leaf timestamp {\r
210       type yang:date-and-time;\r
211       default "2010-11-20T14:00:00+01:00";\r
212       config false;\r
213       description\r
214         "none";\r
215     }\r
216     leaf object-id-ref {\r
217       type leafref {\r
218         path "/core-model:control-construct/core-model:forwarding-domain/core-model:uuid";\r
219         require-instance false;\r
220       }\r
221       config false;\r
222       description\r
223         "none";\r
224     }\r
225     leaf problem {\r
226       type string;\r
227       default "Problem name not specified.";\r
228       config false;\r
229       description\r
230         "Name of the problem according to *Capability::supportedAlarmList";\r
231     }\r
232     leaf severity {\r
233       type severity-type;\r
234       default "SEVERITY_TYPE_WARNING";\r
235       config false;\r
236       description\r
237         "Severity of the problem according to *Configuration::problemSeverityList";\r
238     }\r
239     description\r
240       "none";\r
241   }\r
242 \r
243   /****************************************\r
244    * grouping statements for object classes\r
245    **************************************/ \r
246   /****************************************\r
247    * package super-classes\r
248    **************************************/ \r
249 \r
250   grouping current-problem {\r
251     leaf sequence-number {\r
252       type int16;\r
253       config false;\r
254       description\r
255         "Unique sequence number of the current problem object.";\r
256     }\r
257     leaf timestamp {\r
258       type yang:date-and-time;\r
259       default "2010-11-20T14:00:00+01:00";\r
260       config false;\r
261       description\r
262         "none";\r
263     }\r
264     leaf problem-severity {\r
265       type severity-type;\r
266       default "SEVERITY_TYPE_NOT_YET_DEFINED";\r
267       config false;\r
268       description\r
269         "Severity of the alarm.";\r
270     }\r
271     description\r
272       "none";\r
273   }\r
274 \r
275   grouping vlan-fd-spec {\r
276     container vlan-fd-pac {\r
277       uses vlan-fd-pac;\r
278       description\r
279         "none";\r
280     }\r
281     description\r
282       "The set of components associated with a given Bridge. For example, - A TPMR is associated with a single VLAN unaware component. - A Customer VLAN Bridge is associated with a single VLAN aware component. - A Provider Bridge is associated with a single S-VLAN component and zero or more C-VLAN components. Name in ieee802-dot1q-bridge.yang: component.";\r
283   }\r
284 \r
285   grouping vlan-fd-pac {\r
286     container vlan-fd-capability {\r
287       config false;\r
288       uses vlan-fd-capability;\r
289       description\r
290         "none";\r
291     }\r
292     container vlan-fd-configuration {\r
293       uses vlan-fd-configuration;\r
294       description\r
295         "none";\r
296     }\r
297     container vlan-fd-status {\r
298       config false;\r
299       uses vlan-fd-status;\r
300       description\r
301         "none";\r
302     }\r
303     container vlan-fd-current-problems {\r
304       config false;\r
305       uses vlan-fd-current-problems;\r
306       description\r
307         "none";\r
308     }\r
309     description\r
310       "none";\r
311   }\r
312 \r
313   grouping vlan-fd-capability {\r
314     leaf-list supported-sub-layer-protocol-name-list {\r
315       type sub-layer-protocol-name-type;\r
316       default "SUB_LAYER_PROTOCOL_NAME_TYPE_NOT_YET_DEFINED";\r
317       config false;\r
318       description\r
319         "Lists the supported kinds of Components. ";\r
320     }\r
321     leaf component-id {\r
322       type int32;\r
323       config false;\r
324       description\r
325         "Unique identifier for a particular Bridge component within the system. Name in ieee802-dot1q-bridge.yang: id.";\r
326     }\r
327     leaf extended-filtering-is-avail {\r
328       type boolean;\r
329       default "false";\r
330       config false;\r
331       description\r
332         "true = Component can perform filtering on individual multicast addresses controlled by MMRP (Multiple MAC Registration Protocol). Name in ieee802-dot1q-bridge.yang: extended-filtering.";\r
333     }\r
334     leaf traffic-classes-is-avail {\r
335       type boolean;\r
336       default "false";\r
337       config false;\r
338       description\r
339         "true = Component can map the Priority values into multiple traffic classes (there is more than one traffic class at the device). Name in ieee802-dot1q-bridge.yang: traffic-classes.";\r
340     }\r
341     leaf static-entries-on-individual-ports-is-avail {\r
342       type boolean;\r
343       default "false";\r
344       config false;\r
345       description\r
346         "true = Static entries per port are available. Name in ieee802-dot1q-bridge.yang: static-entry-individual-port.";\r
347     }\r
348     leaf independent-vlan-learning-is-avail {\r
349       type boolean;\r
350       default "false";\r
351       config false;\r
352       description\r
353         "true = Component supports Independent VLAN Learning (IVL). Name in ieee802-dot1q-bridge.yang: ivl-capable.";\r
354     }\r
355     leaf shared-vlan-learning-is-avail {\r
356       type boolean;\r
357       default "false";\r
358       config false;\r
359       description\r
360         "true = Component supports Shared VLAN Learning (SVL). Name in ieee802-dot1q-bridge.yang: svl-capable.";\r
361     }\r
362     leaf hybrid-vlan-learning-is-avail {\r
363       type boolean;\r
364       default "false";\r
365       config false;\r
366       description\r
367         "true = Component supports both Independent and Shared VLAN Learning simultaneously. Name in ieee802-dot1q-bridge.yang: hybrid-capable.";\r
368     }\r
369     leaf configurable-port-vlan-id-tagging-is-avail {\r
370       type boolean;\r
371       default "false";\r
372       config false;\r
373       description\r
374         "true = Component supports setting the egress status (VLAN-tagged or Untagged) on each port. Name in ieee802-dot1q-bridge.yang: configurable-pvid-tagging.";\r
375     }\r
376     leaf multiple-local-bridges-is-avail {\r
377       type boolean;\r
378       default "false";\r
379       config false;\r
380       description\r
381         "true = Can support multiple local Bridges, outside the scope of 802.1Q defined VLANs. Name in ieee802-dot1q-bridge.yang: local-vlan-capable.";\r
382     }\r
383     leaf supported-version {\r
384       type int16;\r
385       default "-1";\r
386       config false;\r
387       description\r
388         "The version number supported. Name in ieee802-dot1q-bridge.yang: version.";\r
389     }\r
390     leaf maximum-number-of-vlan-ids {\r
391       type int16;\r
392       default "-1";\r
393       config false;\r
394       description\r
395         "The maximum number of VLAN IDs supported. Name in ieee802-dot1q-bridge.yang: max-vids.";\r
396     }\r
397     leaf overriding-default-port-vlan-id-is-avail {\r
398       type boolean;\r
399       default "false";\r
400       config false;\r
401       description\r
402         "true = Component supports overridding the default PVID on each port. Name in ieee802-dot1q-bridge.yang: override-default-pvid.";\r
403     }\r
404     leaf protocol-frame-format {\r
405       type protocol-frame-format-type;\r
406       config false;\r
407       description\r
408         "Only effective if (portAndProtocolBasedVlanIsAvail==true). The data-link encapsulation format or the detagged_frame_type in a Protocol Template. Name in ieee802-dot1q-bridge.yang: protocol-template.";\r
409     }\r
410     leaf maximum-number-of-msti {\r
411       type int16;\r
412       default "-1";\r
413       config false;\r
414       description\r
415         "Maximum number of Multiple Spanning Tree Instances (MSTIs) supported within an MST region (i.e., the number of spanning tree instances that can be supported in addition to the CIST), for MST Bridges. For SST Bridges, this parameter may be either omitted or reported as 0.  Name in ieee802-dot1q-bridge.yang: max-msti.";\r
416     }\r
417     leaf admin-shut-down-is-avail {\r
418       type boolean;\r
419       default "false";\r
420       config false;\r
421       description\r
422         "true = Manual switching on and off of the forwarding domain without deleting it (underlying OSI network layers are also not affected) is available.";\r
423     }\r
424     leaf maintenance-timer-range {\r
425       type string;\r
426       default "Range of the maintenance timer not yet defined.";\r
427       config false;\r
428       description\r
429         "Available time periods for maintenance configurations to be described. Concrete values shall be separated by commas (e.g. '10, 60, 360'). Ranges shall be expressed as two values separated by a minus (e.g. '10-360').";\r
430     }\r
431     leaf-list supported-alarm-list {\r
432       type string;\r
433       default "Supported Alarms Not Yet Defined";\r
434       config false;\r
435       description\r
436         "Available alarms to be listed.";\r
437     }\r
438     description\r
439       "none";\r
440   }\r
441 \r
442   grouping vlan-fd-configuration {\r
443     leaf fd-name {\r
444       type string;\r
445       default "Forwarding Domain name not yet defined.";\r
446       description\r
447         "The name of the Component. Free text field to be filled by the operator. Name in ieee802-dot1q-bridge.yang: name.";\r
448     }\r
449     leaf fd-is-on {\r
450       type boolean;\r
451       default "false";\r
452       description\r
453         "Only effective if (adminShutDownIsAvail==true). true = Activation of the Component. false = De-activation of the forwarding domain without deleting it (underlying OSI network layers are not affected).";\r
454     }\r
455     leaf sub-layer-protocol-name {\r
456       type sub-layer-protocol-name-type;\r
457       default "SUB_LAYER_PROTOCOL_NAME_TYPE_NOT_YET_DEFINED";\r
458       description\r
459         "The type of Component used to classify a particular Bridge component within a Bridge system comprising multiple components. Name in ieee802-dot1q-bridge.yang: type.\n";\r
460     }\r
461     leaf mac-address {\r
462       type string;\r
463       default "00:00:00:00:00:00";\r
464       description\r
465         "Unique EUI-48 Universally Administered MAC address configured on a Bridge Component. Name in ieee802-dot1q-bridge.yang: address.";\r
466     }\r
467     leaf traffic-classes-is-on {\r
468       type boolean;\r
469       default "false";\r
470       description\r
471         "Only effective if (trafficClassesIsAvail==true). true = Traffic Classes are enabled on this Bridge Component. false = Bridge Component operates with a single priority level for all traffic. Name in ieee802-dot1q-bridge.yang: traffic-class-enabled.";\r
472     }\r
473     list protocol-group-list {\r
474       key "db-index";\r
475       uses protocol-group-type;\r
476       description\r
477         "Only effective if (portAndProtocolBasedVlanIsAvail==true). List of the protocol group database entries. Name in ieee802-dot1q-bridge.yang: protocol-group-database.";\r
478     }\r
479     leaf maintenance-timer {\r
480       type int32;\r
481       units "s";\r
482       default "-1";\r
483       description\r
484         "Time of existence of any maintenance configuration. 0 = maintenance timer is switched off. Valid values are defined in *Capability::maintenanceTimerRange.";\r
485     }\r
486     list problem-kind-severity-list {\r
487       key "problem-kind-name";\r
488       uses problem-kind-severity-type;\r
489       description\r
490         "Severity of each entry of the SupportedAlarmList to be configured.";\r
491     }\r
492     description\r
493       "none";\r
494   }\r
495 \r
496   grouping vlan-fd-status {\r
497     leaf mac-address-cur {\r
498       type string;\r
499       default "00:00:00:00:00:00";\r
500       config false;\r
501       description\r
502         "Unique EUI-48 Universally Administered MAC address assigned to a Bridge Component. Name in ieee802-dot1q-bridge.yang: address.";\r
503     }\r
504     leaf number-of-ports-cur {\r
505       type int16;\r
506       default "-1";\r
507       config false;\r
508       description\r
509         "Number of Bridge Ports associated with the Bridge Component. Values between 1 and 4095. Name in ieee802-dot1q-bridge.yang: ports.";\r
510     }\r
511     leaf number-of-static-vlan-registrations-cur {\r
512       type int32;\r
513       default "-1";\r
514       config false;\r
515       description\r
516         "The number of Static VLAN Registration entries currently in the FDB. Name in ieee802-dot1q-bridge.yang: static-vlan-registration-entries.";\r
517     }\r
518     leaf number-of-dynamic-vlan-registrations-cur {\r
519       type int32;\r
520       default "-1";\r
521       config false;\r
522       description\r
523         "The number of Dynamic VLAN Registration entries currently in the FDB. Name in ieee802-dot1q-bridge.yang: static-vlan-registration-entries.";\r
524     }\r
525     leaf fd-status {\r
526       type fd-status-type;\r
527       default "FD_STATUS_TYPE_NOT_YET_DEFINED";\r
528       config false;\r
529       description\r
530         "Operational status of the forwarding domain.";\r
531     }\r
532     description\r
533       "none";\r
534   }\r
535 \r
536   grouping vlan-fd-current-problems {\r
537     list current-problem-list {\r
538       key "sequence-number";\r
539       config false;\r
540       uses vlan-fd-current-problem-type;\r
541       description\r
542         "none";\r
543     }\r
544     description\r
545       "none";\r
546   }\r
547 \r
548   /****************************************\r
549    * typedef statements\r
550    **************************************/ \r
551 \r
552   typedef sub-layer-protocol-name-type {\r
553     type identityref {\r
554       base SUB_LAYER_PROTOCOL_NAME_TYPE;\r
555     }\r
556     description\r
557       "Represents the type of Component. Name in ieee802-dot1q-bridge.yang: type-of-component.";\r
558   }\r
559 \r
560   typedef protocol-frame-format-type {\r
561     type identityref {\r
562       base PROTOCOL_FRAME_FORMAT_TYPE;\r
563     }\r
564     description\r
565       "A value representing the frame format to be matched. Name in ieee802-dot1q-bridge.yang: protocol-frame-format-type.";\r
566   }\r
567 \r
568   /*********************************************\r
569    * grouping statements for complex data types\r
570    *******************************************/ \r
571 \r
572   identity SUB_LAYER_PROTOCOL_NAME_TYPE {\r
573     description\r
574       "none";\r
575   }\r
576 \r
577   identity SUB_LAYER_PROTOCOL_NAME_TYPE_C_VLAN_COMPONENT {\r
578     base SUB_LAYER_PROTOCOL_NAME_TYPE;\r
579     description\r
580       "c-vlan-component. Base identity for a C-VLAN component. Name in ieee802-dot1q-bridge.yang: c-vlan-component.";\r
581   }\r
582 \r
583   identity SUB_LAYER_PROTOCOL_NAME_TYPE_S_VLAN_COMPONENT {\r
584     base SUB_LAYER_PROTOCOL_NAME_TYPE;\r
585     description\r
586       "s-vlan-component. Base identity for a S-VLAN component. Name in ieee802-dot1q-bridge.yang: s-vlan-component.";\r
587   }\r
588 \r
589   identity SUB_LAYER_PROTOCOL_NAME_TYPE_D_BRIDGE_COMPONENT {\r
590     base SUB_LAYER_PROTOCOL_NAME_TYPE;\r
591     description\r
592       "d-bridge-component. Base identity for a VLAN unaware component. Name in ieee802-dot1q-bridge.yang: d-bridge-component.";\r
593   }\r
594 \r
595   identity SUB_LAYER_PROTOCOL_NAME_TYPE_EDGE_RELAY_COMPONENT {\r
596     base SUB_LAYER_PROTOCOL_NAME_TYPE;\r
597     description\r
598       "edge-relay-component. Base identity for an EVB station ER component. Name in ieee802-dot1q-bridge.yang: edge-relay-component. ";\r
599   }\r
600 \r
601   identity SUB_LAYER_PROTOCOL_NAME_TYPE_NOT_YET_DEFINED {\r
602     base SUB_LAYER_PROTOCOL_NAME_TYPE;\r
603     description\r
604       "none";\r
605   }\r
606 \r
607   identity PROTOCOL_FRAME_FORMAT_TYPE {\r
608     description\r
609       "none";\r
610   }\r
611 \r
612   identity PROTOCOL_FRAME_FORMAT_TYPE_ETHERNET {\r
613     base PROTOCOL_FRAME_FORMAT_TYPE;\r
614     description\r
615       "Ethernet frame format. Name in ieee802-dot1q-bridge.yang: Ethernet.";\r
616   }\r
617 \r
618   identity PROTOCOL_FRAME_FORMAT_TYPE_RFC1042 {\r
619     base PROTOCOL_FRAME_FORMAT_TYPE;\r
620     description\r
621       "RFC 1042 frame format. Name in ieee802-dot1q-bridge.yang: rfc1042.";\r
622   }\r
623 \r
624   identity PROTOCOL_FRAME_FORMAT_TYPE_SNAP8021H_ {\r
625     base PROTOCOL_FRAME_FORMAT_TYPE;\r
626     description\r
627       "SNAP 802.1H frame format. Name in ieee802-dot1q-bridge.yang: snap8021H.";\r
628   }\r
629 \r
630   identity PROTOCOL_FRAME_FORMAT_TYPE_SNAP_OTHER {\r
631     base PROTOCOL_FRAME_FORMAT_TYPE;\r
632     description\r
633       "Other SNAP frame format. Name in ieee802-dot1q-bridge.yang: snapOther.";\r
634   }\r
635 \r
636   identity PROTOCOL_FRAME_FORMAT_TYPE_LLC_OTHER {\r
637     base PROTOCOL_FRAME_FORMAT_TYPE;\r
638     description\r
639       "Other LLC frame format. Name in ieee802-dot1q-bridge.yang: llcOther.";\r
640   }\r
641 \r
642   identity PROTOCOL_FRAME_FORMAT_TYPE_NOT_YET_DEFINED {\r
643     base PROTOCOL_FRAME_FORMAT_TYPE;\r
644     description\r
645       "none";\r
646   }\r
647 \r
648   identity SEVERITY_TYPE {\r
649     description\r
650       "none";\r
651   }\r
652 \r
653   identity SEVERITY_TYPE_NON_ALARMED {\r
654     base SEVERITY_TYPE;\r
655     description\r
656       "none";\r
657   }\r
658 \r
659   identity SEVERITY_TYPE_WARNING {\r
660     base SEVERITY_TYPE;\r
661     description\r
662       "none";\r
663   }\r
664 \r
665   identity SEVERITY_TYPE_MINOR {\r
666     base SEVERITY_TYPE;\r
667     description\r
668       "none";\r
669   }\r
670 \r
671   identity SEVERITY_TYPE_MAJOR {\r
672     base SEVERITY_TYPE;\r
673     description\r
674       "none";\r
675   }\r
676 \r
677   identity SEVERITY_TYPE_CRITICAL {\r
678     base SEVERITY_TYPE;\r
679     description\r
680       "none";\r
681   }\r
682 \r
683   identity SEVERITY_TYPE_NOT_YET_DEFINED {\r
684     base SEVERITY_TYPE;\r
685     description\r
686       "none";\r
687   }\r
688 \r
689   identity FD_STATUS_TYPE {\r
690     description\r
691       "none";\r
692   }\r
693 \r
694   identity FD_STATUS_TYPE_UP {\r
695     base FD_STATUS_TYPE;\r
696     description\r
697       "Ready to pass packets.";\r
698   }\r
699 \r
700   identity FD_STATUS_TYPE_DOWN {\r
701     base FD_STATUS_TYPE;\r
702     description\r
703       "The interface does not pass any packets.";\r
704   }\r
705 \r
706   identity FD_STATUS_TYPE_TESTING {\r
707     base FD_STATUS_TYPE;\r
708     description\r
709       "In some test mode.  No operational packets can be passed.";\r
710   }\r
711 \r
712   identity FD_STATUS_TYPE_UNKNOWN {\r
713     base FD_STATUS_TYPE;\r
714     description\r
715       "Status cannot be determined for some reason.";\r
716   }\r
717 \r
718   identity FD_STATUS_TYPE_DORMANT {\r
719     base FD_STATUS_TYPE;\r
720     description\r
721       "Waiting for some external event.";\r
722   }\r
723 \r
724   identity FD_STATUS_TYPE_NOT_PRESENT {\r
725     base FD_STATUS_TYPE;\r
726     description\r
727       "Some component (typically hardware) is missing.";\r
728   }\r
729 \r
730   identity FD_STATUS_TYPE_LOWER_LAYER_DOWN {\r
731     base FD_STATUS_TYPE;\r
732     description\r
733       "Down due to state of lower-layer interface(s).";\r
734   }\r
735 \r
736   identity FD_STATUS_TYPE_ADMIN_DOWN {\r
737     base FD_STATUS_TYPE;\r
738     description\r
739       "Down due to configuration.";\r
740   }\r
741 \r
742   identity FD_STATUS_TYPE_NOT_YET_DEFINED {\r
743     base FD_STATUS_TYPE;\r
744     description\r
745       "none";\r
746   }\r
747 \r
748   /****************************************\r
749    * package super-types\r
750    **************************************/ \r
751 \r
752   typedef severity-type {\r
753     type identityref {\r
754       base SEVERITY_TYPE;\r
755     }\r
756     description\r
757       "none";\r
758   }\r
759 \r
760   typedef fd-status-type {\r
761     type identityref {\r
762       base FD_STATUS_TYPE;\r
763     }\r
764     description\r
765       "Current Status of the Forwarding Domain";\r
766   }\r
767 \r
768   grouping problem-kind-severity-type {\r
769     leaf problem-kind-name {\r
770       type string;\r
771       description\r
772         "Name of the alarm according to SupportedAlarmList";\r
773     }\r
774     leaf problem-kind-severity {\r
775       type severity-type;\r
776       default "SEVERITY_TYPE_NOT_YET_DEFINED";\r
777       description\r
778         "Severity of this type of alarm.";\r
779     }\r
780     description\r
781       "none";\r
782   }\r
783 \r
784   grouping protocol-group-type {\r
785     leaf db-index {\r
786       type uint16;\r
787       description\r
788         "The protocol group database index. Name in ieee802-dot1q-bridge.yang: db-index.";\r
789     }\r
790     leaf protocol-group-id {\r
791       type int32;\r
792       default "-1";\r
793       description\r
794         "Designates a group of protocols in the Protocol Group Database. Name in ieee802-dot1q-bridge.yang: group-id.";\r
795     }\r
796     leaf protocol-frame-format {\r
797       type protocol-frame-format-type;\r
798       default "PROTOCOL_FRAME_FORMAT_TYPE_NOT_YET_DEFINED";\r
799       description\r
800         "The data-link encapsulation format or the detagged_frame_type in a Protocol Template. Name in ieee802-dot1q-bridge.yang: frame-format-type.";\r
801     }\r
802     leaf ethertype {\r
803       type string;\r
804       default "Ethertype not yet defined.";\r
805       description\r
806         "ethertype. Only relevant if (protocolFrameFormat==ETHERNET) OR (protocolFrameFormat==RFC1042) OR (protocolFrameFormat==SNAP8021H). Format containing the 16-bit IEEE 802 EtherType field. The EtherType value represented in the canonical order defined by IEEE 802. The canonical representation is using uppercase characters. Pattern '[0-9a-fA-F]{2}-[0-9a-fA-F]{2}'. Name in ieee802-dot1q-bridge.yang: ethertype.";\r
807     }\r
808     leaf protocol-id {\r
809       type string;\r
810       default "Protocol ID not yet defined.";\r
811       description\r
812         "Only effective if (protocolFrameFormat==SNAP_OTHER). Format containing the 40-bit protocol identifier (PID). The canonical representation is using uppercase characters. Pattern '[0-9a-fA-F]{2}(-[0-9a-fA-F]{2}){4}'. Name in ieee802-dot1q-bridge.yang: protocol-id.";\r
813     }\r
814     leaf-list llc-address {\r
815       type string;\r
816       default "LLC Address not yet defined.";\r
817       description\r
818         "Only effective if (protocolFrameFormat==LLC_OTHER). A pair of ISO/IEC 8802-2 DSAP and SSAP address field values, for matching frame formats of LLC_Other. The canonical representation is using uppercase characters. Pattern '[0-9a-fA-F]{2}-[0-9a-fA-F]{2}'. Name in ieee802-dot1q-bridge.yang: llc-address.";\r
819     }\r
820     description\r
821       "none";\r
822   }\r
823 \r
824   grouping vlan-fd-current-problem-type {\r
825     leaf problem-name {\r
826       type string;\r
827       default "Problem name not specified.";\r
828       config false;\r
829       description\r
830         "Name of the alarm according to SupportedAlarmList";\r
831     }\r
832     uses current-problem;\r
833     description\r
834       "none";\r
835   }\r
836 }\r