3 namespace "urn:onf:yang:mac-fd-1-0";
\r
6 import ietf-yang-types {
\r
9 import core-model-1-4 {
\r
14 "openBackhaul.com proposal to Open Networking Foundation (ONF)";
\r
16 "WG Web : https://github.com/openBackhaul/Overview
\r
17 WG List: MacFd@openBackhaul.com
\r
18 Editor : Thorsten Heinze
\r
19 Email : Thorsten.Heinze@openBackhaul.com";
\r
21 "Technology specific amendment to the ForwardingDomain class for documenting potential forwarding (Ethernet Switch) according to IEEE 802.1 .
\r
23 Copyright 2019 openBackhaul.com
\r
25 Licensed under the Apache License, Version 2.0 (the 'License');
\r
26 you may not use this file except in compliance with the License.
\r
27 You may obtain a copy of the License at
\r
28 http://www.apache.org/licenses/LICENSE-2.0
\r
29 Unless required by applicable law or agreed to in writing, software
\r
30 distributed under the License is distributed on an 'AS IS' BASIS,
\r
31 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
32 See the License for the specific language governing permissions and
\r
33 limitations under the License.";
\r
35 revision 2020-08-26 {
\r
37 "Model for the Transport SDN Pilot at Telefonica Germany.
\r
38 Please view https://github.com/openBackhaul/macFd/issues for changes.";
\r
40 "https://github.com/openBackhaul/macFd/tree/tsp: Model definition
\r
41 https://github.com/openBackhaul/onfCoreIm/tree/tsp: ONF TR-512 Core IM incl. Profile and enhanced Equipment definition";
\r
44 identity LAYER_PROTOCOL_NAME_TYPE_MAC_LAYER {
\r
45 base core-model:LAYER_PROTOCOL_NAME_TYPE;
\r
50 augment "/core-model:control-construct/core-model:forwarding-domain" {
\r
51 when "derived-from-or-self(./core-model:layer-protocol-name, 'vlan-fd:LAYER_PROTOCOL_NAME_TYPE_MAC_LAYER')";
\r
57 /****************************************
\r
58 * package notifications
\r
59 **************************************/
\r
61 notification object-creation-notification {
\r
62 uses object-creation-notification;
\r
67 grouping object-creation-notification {
\r
73 "Counts object creation notifications.";
\r
76 type yang:date-and-time;
\r
77 default "2010-11-20T14:00:00+01:00";
\r
82 leaf object-id-ref {
\r
84 path "/core-model:control-construct/core-model:forwarding-domain/core-model:uuid";
\r
85 require-instance false;
\r
93 default "Type of created object not specified.";
\r
102 notification object-deletion-notification {
\r
103 uses object-deletion-notification;
\r
108 grouping object-deletion-notification {
\r
114 "Counts object deletion notifications.";
\r
117 type yang:date-and-time;
\r
118 default "2010-11-20T14:00:00+01:00";
\r
123 leaf object-id-ref {
\r
125 path "/core-model:control-construct/core-model:forwarding-domain/core-model:uuid";
\r
126 require-instance false;
\r
136 notification attribute-value-changed-notification {
\r
137 uses attribute-value-changed-notification;
\r
142 grouping attribute-value-changed-notification {
\r
148 "Counts attribute value changed notifications.";
\r
151 type yang:date-and-time;
\r
152 default "2010-11-20T14:00:00+01:00";
\r
157 leaf object-id-ref {
\r
159 path "/core-model:control-construct/core-model:forwarding-domain/core-model:uuid";
\r
160 require-instance false;
\r
166 leaf attribute-name {
\r
168 default "Attribute name not specified.";
\r
171 "Name of the attribute that has been changed.";
\r
175 default "New value not specified.";
\r
178 "Attribute value converted to a string (xml, json, ...)";
\r
181 "To be sent when an attribute has changed and one or more controllers have to update their data.";
\r
184 notification problem-notification {
\r
185 uses problem-notification;
\r
190 grouping problem-notification {
\r
196 "Counts problem notifications";
\r
199 type yang:date-and-time;
\r
200 default "2010-11-20T14:00:00+01:00";
\r
205 leaf object-id-ref {
\r
207 path "/core-model:control-construct/core-model:forwarding-domain/core-model:uuid";
\r
208 require-instance false;
\r
216 default "Problem name not specified.";
\r
219 "Name of the problem according to *Capability::supportedAlarmList";
\r
222 type severity-type;
\r
223 default "SEVERITY_TYPE_WARNING";
\r
226 "Severity of the problem according to *Configuration::problemSeverityList";
\r
232 /****************************************
\r
233 * grouping statements for object classes
\r
234 **************************************/
\r
235 /****************************************
\r
236 * package super-classes
\r
237 **************************************/
\r
239 grouping current-problem {
\r
240 leaf sequence-number {
\r
244 "Unique sequence number of the current problem object.";
\r
247 type yang:date-and-time;
\r
248 default "2010-11-20T14:00:00+01:00";
\r
253 leaf problem-severity {
\r
254 type severity-type;
\r
255 default "SEVERITY_TYPE_NOT_YET_DEFINED";
\r
258 "Severity of the alarm.";
\r
264 grouping mac-fd-spec {
\r
265 container mac-fd-pac {
\r
271 "The database that holds static and learned entries describing the MAC forwarding. Name in ieee802-dot1q-bridge.yang: filtering-database.";
\r
274 grouping mac-fd-pac {
\r
275 container mac-fd-capability {
\r
277 uses mac-fd-capability;
\r
281 container mac-fd-configuration {
\r
282 uses mac-fd-configuration;
\r
286 container mac-fd-status {
\r
288 uses mac-fd-status;
\r
292 container mac-fd-current-problems {
\r
294 uses mac-fd-current-problems;
\r
302 grouping mac-fd-capability {
\r
303 leaf maximum-number-of-entries {
\r
308 "The maximum number of entries that can be held in the FDB. Name in ieee802-dot1q-bridge.yang: size.";
\r
310 leaf admin-shut-down-is-avail {
\r
315 "true = Manual switching on and off of the forwarding domain without deleting it (underlying OSI network layers are also not affected) is available.";
\r
317 leaf maintenance-timer-range {
\r
319 default "Range of the maintenance timer not yet defined.";
\r
322 "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
324 leaf-list supported-alarm-list {
\r
326 default "Supported Alarms Not Yet Defined";
\r
329 "Available alarms to be listed.";
\r
335 grouping mac-fd-configuration {
\r
338 default "Forwarding Domain name not yet defined.";
\r
340 "Name of the ForwardingDomain. Free text field to be filled by the operator.";
\r
346 "Only effective if (adminShutDownIsAvail==true). true = Activation of the ForwardingDomain. false = De-activation of the ForwardingDomain without deleting it (underlying OSI network layers are not affected).";
\r
350 default "00:00:00:00:00:00";
\r
352 "Configuration of the MAC address of a switch or virtual switch, which is defined by some VLAN.";
\r
359 "The timeout period (10..10,000,000) in seconds for aging out dynamically-learned forwarding information. Name in ieee802-dot1q-bridge.yang: aging-time.";
\r
361 leaf maintenance-timer {
\r
366 "Time of existence of any maintenance configuration. false = maintenance timer is switched off. Valid values are defined in *Capability::maintenanceTimerRange.";
\r
368 list problem-kind-severity-list {
\r
369 key "problem-kind-name";
\r
370 uses problem-kind-severity-type;
\r
372 "Severity of each entry of the SupportedAlarmList to be configured.";
\r
378 grouping mac-fd-status {
\r
379 leaf mac-address-cur {
\r
381 default "00:00:00:00:00:00";
\r
384 "MAC address assigned to a switch or virtual switch, which is defined by some VLAN.";
\r
386 leaf number-of-static-entries-cur {
\r
391 "The number of Static Filtering entries currently in the FDB. Name in ieee802-dot1q-bridge.yang: static-entries.";
\r
393 leaf number-of-dynamic-entries-cur {
\r
398 "The number of Dynamic Filtering entries currently in the FDB. Name in ieee802-dot1q-bridge.yang: dynamic-entries.";
\r
400 leaf number-of-mac-registrations-cur {
\r
405 "The number of MAC Address Registration entries currently in the FDB. Name in ieee802-dot1q-bridge.yang: mac-address-registration-entries.";
\r
408 type fd-status-type;
\r
409 default "FD_STATUS_TYPE_NOT_YET_DEFINED";
\r
412 "Operational status of the forwarding domain.";
\r
418 grouping mac-fd-current-problems {
\r
419 list current-problem-list {
\r
420 key "sequence-number";
\r
422 uses mac-fd-current-problem-type;
\r
430 /****************************************
\r
431 * typedef statements
\r
432 **************************************/
\r
433 /*********************************************
\r
434 * grouping statements for complex data types
\r
435 *******************************************/
\r
437 identity SEVERITY_TYPE {
\r
442 identity SEVERITY_TYPE_NON_ALARMED {
\r
443 base SEVERITY_TYPE;
\r
448 identity SEVERITY_TYPE_WARNING {
\r
449 base SEVERITY_TYPE;
\r
454 identity SEVERITY_TYPE_MINOR {
\r
455 base SEVERITY_TYPE;
\r
460 identity SEVERITY_TYPE_MAJOR {
\r
461 base SEVERITY_TYPE;
\r
466 identity SEVERITY_TYPE_CRITICAL {
\r
467 base SEVERITY_TYPE;
\r
472 identity SEVERITY_TYPE_NOT_YET_DEFINED {
\r
473 base SEVERITY_TYPE;
\r
478 identity FD_STATUS_TYPE {
\r
483 identity FD_STATUS_TYPE_UP {
\r
484 base FD_STATUS_TYPE;
\r
486 "Ready to pass packets.";
\r
489 identity FD_STATUS_TYPE_DOWN {
\r
490 base FD_STATUS_TYPE;
\r
492 "The interface does not pass any packets.";
\r
495 identity FD_STATUS_TYPE_TESTING {
\r
496 base FD_STATUS_TYPE;
\r
498 "In some test mode. No operational packets can be passed.";
\r
501 identity FD_STATUS_TYPE_UNKNOWN {
\r
502 base FD_STATUS_TYPE;
\r
504 "Status cannot be determined for some reason.";
\r
507 identity FD_STATUS_TYPE_DORMANT {
\r
508 base FD_STATUS_TYPE;
\r
510 "Waiting for some external event.";
\r
513 identity FD_STATUS_TYPE_NOT_PRESENT {
\r
514 base FD_STATUS_TYPE;
\r
516 "Some component (typically hardware) is missing.";
\r
519 identity FD_STATUS_TYPE_LOWER_LAYER_DOWN {
\r
520 base FD_STATUS_TYPE;
\r
522 "Down due to state of lower-layer interface(s).";
\r
525 identity FD_STATUS_TYPE_ADMIN_DOWN {
\r
526 base FD_STATUS_TYPE;
\r
528 "Down due to configuration.";
\r
531 identity FD_STATUS_TYPE_NOT_YET_DEFINED {
\r
532 base FD_STATUS_TYPE;
\r
537 /****************************************
\r
538 * package super-types
\r
539 **************************************/
\r
541 typedef severity-type {
\r
543 base SEVERITY_TYPE;
\r
549 typedef fd-status-type {
\r
551 base FD_STATUS_TYPE;
\r
554 "Current Status of the Forwarding Domain";
\r
557 grouping problem-kind-severity-type {
\r
558 leaf problem-kind-name {
\r
561 "Name of the alarm according to SupportedAlarmList";
\r
563 leaf problem-kind-severity {
\r
564 type severity-type;
\r
565 default "SEVERITY_TYPE_NOT_YET_DEFINED";
\r
567 "Severity of this type of alarm.";
\r
573 grouping mac-fd-current-problem-type {
\r
574 leaf problem-name {
\r
576 default "Problem name not specified.";
\r
579 "Name of the alarm according to SupportedAlarmList";
\r
581 uses current-problem;
\r