Add o-ran fronthaul datamodels
[scp/oam/modeling.git] / data-model / yang / published / ietf / ietf-interfaces.yang
1 module ietf-interfaces {
2   yang-version 1.1;
3   namespace "urn:ietf:params:xml:ns:yang:ietf-interfaces";
4   prefix if;
5
6   import ietf-yang-types {
7     prefix yang;
8   }
9
10   organization
11     "IETF NETMOD (Network Modeling) Working Group";
12
13   contact
14     "WG Web:   <https://datatracker.ietf.org/wg/netmod/>
15      WG List:  <mailto:netmod@ietf.org>
16      Editor:   Martin Bjorklund
17                <mailto:mbj@tail-f.com>";
18
19   description
20     "This module contains a collection of YANG definitions for
21      managing network interfaces.
22      Copyright (c) 2018 IETF Trust and the persons identified as
23      authors of the code.  All rights reserved.
24      Redistribution and use in source and binary forms, with or
25      without modification, is permitted pursuant to, and subject
26      to the license terms contained in, the Simplified BSD License
27      set forth in Section 4.c of the IETF Trust's Legal Provisions
28      Relating to IETF Documents
29      (https://trustee.ietf.org/license-info).
30      This version of this YANG module is part of RFC 8343; see
31      the RFC itself for full legal notices.";
32
33   revision 2018-02-20 {
34     description
35       "Updated to support NMDA.";
36     reference
37       "RFC 8343: A YANG Data Model for Interface Management";
38   }
39
40   revision 2014-05-08 {
41     description
42       "Initial revision.";
43     reference
44       "RFC 7223: A YANG Data Model for Interface Management";
45   }
46
47   /*
48    * Typedefs
49    */
50
51   typedef interface-ref {
52     type leafref {
53       path "/if:interfaces/if:interface/if:name";
54     }
55     description
56       "This type is used by data models that need to reference
57        interfaces.";
58   }
59
60   /*
61    * Identities
62    */
63
64   identity interface-type {
65     description
66       "Base identity from which specific interface types are
67        derived.";
68   }
69
70   /*
71    * Features
72    */
73
74   feature arbitrary-names {
75     description
76       "This feature indicates that the device allows user-controlled
77        interfaces to be named arbitrarily.";
78   }
79   feature pre-provisioning {
80     description
81       "This feature indicates that the device supports
82        pre-provisioning of interface configuration, i.e., it is
83        possible to configure an interface whose physical interface
84        hardware is not present on the device.";
85   }
86   feature if-mib {
87     description
88       "This feature indicates that the device implements
89        the IF-MIB.";
90     reference
91       "RFC 2863: The Interfaces Group MIB";
92   }
93
94   /*
95    * Data nodes
96    */
97
98   container interfaces {
99     description
100       "Interface parameters.";
101
102     list interface {
103       key "name";
104
105       description
106         "The list of interfaces on the device.
107          The status of an interface is available in this list in the
108          operational state.  If the configuration of a
109          system-controlled interface cannot be used by the system
110          (e.g., the interface hardware present does not match the
111          interface type), then the configuration is not applied to
112          the system-controlled interface shown in the operational
113          state.  If the configuration of a user-controlled interface
114          cannot be used by the system, the configured interface is
115          not instantiated in the operational state.
116          System-controlled interfaces created by the system are
117          always present in this list in the operational state,
118          whether or not they are configured.";
119
120      leaf name {
121         type string;
122         description
123           "The name of the interface.
124            A device MAY restrict the allowed values for this leaf,
125            possibly depending on the type of the interface.
126            For system-controlled interfaces, this leaf is the
127            device-specific name of the interface.
128            If a client tries to create configuration for a
129            system-controlled interface that is not present in the
130            operational state, the server MAY reject the request if
131            the implementation does not support pre-provisioning of
132            interfaces or if the name refers to an interface that can
133            never exist in the system.  A Network Configuration
134            Protocol (NETCONF) server MUST reply with an rpc-error
135            with the error-tag 'invalid-value' in this case.
136            If the device supports pre-provisioning of interface
137            configuration, the 'pre-provisioning' feature is
138            advertised.
139            If the device allows arbitrarily named user-controlled
140            interfaces, the 'arbitrary-names' feature is advertised.
141            When a configured user-controlled interface is created by
142            the system, it is instantiated with the same name in the
143            operational state.
144            A server implementation MAY map this leaf to the ifName
145            MIB object.  Such an implementation needs to use some
146            mechanism to handle the differences in size and characters
147            allowed between this leaf and ifName.  The definition of
148            such a mechanism is outside the scope of this document.";
149         reference
150           "RFC 2863: The Interfaces Group MIB - ifName";
151       }
152
153       leaf description {
154         type string;
155         description
156           "A textual description of the interface.
157            A server implementation MAY map this leaf to the ifAlias
158            MIB object.  Such an implementation needs to use some
159            mechanism to handle the differences in size and characters
160            allowed between this leaf and ifAlias.  The definition of
161            such a mechanism is outside the scope of this document.
162            Since ifAlias is defined to be stored in non-volatile
163            storage, the MIB implementation MUST map ifAlias to the
164            value of 'description' in the persistently stored
165            configuration.";
166         reference
167           "RFC 2863: The Interfaces Group MIB - ifAlias";
168       }
169
170       leaf type {
171         type identityref {
172           base interface-type;
173         }
174         mandatory true;
175         description
176           "The type of the interface.
177            When an interface entry is created, a server MAY
178            initialize the type leaf with a valid value, e.g., if it
179            is possible to derive the type from the name of the
180            interface.
181            If a client tries to set the type of an interface to a
182            value that can never be used by the system, e.g., if the
183            type is not supported or if the type does not match the
184            name of the interface, the server MUST reject the request.
185            A NETCONF server MUST reply with an rpc-error with the
186            error-tag 'invalid-value' in this case.";
187         reference
188           "RFC 2863: The Interfaces Group MIB - ifType";
189       }
190
191       leaf enabled {
192         type boolean;
193         default "true";
194         description
195           "This leaf contains the configured, desired state of the
196            interface.
197            Systems that implement the IF-MIB use the value of this
198            leaf in the intended configuration to set
199            IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
200            has been initialized, as described in RFC 2863.
201            Changes in this leaf in the intended configuration are
202            reflected in ifAdminStatus.";
203         reference
204           "RFC 2863: The Interfaces Group MIB - ifAdminStatus";
205       }
206
207       leaf link-up-down-trap-enable {
208         if-feature if-mib;
209         type enumeration {
210           enum enabled {
211             value 1;
212             description
213               "The device will generate linkUp/linkDown SNMP
214                notifications for this interface.";
215           }
216           enum disabled {
217             value 2;
218             description
219               "The device will not generate linkUp/linkDown SNMP
220                notifications for this interface.";
221           }
222         }
223         description
224           "Controls whether linkUp/linkDown SNMP notifications
225            should be generated for this interface.
226            If this node is not configured, the value 'enabled' is
227            operationally used by the server for interfaces that do
228            not operate on top of any other interface (i.e., there are
229            no 'lower-layer-if' entries), and 'disabled' otherwise.";
230         reference
231           "RFC 2863: The Interfaces Group MIB -
232                      ifLinkUpDownTrapEnable";
233       }
234
235       leaf admin-status {
236         if-feature if-mib;
237         type enumeration {
238           enum up {
239             value 1;
240             description
241               "Ready to pass packets.";
242           }
243           enum down {
244             value 2;
245             description
246               "Not ready to pass packets and not in some test mode.";
247           }
248           enum testing {
249             value 3;
250             description
251               "In some test mode.";
252           }
253         }
254         config false;
255         mandatory true;
256         description
257           "The desired state of the interface.
258            This leaf has the same read semantics as ifAdminStatus.";
259         reference
260           "RFC 2863: The Interfaces Group MIB - ifAdminStatus";
261       }
262
263       leaf oper-status {
264         type enumeration {
265           enum up {
266             value 1;
267             description
268               "Ready to pass packets.";
269           }
270           enum down {
271             value 2;
272
273             description
274               "The interface does not pass any packets.";
275           }
276           enum testing {
277             value 3;
278             description
279               "In some test mode.  No operational packets can
280                be passed.";
281           }
282           enum unknown {
283             value 4;
284             description
285               "Status cannot be determined for some reason.";
286           }
287           enum dormant {
288             value 5;
289             description
290               "Waiting for some external event.";
291           }
292           enum not-present {
293             value 6;
294             description
295               "Some component (typically hardware) is missing.";
296           }
297           enum lower-layer-down {
298             value 7;
299             description
300               "Down due to state of lower-layer interface(s).";
301           }
302         }
303         config false;
304         mandatory true;
305         description
306           "The current operational state of the interface.
307            This leaf has the same semantics as ifOperStatus.";
308         reference
309           "RFC 2863: The Interfaces Group MIB - ifOperStatus";
310       }
311
312       leaf last-change {
313         type yang:date-and-time;
314         config false;
315         description
316           "The time the interface entered its current operational
317            state.  If the current state was entered prior to the
318            last re-initialization of the local network management
319            subsystem, then this node is not present.";
320         reference
321           "RFC 2863: The Interfaces Group MIB - ifLastChange";
322       }
323
324       leaf if-index {
325         if-feature if-mib;
326         type int32 {
327           range "1..2147483647";
328         }
329         config false;
330         mandatory true;
331         description
332           "The ifIndex value for the ifEntry represented by this
333            interface.";
334         reference
335           "RFC 2863: The Interfaces Group MIB - ifIndex";
336       }
337
338       leaf phys-address {
339         type yang:phys-address;
340         config false;
341         description
342           "The interface's address at its protocol sub-layer.  For
343            example, for an 802.x interface, this object normally
344            contains a Media Access Control (MAC) address.  The
345            interface's media-specific modules must define the bit
346            and byte ordering and the format of the value of this
347            object.  For interfaces that do not have such an address
348            (e.g., a serial line), this node is not present.";
349         reference
350           "RFC 2863: The Interfaces Group MIB - ifPhysAddress";
351       }
352
353       leaf-list higher-layer-if {
354         type interface-ref;
355         config false;
356         description
357           "A list of references to interfaces layered on top of this
358            interface.";
359         reference
360           "RFC 2863: The Interfaces Group MIB - ifStackTable";
361       }
362
363       leaf-list lower-layer-if {
364         type interface-ref;
365         config false;
366
367         description
368           "A list of references to interfaces layered underneath this
369            interface.";
370         reference
371           "RFC 2863: The Interfaces Group MIB - ifStackTable";
372       }
373
374       leaf speed {
375         type yang:gauge64;
376         units "bits/second";
377         config false;
378         description
379             "An estimate of the interface's current bandwidth in bits
380              per second.  For interfaces that do not vary in
381              bandwidth or for those where no accurate estimation can
382              be made, this node should contain the nominal bandwidth.
383              For interfaces that have no concept of bandwidth, this
384              node is not present.";
385         reference
386           "RFC 2863: The Interfaces Group MIB -
387                      ifSpeed, ifHighSpeed";
388       }
389
390       container statistics {
391         config false;
392         description
393           "A collection of interface-related statistics objects.";
394
395         leaf discontinuity-time {
396           type yang:date-and-time;
397           mandatory true;
398           description
399             "The time on the most recent occasion at which any one or
400              more of this interface's counters suffered a
401              discontinuity.  If no such discontinuities have occurred
402              since the last re-initialization of the local management
403              subsystem, then this node contains the time the local
404              management subsystem re-initialized itself.";
405         }
406
407         leaf in-octets {
408           type yang:counter64;
409           description
410             "The total number of octets received on the interface,
411              including framing characters.
412              Discontinuities in the value of this counter can occur
413              at re-initialization of the management system and at
414              other times as indicated by the value of
415              'discontinuity-time'.";
416           reference
417             "RFC 2863: The Interfaces Group MIB - ifHCInOctets";
418         }
419
420         leaf in-unicast-pkts {
421           type yang:counter64;
422           description
423             "The number of packets, delivered by this sub-layer to a
424              higher (sub-)layer, that were not addressed to a
425              multicast or broadcast address at this sub-layer.
426              Discontinuities in the value of this counter can occur
427              at re-initialization of the management system and at
428              other times as indicated by the value of
429              'discontinuity-time'.";
430           reference
431             "RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
432         }
433
434         leaf in-broadcast-pkts {
435           type yang:counter64;
436           description
437             "The number of packets, delivered by this sub-layer to a
438              higher (sub-)layer, that were addressed to a broadcast
439              address at this sub-layer.
440              Discontinuities in the value of this counter can occur
441              at re-initialization of the management system and at
442              other times as indicated by the value of
443              'discontinuity-time'.";
444           reference
445             "RFC 2863: The Interfaces Group MIB -
446                        ifHCInBroadcastPkts";
447         }
448
449         leaf in-multicast-pkts {
450           type yang:counter64;
451           description
452             "The number of packets, delivered by this sub-layer to a
453              higher (sub-)layer, that were addressed to a multicast
454              address at this sub-layer.  For a MAC-layer protocol,
455              this includes both Group and Functional addresses.
456              Discontinuities in the value of this counter can occur
457              at re-initialization of the management system and at
458              other times as indicated by the value of
459              'discontinuity-time'.";
460           reference
461             "RFC 2863: The Interfaces Group MIB -
462                        ifHCInMulticastPkts";
463         }
464
465         leaf in-discards {
466           type yang:counter32;
467           description
468             "The number of inbound packets that were chosen to be
469              discarded even though no errors had been detected to
470              prevent their being deliverable to a higher-layer
471              protocol.  One possible reason for discarding such a
472              packet could be to free up buffer space.
473              Discontinuities in the value of this counter can occur
474              at re-initialization of the management system and at
475              other times as indicated by the value of
476              'discontinuity-time'.";
477           reference
478             "RFC 2863: The Interfaces Group MIB - ifInDiscards";
479         }
480
481         leaf in-errors {
482           type yang:counter32;
483           description
484             "For packet-oriented interfaces, the number of inbound
485              packets that contained errors preventing them from being
486              deliverable to a higher-layer protocol.  For character-
487              oriented or fixed-length interfaces, the number of
488              inbound transmission units that contained errors
489              preventing them from being deliverable to a higher-layer
490              protocol.
491              Discontinuities in the value of this counter can occur
492              at re-initialization of the management system and at
493              other times as indicated by the value of
494              'discontinuity-time'.";
495           reference
496             "RFC 2863: The Interfaces Group MIB - ifInErrors";
497         }
498
499         leaf in-unknown-protos {
500           type yang:counter32;
501
502           description
503             "For packet-oriented interfaces, the number of packets
504              received via the interface that were discarded because
505              of an unknown or unsupported protocol.  For
506              character-oriented or fixed-length interfaces that
507              support protocol multiplexing, the number of
508              transmission units received via the interface that were
509              discarded because of an unknown or unsupported protocol.
510              For any interface that does not support protocol
511              multiplexing, this counter is not present.
512              Discontinuities in the value of this counter can occur
513              at re-initialization of the management system and at
514              other times as indicated by the value of
515              'discontinuity-time'.";
516           reference
517             "RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
518         }
519
520         leaf out-octets {
521           type yang:counter64;
522           description
523             "The total number of octets transmitted out of the
524              interface, including framing characters.
525              Discontinuities in the value of this counter can occur
526              at re-initialization of the management system and at
527              other times as indicated by the value of
528              'discontinuity-time'.";
529           reference
530             "RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
531         }
532
533         leaf out-unicast-pkts {
534           type yang:counter64;
535           description
536             "The total number of packets that higher-level protocols
537              requested be transmitted and that were not addressed
538              to a multicast or broadcast address at this sub-layer,
539              including those that were discarded or not sent.
540              Discontinuities in the value of this counter can occur
541              at re-initialization of the management system and at
542              other times as indicated by the value of
543              'discontinuity-time'.";
544           reference
545             "RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
546         }
547
548         leaf out-broadcast-pkts {
549           type yang:counter64;
550           description
551             "The total number of packets that higher-level protocols
552              requested be transmitted and that were addressed to a
553              broadcast address at this sub-layer, including those
554              that were discarded or not sent.
555              Discontinuities in the value of this counter can occur
556              at re-initialization of the management system and at
557              other times as indicated by the value of
558              'discontinuity-time'.";
559           reference
560             "RFC 2863: The Interfaces Group MIB -
561                        ifHCOutBroadcastPkts";
562         }
563
564         leaf out-multicast-pkts {
565           type yang:counter64;
566           description
567             "The total number of packets that higher-level protocols
568              requested be transmitted and that were addressed to a
569              multicast address at this sub-layer, including those
570              that were discarded or not sent.  For a MAC-layer
571              protocol, this includes both Group and Functional
572              addresses.
573              Discontinuities in the value of this counter can occur
574              at re-initialization of the management system and at
575              other times as indicated by the value of
576              'discontinuity-time'.";
577           reference
578             "RFC 2863: The Interfaces Group MIB -
579                        ifHCOutMulticastPkts";
580         }
581
582         leaf out-discards {
583           type yang:counter32;
584           description
585             "The number of outbound packets that were chosen to be
586              discarded even though no errors had been detected to
587              prevent their being transmitted.  One possible reason
588              for discarding such a packet could be to free up buffer
589              space.
590              Discontinuities in the value of this counter can occur
591              at re-initialization of the management system and at
592              other times as indicated by the value of
593              'discontinuity-time'.";
594           reference
595             "RFC 2863: The Interfaces Group MIB - ifOutDiscards";
596         }
597
598         leaf out-errors {
599           type yang:counter32;
600           description
601             "For packet-oriented interfaces, the number of outbound
602              packets that could not be transmitted because of errors.
603              For character-oriented or fixed-length interfaces, the
604              number of outbound transmission units that could not be
605              transmitted because of errors.
606              Discontinuities in the value of this counter can occur
607              at re-initialization of the management system and at
608              other times as indicated by the value of
609              'discontinuity-time'.";
610           reference
611             "RFC 2863: The Interfaces Group MIB - ifOutErrors";
612         }
613       }
614
615     }
616   }
617
618   /*
619    * Legacy typedefs
620    */
621
622   typedef interface-state-ref {
623     type leafref {
624       path "/if:interfaces-state/if:interface/if:name";
625     }
626     status deprecated;
627     description
628       "This type is used by data models that need to reference
629        the operationally present interfaces.";
630   }
631
632   /*
633    * Legacy operational state data nodes
634    */
635
636   container interfaces-state {
637     config false;
638     status deprecated;
639     description
640       "Data nodes for the operational state of interfaces.";
641
642     list interface {
643       key "name";
644       status deprecated;
645
646       description
647         "The list of interfaces on the device.
648          System-controlled interfaces created by the system are
649          always present in this list, whether or not they are
650          configured.";
651
652       leaf name {
653         type string;
654         status deprecated;
655         description
656           "The name of the interface.
657            A server implementation MAY map this leaf to the ifName
658            MIB object.  Such an implementation needs to use some
659            mechanism to handle the differences in size and characters
660            allowed between this leaf and ifName.  The definition of
661            such a mechanism is outside the scope of this document.";
662         reference
663           "RFC 2863: The Interfaces Group MIB - ifName";
664       }
665
666       leaf type {
667         type identityref {
668           base interface-type;
669         }
670         mandatory true;
671         status deprecated;
672         description
673           "The type of the interface.";
674         reference
675           "RFC 2863: The Interfaces Group MIB - ifType";
676       }
677
678       leaf admin-status {
679         if-feature if-mib;
680         type enumeration {
681           enum up {
682             value 1;
683             description
684               "Ready to pass packets.";
685           }
686           enum down {
687             value 2;
688             description
689               "Not ready to pass packets and not in some test mode.";
690           }
691           enum testing {
692             value 3;
693             description
694               "In some test mode.";
695           }
696         }
697         mandatory true;
698         status deprecated;
699         description
700           "The desired state of the interface.
701            This leaf has the same read semantics as ifAdminStatus.";
702         reference
703           "RFC 2863: The Interfaces Group MIB - ifAdminStatus";
704       }
705
706       leaf oper-status {
707         type enumeration {
708           enum up {
709             value 1;
710             description
711               "Ready to pass packets.";
712           }
713           enum down {
714             value 2;
715             description
716               "The interface does not pass any packets.";
717           }
718           enum testing {
719             value 3;
720             description
721               "In some test mode.  No operational packets can
722                be passed.";
723           }
724           enum unknown {
725             value 4;
726             description
727               "Status cannot be determined for some reason.";
728           }
729           enum dormant {
730             value 5;
731             description
732               "Waiting for some external event.";
733           }
734           enum not-present {
735             value 6;
736             description
737               "Some component (typically hardware) is missing.";
738           }
739           enum lower-layer-down {
740             value 7;
741             description
742               "Down due to state of lower-layer interface(s).";
743           }
744         }
745         mandatory true;
746         status deprecated;
747         description
748           "The current operational state of the interface.
749            This leaf has the same semantics as ifOperStatus.";
750         reference
751           "RFC 2863: The Interfaces Group MIB - ifOperStatus";
752       }
753
754       leaf last-change {
755         type yang:date-and-time;
756         status deprecated;
757         description
758           "The time the interface entered its current operational
759            state.  If the current state was entered prior to the
760            last re-initialization of the local network management
761            subsystem, then this node is not present.";
762         reference
763           "RFC 2863: The Interfaces Group MIB - ifLastChange";
764       }
765
766       leaf if-index {
767         if-feature if-mib;
768         type int32 {
769           range "1..2147483647";
770         }
771         mandatory true;
772         status deprecated;
773         description
774           "The ifIndex value for the ifEntry represented by this
775            interface.";
776
777         reference
778           "RFC 2863: The Interfaces Group MIB - ifIndex";
779       }
780
781       leaf phys-address {
782         type yang:phys-address;
783         status deprecated;
784         description
785           "The interface's address at its protocol sub-layer.  For
786            example, for an 802.x interface, this object normally
787            contains a Media Access Control (MAC) address.  The
788            interface's media-specific modules must define the bit
789            and byte ordering and the format of the value of this
790            object.  For interfaces that do not have such an address
791            (e.g., a serial line), this node is not present.";
792         reference
793           "RFC 2863: The Interfaces Group MIB - ifPhysAddress";
794       }
795
796       leaf-list higher-layer-if {
797         type interface-state-ref;
798         status deprecated;
799         description
800           "A list of references to interfaces layered on top of this
801            interface.";
802         reference
803           "RFC 2863: The Interfaces Group MIB - ifStackTable";
804       }
805
806       leaf-list lower-layer-if {
807         type interface-state-ref;
808         status deprecated;
809         description
810           "A list of references to interfaces layered underneath this
811            interface.";
812         reference
813           "RFC 2863: The Interfaces Group MIB - ifStackTable";
814       }
815
816       leaf speed {
817         type yang:gauge64;
818         units "bits/second";
819         status deprecated;
820         description
821             "An estimate of the interface's current bandwidth in bits
822              per second.  For interfaces that do not vary in
823              bandwidth or for those where no accurate estimation can
824              be made, this node should contain the nominal bandwidth.
825              For interfaces that have no concept of bandwidth, this
826              node is not present.";
827         reference
828           "RFC 2863: The Interfaces Group MIB -
829                      ifSpeed, ifHighSpeed";
830       }
831
832       container statistics {
833         status deprecated;
834         description
835           "A collection of interface-related statistics objects.";
836
837         leaf discontinuity-time {
838           type yang:date-and-time;
839           mandatory true;
840           status deprecated;
841           description
842             "The time on the most recent occasion at which any one or
843              more of this interface's counters suffered a
844              discontinuity.  If no such discontinuities have occurred
845              since the last re-initialization of the local management
846              subsystem, then this node contains the time the local
847              management subsystem re-initialized itself.";
848         }
849
850         leaf in-octets {
851           type yang:counter64;
852           status deprecated;
853           description
854             "The total number of octets received on the interface,
855              including framing characters.
856              Discontinuities in the value of this counter can occur
857              at re-initialization of the management system and at
858              other times as indicated by the value of
859              'discontinuity-time'.";
860           reference
861             "RFC 2863: The Interfaces Group MIB - ifHCInOctets";
862         }
863
864         leaf in-unicast-pkts {
865           type yang:counter64;
866           status deprecated;
867           description
868             "The number of packets, delivered by this sub-layer to a
869              higher (sub-)layer, that were not addressed to a
870              multicast or broadcast address at this sub-layer.
871              Discontinuities in the value of this counter can occur
872              at re-initialization of the management system and at
873              other times as indicated by the value of
874              'discontinuity-time'.";
875           reference
876             "RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
877         }
878
879         leaf in-broadcast-pkts {
880           type yang:counter64;
881           status deprecated;
882           description
883             "The number of packets, delivered by this sub-layer to a
884              higher (sub-)layer, that were addressed to a broadcast
885              address at this sub-layer.
886              Discontinuities in the value of this counter can occur
887              at re-initialization of the management system and at
888              other times as indicated by the value of
889              'discontinuity-time'.";
890           reference
891             "RFC 2863: The Interfaces Group MIB -
892                        ifHCInBroadcastPkts";
893         }
894
895         leaf in-multicast-pkts {
896           type yang:counter64;
897           status deprecated;
898           description
899             "The number of packets, delivered by this sub-layer to a
900              higher (sub-)layer, that were addressed to a multicast
901              address at this sub-layer.  For a MAC-layer protocol,
902              this includes both Group and Functional addresses.
903              Discontinuities in the value of this counter can occur
904              at re-initialization of the management system and at
905              other times as indicated by the value of
906              'discontinuity-time'.";
907           reference
908             "RFC 2863: The Interfaces Group MIB -
909                        ifHCInMulticastPkts";
910         }
911
912         leaf in-discards {
913           type yang:counter32;
914           status deprecated;
915
916           description
917             "The number of inbound packets that were chosen to be
918              discarded even though no errors had been detected to
919              prevent their being deliverable to a higher-layer
920              protocol.  One possible reason for discarding such a
921              packet could be to free up buffer space.
922              Discontinuities in the value of this counter can occur
923              at re-initialization of the management system and at
924              other times as indicated by the value of
925              'discontinuity-time'.";
926           reference
927             "RFC 2863: The Interfaces Group MIB - ifInDiscards";
928         }
929
930         leaf in-errors {
931           type yang:counter32;
932           status deprecated;
933           description
934             "For packet-oriented interfaces, the number of inbound
935              packets that contained errors preventing them from being
936              deliverable to a higher-layer protocol.  For character-
937              oriented or fixed-length interfaces, the number of
938              inbound transmission units that contained errors
939              preventing them from being deliverable to a higher-layer
940              protocol.
941              Discontinuities in the value of this counter can occur
942              at re-initialization of the management system and at
943              other times as indicated by the value of
944              'discontinuity-time'.";
945           reference
946             "RFC 2863: The Interfaces Group MIB - ifInErrors";
947         }
948
949         leaf in-unknown-protos {
950           type yang:counter32;
951           status deprecated;
952           description
953             "For packet-oriented interfaces, the number of packets
954              received via the interface that were discarded because
955              of an unknown or unsupported protocol.  For
956              character-oriented or fixed-length interfaces that
957              support protocol multiplexing, the number of
958              transmission units received via the interface that were
959              discarded because of an unknown or unsupported protocol.
960              For any interface that does not support protocol
961              multiplexing, this counter is not present.
962              Discontinuities in the value of this counter can occur
963              at re-initialization of the management system and at
964              other times as indicated by the value of
965              'discontinuity-time'.";
966           reference
967             "RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
968         }
969
970         leaf out-octets {
971           type yang:counter64;
972           status deprecated;
973           description
974             "The total number of octets transmitted out of the
975              interface, including framing characters.
976              Discontinuities in the value of this counter can occur
977              at re-initialization of the management system and at
978              other times as indicated by the value of
979              'discontinuity-time'.";
980           reference
981             "RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
982         }
983
984         leaf out-unicast-pkts {
985           type yang:counter64;
986           status deprecated;
987           description
988             "The total number of packets that higher-level protocols
989              requested be transmitted and that were not addressed
990              to a multicast or broadcast address at this sub-layer,
991              including those that were discarded or not sent.
992              Discontinuities in the value of this counter can occur
993              at re-initialization of the management system and at
994              other times as indicated by the value of
995              'discontinuity-time'.";
996           reference
997             "RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
998         }
999
1000         leaf out-broadcast-pkts {
1001           type yang:counter64;
1002           status deprecated;
1003
1004           description
1005             "The total number of packets that higher-level protocols
1006              requested be transmitted and that were addressed to a
1007              broadcast address at this sub-layer, including those
1008              that were discarded or not sent.
1009              Discontinuities in the value of this counter can occur
1010              at re-initialization of the management system and at
1011              other times as indicated by the value of
1012              'discontinuity-time'.";
1013           reference
1014             "RFC 2863: The Interfaces Group MIB -
1015                        ifHCOutBroadcastPkts";
1016         }
1017
1018         leaf out-multicast-pkts {
1019           type yang:counter64;
1020           status deprecated;
1021           description
1022             "The total number of packets that higher-level protocols
1023              requested be transmitted and that were addressed to a
1024              multicast address at this sub-layer, including those
1025              that were discarded or not sent.  For a MAC-layer
1026              protocol, this includes both Group and Functional
1027              addresses.
1028              Discontinuities in the value of this counter can occur
1029              at re-initialization of the management system and at
1030              other times as indicated by the value of
1031              'discontinuity-time'.";
1032           reference
1033             "RFC 2863: The Interfaces Group MIB -
1034                        ifHCOutMulticastPkts";
1035         }
1036
1037         leaf out-discards {
1038           type yang:counter32;
1039           status deprecated;
1040           description
1041             "The number of outbound packets that were chosen to be
1042              discarded even though no errors had been detected to
1043              prevent their being transmitted.  One possible reason
1044              for discarding such a packet could be to free up buffer
1045              space.
1046              Discontinuities in the value of this counter can occur
1047              at re-initialization of the management system and at
1048              other times as indicated by the value of
1049              'discontinuity-time'.";
1050           reference
1051             "RFC 2863: The Interfaces Group MIB - ifOutDiscards";
1052         }
1053
1054         leaf out-errors {
1055           type yang:counter32;
1056           status deprecated;
1057           description
1058             "For packet-oriented interfaces, the number of outbound
1059              packets that could not be transmitted because of errors.
1060              For character-oriented or fixed-length interfaces, the
1061              number of outbound transmission units that could not be
1062              transmitted because of errors.
1063              Discontinuities in the value of this counter can occur
1064              at re-initialization of the management system and at
1065              other times as indicated by the value of
1066              'discontinuity-time'.";
1067           reference
1068             "RFC 2863: The Interfaces Group MIB - ifOutErrors";
1069         }
1070       }
1071     }
1072   }
1073 }