IF-MIB
上传用户:aonuowh
上传日期:2021-05-23
资源大小:35390k
文件大小:64k
源码类别:

SNMP编程

开发平台:

C/C++

  1. -- *****************************************************************
  2. -- IF-MIB.my:  Interfaces MIB
  3. --
  4. -- May 1994, Jeffrey T. Johnson
  5. --
  6. -- Copyright (c) 1994 - 1996 by cisco Systems, Inc.
  7. -- All rights reserved.
  8. -- 
  9. -- *****************************************************************
  10. --
  11. --  extracted from draft-ietf-ifmib-mib-03.txt
  12. --  major differences with RFC1573 - 
  13. --    Added InterfaceIndexOrZero textual convention.
  14. --    Added notPresent state for ifOperStatus.
  15. --    Added the ifAlias, ifStackLastChange and ifTableLastChange objects.
  16. --    Corrected the MAX-ACCESS clause values for
  17. --    ifRcvAddressAddress, ifRcvAddressStatus and ifStackStatus.
  18. --
  19. -- the following modifications have been applied:
  20. -- changed "RFC-1213" to "RFC1213-MIB"
  21. -- added import of snmpTraps
  22.    IF-MIB DEFINITIONS ::= BEGIN
  23.    IMPORTS
  24.        MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32,
  25.        Integer32, TimeTicks, Counter64,
  26.        NOTIFICATION-TYPE                        FROM SNMPv2-SMI
  27.        TEXTUAL-CONVENTION, DisplayString,
  28.        PhysAddress, TruthValue, RowStatus,
  29.        AutonomousType, TestAndIncr              FROM SNMPv2-TC
  30.        MODULE-COMPLIANCE, OBJECT-GROUP          FROM SNMPv2-CONF
  31.        snmpTraps                                FROM SNMPv2-MIB
  32.        IANAifType                               FROM IANAifType-MIB
  33.        mib-2,interfaces                         FROM RFC1213-MIB;
  34.    ifMIB MODULE-IDENTITY
  35.        LAST-UPDATED "9602221355Z"
  36.        ORGANIZATION "IETF Interfaces MIB Working Group"
  37.        CONTACT-INFO
  38.                "   Keith McCloghrie
  39.                    Cisco Systems, Inc.
  40.                    170 West Tasman Drive
  41.                    San Jose, CA  95134-1706
  42.                    US
  43.                    408-526-5260
  44.                    kzm@cisco.com"
  45.        DESCRIPTION
  46.                "The MIB module to describe generic objects for
  47.                network interface sub-layers.  This MIB is an updated
  48.                version of MIB-II's ifTable, and incorporates the
  49.                extensions defined in RFC 1229."
  50.        REVISION      "9602282155Z"
  51.        DESCRIPTION
  52.                "Revisions made by the Interfaces MIB WG."
  53.        REVISION      "9311082155Z"
  54.        DESCRIPTION
  55.                "Initial revision, published as part of RFC 1573."
  56.        ::= { mib-2 31 }
  57.    ifMIBObjects OBJECT IDENTIFIER ::= { ifMIB 1 }
  58.    -- OwnerString has the same semantics as used in RFC 1271
  59.    OwnerString ::= TEXTUAL-CONVENTION
  60.        DISPLAY-HINT "255a"
  61.        STATUS       current
  62.        DESCRIPTION
  63.                "This data type is used to model an administratively
  64.                assigned name of the owner of a resource.  This
  65.                information is taken from the NVT ASCII character set.
  66.                It is suggested that this name contain one or more of
  67.                the following: ASCII form of the manager station's
  68.                transport address, management station name (e.g.,
  69.                domain name), network management personnel's name,
  70.                location, or phone number.  In some cases the agent
  71.                itself will be the owner of an entry.  In these cases,
  72.                this string shall be set to a string starting with
  73.                'agent'."
  74.        SYNTAX       OCTET STRING (SIZE(0..255))
  75.    -- InterfaceIndex contains the semantics of ifIndex and
  76.    -- should be used for any objects defined on other mib
  77.    -- modules that need these semantics.
  78.    InterfaceIndex ::= TEXTUAL-CONVENTION
  79.        DISPLAY-HINT "d"
  80.        STATUS       current
  81.        DESCRIPTION
  82.                "A unique value, greater than zero, for each interface
  83.                or interface sub-layer in the managed system.  It is
  84.                recommended that values are assigned contiguously
  85.                starting from 1.  The value for each interface sub-
  86.                layer must remain constant at least from one re-
  87.                initialization of the entity's network management
  88.                system to the next re-initialization."
  89.        SYNTAX       Integer32
  90.    InterfaceIndexOrZero ::= TEXTUAL-CONVENTION
  91.        DISPLAY-HINT "d"
  92.        STATUS       current
  93.        DESCRIPTION
  94.                "This textual convention is an extension of the
  95.                InterfaceIndex convention.  The latter defines a
  96.                greater than zero to identify an interface or
  97.                interface sub-layer in the managed system.  This
  98.                extension permits the additional value of zero.  the
  99.                value zero is object-specific and must therefore be
  100.                defined as part of the description of any object which
  101.                uses this syntax.  Examples of the usage of zero might
  102.                include situations where interface was unknown, or
  103.                when none or all interfaces need to be referenced."
  104.        SYNTAX       Integer32 (0..2147483647)
  105.    ifNumber  OBJECT-TYPE
  106.        SYNTAX      Integer32
  107.        MAX-ACCESS  read-only
  108.        STATUS      current
  109.        DESCRIPTION
  110.                "The number of network interfaces (regardless of their
  111.                current state) present on this system."
  112.        ::= { interfaces 1 }
  113.    ifTableLastChange  OBJECT-TYPE
  114.        SYNTAX      TimeTicks
  115.        MAX-ACCESS  read-only
  116.        STATUS      current
  117.        DESCRIPTION
  118.                "The value of sysUpTime at the time of the last
  119.                creation or deletion of an entry in the ifTable.  If
  120.                the number of entries has been unchanged since the
  121.                last re-initialization of the local network management
  122.                subsystem, then this object contains a zero value."
  123.        ::= { ifMIBObjects 5 }
  124.    -- the Interfaces table
  125.    -- The Interfaces table contains information on the entity's
  126.    -- interfaces.  Each sub-layer below the internetwork-layer
  127.    -- of a network interface is considered to be an interface.
  128.    ifTable OBJECT-TYPE
  129.        SYNTAX      SEQUENCE OF IfEntry
  130.        MAX-ACCESS  not-accessible
  131.        STATUS      current
  132.        DESCRIPTION
  133.                "A list of interface entries.  The number of entries
  134.                is given by the value of ifNumber."
  135.        ::= { interfaces 2 }
  136.    ifEntry OBJECT-TYPE
  137.        SYNTAX      IfEntry
  138.        MAX-ACCESS  not-accessible
  139.        STATUS      current
  140.        DESCRIPTION
  141.                "An entry containing management information applicable
  142.                to a particular interface."
  143.        INDEX   { ifIndex }
  144.        ::= { ifTable 1 }
  145.    IfEntry ::=
  146.        SEQUENCE {
  147.            ifIndex                 InterfaceIndex,
  148.            ifDescr                 DisplayString,
  149.            ifType                  IANAifType,
  150.            ifMtu                   Integer32,
  151.            ifSpeed                 Gauge32,
  152.            ifPhysAddress           PhysAddress,
  153.            ifAdminStatus           INTEGER,
  154.            ifOperStatus            INTEGER,
  155.            ifLastChange            TimeTicks,
  156.            ifInOctets              Counter32,
  157.            ifInUcastPkts           Counter32,
  158.            ifInNUcastPkts          Counter32,  -- deprecated
  159.            ifInDiscards            Counter32,
  160.            ifInErrors              Counter32,
  161.            ifInUnknownProtos       Counter32,
  162.            ifOutOctets             Counter32,
  163.            ifOutUcastPkts          Counter32,
  164.            ifOutNUcastPkts         Counter32,  -- deprecated
  165.            ifOutDiscards           Counter32,
  166.            ifOutErrors             Counter32,
  167.            ifOutQLen               Gauge32,    -- deprecated
  168.            ifSpecific              OBJECT IDENTIFIER -- deprecated
  169.        }
  170.    ifIndex OBJECT-TYPE
  171.        SYNTAX      InterfaceIndex
  172.        MAX-ACCESS  read-only
  173.        STATUS      current
  174.        DESCRIPTION
  175.                "A unique value, greater than zero, for each
  176.                interface.  It is recommended that values are assigned
  177.                contiguously starting from 1.  The value for each
  178.                interface sub-layer must remain constant at least from
  179.                one re-initialization of the entity's network
  180.                management system to the next re-initialization."
  181.        ::= { ifEntry 1 }
  182.    ifDescr OBJECT-TYPE
  183.        SYNTAX      DisplayString (SIZE (0..255))
  184.        MAX-ACCESS  read-only
  185.        STATUS      current
  186.        DESCRIPTION
  187.                "A textual string containing information about the
  188.                interface.  This string should include the name of the
  189.                manufacturer, the product name and the version of the
  190.                interface hardware/software."
  191.        ::= { ifEntry 2 }
  192.    ifType OBJECT-TYPE
  193.        SYNTAX      IANAifType
  194.        MAX-ACCESS  read-only
  195.        STATUS      current
  196.        DESCRIPTION
  197.                "The type of interface.  Additional values for ifType
  198.                are assigned by the Internet Assigned Numbers
  199.                Authority (IANA), through updating the syntax of the
  200.                IANAifType textual convention."
  201.        ::= { ifEntry 3 }
  202.    ifMtu OBJECT-TYPE
  203.        SYNTAX      Integer32
  204.        MAX-ACCESS  read-only
  205.        STATUS      current
  206.        DESCRIPTION
  207.                "The size of the largest packet which can be
  208.                sent/received on the interface, specified in octets.
  209.                For interfaces that are used for transmitting network
  210.                datagrams, this is the size of the largest network
  211.                datagram that can be sent on the interface."
  212.        ::= { ifEntry 4 }
  213.    ifSpeed OBJECT-TYPE
  214.        SYNTAX      Gauge32
  215.        MAX-ACCESS  read-only
  216.        STATUS      current
  217.        DESCRIPTION
  218.                "An estimate of the interface's current bandwidth in
  219.                bits per second.  For interfaces which do not vary in
  220.                bandwidth or for those where no accurate estimation
  221.                can be made, this object should contain the nominal
  222.                bandwidth.  If the bandwidth of the interface is
  223.                greater than the maximum value reportable by this
  224.                object then this object should report its maximum
  225.                value (4,294,967,295) and ifHighSpeed must be used to
  226.                report the interace's speed.  For a sub-layer which
  227.                has no concept of bandwidth, this object should be
  228.                zero."
  229.        ::= { ifEntry 5 }
  230.    ifPhysAddress OBJECT-TYPE
  231.        SYNTAX      PhysAddress
  232.        MAX-ACCESS  read-only
  233.        STATUS      current
  234.        DESCRIPTION
  235.                "The interface's address at its protocol sub-layer.
  236.                The interface's media-specific MIB must define the bit
  237.                and byte ordering and format of the value contained by
  238.                this object.  For interfaces which do not have such an
  239.                address (e.g., a serial line), this object should
  240.                contain an octet string of zero length."
  241.        ::= { ifEntry 6 }
  242.    ifAdminStatus OBJECT-TYPE
  243.        SYNTAX  INTEGER {
  244.                    up(1),       -- ready to pass packets
  245.                    down(2),
  246.                    testing(3)   -- in some test mode
  247.                }
  248.        MAX-ACCESS  read-write
  249.        STATUS      current
  250.        DESCRIPTION
  251.                "The desired state of the interface.  The testing(3)
  252.                state indicates that no operational packets can be
  253.                passed.  When a managed system initializes, all
  254.                interfaces start with ifAdminStatus in the down(2)
  255.                state.  As a result of either explicit management
  256.                action or per configuration information retained by
  257.                the managed system, ifAdminStatus is then changed to
  258.                either the up(1) or testing(3) states (or remains in
  259.                the down(2) state)."
  260.        ::= { ifEntry 7 }
  261.    ifOperStatus OBJECT-TYPE
  262.        SYNTAX  INTEGER {
  263.                    up(1),       -- ready to pass packets
  264.                    down(2),
  265.                    testing(3),  -- in some test mode
  266.                    unknown(4),  -- status can not be determined
  267.                                 -- for some reason.
  268.                    dormant(5),
  269.                    notPresent(6) -- some component is missing
  270.                }
  271.        MAX-ACCESS  read-only
  272.        STATUS      current
  273.        DESCRIPTION
  274.                "The current operational state of the interface.  The
  275.                testing(3) state indicates that no operational packets
  276.                can be passed.  If ifAdminStatus is down(2) then
  277.                ifOperStatus should be down(2).  If ifAdminStatus is
  278.                changed to up(1) then ifOperStatus should change to
  279.                up(1) if the interface is ready to transmit and
  280.                receive network traffic; it should change to
  281.                dormant(5) if the interface is waiting for external
  282.                actions (such as a serial line waiting for an
  283.                incoming connection); it should remain in the down(2)
  284.                state if and only if there is a fault that prevents if
  285.                from going to the up(1) state; it should remain in the
  286.                notPresent(6) state if the interface has missing
  287.                (typically, hardware) components."
  288.        ::= { ifEntry 8 }
  289.    ifLastChange OBJECT-TYPE
  290.        SYNTAX      TimeTicks
  291.        MAX-ACCESS  read-only
  292.        STATUS      current
  293.        DESCRIPTION
  294.                "The value of sysUpTime at the time the interface
  295.                entered its current operational state.  If the current
  296.                state was entered prior to the last re-initialization
  297.                of the local network management subsystem, then this
  298.                object contains a zero value."
  299.        ::= { ifEntry 9 }
  300.    ifInOctets OBJECT-TYPE
  301.        SYNTAX      Counter32
  302.        MAX-ACCESS  read-only
  303.        STATUS      current
  304.        DESCRIPTION
  305.                "The total number of octets received on the interface,
  306.                including framing characters."
  307.        ::= { ifEntry 10 }
  308.    ifInUcastPkts OBJECT-TYPE
  309.        SYNTAX      Counter32
  310.        MAX-ACCESS  read-only
  311.        STATUS      current
  312.        DESCRIPTION
  313.                "The number of packets, delivered by this sub-layer to
  314.                a higher (sub-)layer, which were not addressed to a
  315.                multicast or broadcast address at this sub-layer."
  316.        ::= { ifEntry 11 }
  317.    ifInNUcastPkts OBJECT-TYPE
  318.        SYNTAX  Counter32
  319.        MAX-ACCESS  read-only
  320.        STATUS      deprecated
  321.        DESCRIPTION
  322.                "The number of packets, delivered by this sub-layer to
  323.                a higher (sub-)layer, which were addressed to a
  324.                multicast or broadcast address at this sub-layer.
  325.                This object is deprecated in favor of
  326.                ifInMulticastPkts and ifInBroadcastPkts."
  327.        ::= { ifEntry 12 }
  328.    ifInDiscards OBJECT-TYPE
  329.        SYNTAX      Counter32
  330.        MAX-ACCESS  read-only
  331.        STATUS      current
  332.        DESCRIPTION
  333.                "The number of inbound packets which were chosen to be
  334.                discarded even though no errors had been detected to
  335.                prevent their being deliverable to a higher-layer
  336.                protocol.  One possible reason for discarding such a
  337.                packet could be to free up buffer space."
  338.        ::= { ifEntry 13 }
  339.    ifInErrors OBJECT-TYPE
  340.        SYNTAX      Counter32
  341.        MAX-ACCESS  read-only
  342.        STATUS      current
  343.        DESCRIPTION
  344.                "For packet-oriented interfaces, the number of inbound
  345.                packets that contained errors preventing them from
  346.                being deliverable to a higher-layer protocol.  For
  347.                character-oriented or fixed-length interfaces, the
  348.                number of inbound transmission units that contained
  349.                errors preventing them from being deliverable to a
  350.                higher-layer protocol."
  351.        ::= { ifEntry 14 }
  352.    ifInUnknownProtos OBJECT-TYPE
  353.        SYNTAX      Counter32
  354.        MAX-ACCESS  read-only
  355.        STATUS      current
  356.        DESCRIPTION
  357.                "For packet-oriented interfaces, the number of packets
  358.                received via the interface which were discarded
  359.                because of an unknown or unsupported protocol.  For
  360.                character-oriented or fixed-length interfaces which
  361.                support protocol multiplexing the number of
  362.                transmission units received via the interface which
  363.                were discarded because of an unknown or unsupported
  364.                protocol.  For any interface which does not support
  365.                protocol multiplexing, this counter will always be 0."
  366.        ::= { ifEntry 15 }
  367.    ifOutOctets OBJECT-TYPE
  368.        SYNTAX      Counter32
  369.        MAX-ACCESS  read-only
  370.        STATUS      current
  371.        DESCRIPTION
  372.                "The total number of octets transmitted out of the
  373.                interface, including framing characters."
  374.        ::= { ifEntry 16 }
  375.    ifOutUcastPkts OBJECT-TYPE
  376.        SYNTAX      Counter32
  377.        MAX-ACCESS  read-only
  378.        STATUS      current
  379.        DESCRIPTION
  380.                "The total number of packets that higher-level
  381.                protocols requested be transmitted, and which were not
  382.                addressed to a multicast or broadcast address at this
  383.                sub-layer, including those that were discarded or not
  384.                sent."
  385.        ::= { ifEntry 17 }
  386.    ifOutNUcastPkts OBJECT-TYPE
  387.        SYNTAX      Counter32
  388.        MAX-ACCESS  read-only
  389.        STATUS      deprecated
  390.        DESCRIPTION
  391.                "The total number of packets that higher-level
  392.                protocols requested be transmitted, and which were
  393.                addressed to a multicast or broadcast address at this
  394.                sub-layer, including those that were discarded or not
  395.                sent.
  396.                This object is deprecated in favour of
  397.                ifOutMulticastPkts and ifOutBroadcastPkts."
  398.        ::= { ifEntry 18 }
  399.    ifOutDiscards OBJECT-TYPE
  400.        SYNTAX      Counter32
  401.        MAX-ACCESS  read-only
  402.        STATUS      current
  403.        DESCRIPTION
  404.                "The number of outbound packets which were chosen to
  405.                be discarded even though no errors had been detected
  406.                to prevent their being transmitted.  One possible
  407.                reason for discarding such a packet could be to free
  408.                up buffer space."
  409.        ::= { ifEntry 19 }
  410.    ifOutErrors OBJECT-TYPE
  411.        SYNTAX      Counter32
  412.        MAX-ACCESS  read-only
  413.        STATUS      current
  414.        DESCRIPTION
  415.                "For packet-oriented interfaces, the number of
  416.                outbound packets that could not be transmitted because
  417.                of errors.  For character-oriented or fixed-length
  418.                interfaces, the number of outbound transmission units
  419.                that could not be transmitted because of errors."
  420.        ::= { ifEntry 20 }
  421.    ifOutQLen OBJECT-TYPE
  422.        SYNTAX      Gauge32
  423.        MAX-ACCESS  read-only
  424.        STATUS      deprecated
  425.        DESCRIPTION
  426.                "The length of the output packet queue (in packets)."
  427.        ::= { ifEntry 21 }
  428.    ifSpecific OBJECT-TYPE
  429.        SYNTAX      OBJECT IDENTIFIER
  430.        MAX-ACCESS  read-only
  431.        STATUS      deprecated
  432.        DESCRIPTION
  433.                "A reference to MIB definitions specific to the
  434.                particular media being used to realize the interface.
  435.                It is recommended that this value point to an instance
  436.                of a MIB object in the media-specific MIB, i.e., that
  437.                this object have the semantics associated with the
  438.                InstancePointer textual convention defined in RFC
  439.                1443.  In fact, it is recommended that the media-
  440.                specific MIB specify what value ifSpecific should/can
  441.                take for values of ifType.  If no MIB definitions
  442.                specific to the particular media are available, the
  443.                value should be set to the OBJECT IDENTIFIER { 0 0 }."
  444.        ::= { ifEntry 22 }
  445.    --
  446.    --   Extension to the interface table
  447.    --
  448.    -- This table replaces the ifExtnsTable table.
  449.    --
  450.    ifXTable        OBJECT-TYPE
  451.        SYNTAX      SEQUENCE OF IfXEntry
  452.        MAX-ACCESS  not-accessible
  453.        STATUS      current
  454.        DESCRIPTION
  455.                "A list of interface entries.  The number of entries
  456.                is given by the value of ifNumber.  This table
  457.                contains additional objects for the interface table."
  458.        ::= { ifMIBObjects 1 }
  459.    ifXEntry        OBJECT-TYPE
  460.        SYNTAX      IfXEntry
  461.        MAX-ACCESS  not-accessible
  462.        STATUS      current
  463.        DESCRIPTION
  464.                "An entry containing additional management information
  465.                applicable to a particular interface."
  466.        AUGMENTS    { ifEntry }
  467.        ::= { ifXTable 1 }
  468.    IfXEntry ::=
  469.        SEQUENCE {
  470.            ifName                  DisplayString,
  471.            ifInMulticastPkts       Counter32,
  472.            ifInBroadcastPkts       Counter32,
  473.            ifOutMulticastPkts      Counter32,
  474.            ifOutBroadcastPkts      Counter32,
  475.            ifHCInOctets            Counter64,
  476.            ifHCInUcastPkts         Counter64,
  477.            ifHCInMulticastPkts     Counter64,
  478.            ifHCInBroadcastPkts     Counter64,
  479.            ifHCOutOctets           Counter64,
  480.            ifHCOutUcastPkts        Counter64,
  481.            ifHCOutMulticastPkts    Counter64,
  482.            ifHCOutBroadcastPkts    Counter64,
  483.            ifLinkUpDownTrapEnable  INTEGER,
  484.            ifHighSpeed             Gauge32,
  485.            ifPromiscuousMode       TruthValue,
  486.            ifConnectorPresent      TruthValue,
  487.            ifAlias                 DisplayString
  488.        }
  489.    ifName OBJECT-TYPE
  490.        SYNTAX      DisplayString
  491.        MAX-ACCESS  read-only
  492.        STATUS      current
  493.        DESCRIPTION
  494.                "The textual name of the interface.  The value of this
  495.                object should be the name of the interface as assigned
  496.                by the local device and should be suitable for use in
  497.                commands entered at the device's `console'.  This
  498.                might be a text name, such as `le0' or a simple port
  499.                number, such as `1', depending on the interface naming
  500.                syntax of the device.  If several entries in the
  501.                ifTable together represent a single interface as named
  502.                by the device, then each will have the same value of
  503.                ifName.  If there is no local name, or this object is
  504.                otherwise not applicable, then this object contains a
  505.                0-length string."
  506.        ::= { ifXEntry 1 }
  507.    ifInMulticastPkts OBJECT-TYPE
  508.        SYNTAX      Counter32
  509.        MAX-ACCESS  read-only
  510.        STATUS      current
  511.        DESCRIPTION
  512.                "The number of packets, delivered by this sub-layer to
  513.                a higher (sub-)layer, which were addressed to a
  514.                multicast address at this sub-layer.  For a MAC layer
  515.                protocol, this includes both Group and Functional
  516.                addresses."
  517.        ::= { ifXEntry 2 }
  518.    ifInBroadcastPkts OBJECT-TYPE
  519.        SYNTAX      Counter32
  520.        MAX-ACCESS  read-only
  521.        STATUS      current
  522.        DESCRIPTION
  523.                "The number of packets, delivered by this sub-layer to
  524.                a higher (sub-)layer, which were addressed to a
  525.                broadcast address at this sub-layer."
  526.        ::= { ifXEntry 3 }
  527.    ifOutMulticastPkts OBJECT-TYPE
  528.        SYNTAX      Counter32
  529.        MAX-ACCESS  read-only
  530.        STATUS      current
  531.        DESCRIPTION
  532.                "The total number of packets that higher-level
  533.                protocols requested be transmitted, and which were
  534.                addressed to a multicast address at this sub-layer,
  535.                including those that were discarded or not sent.  For
  536.                a MAC layer protocol, this includes both Group and
  537.                Functional addresses."
  538.        ::= { ifXEntry 4 }
  539.    ifOutBroadcastPkts OBJECT-TYPE
  540.        SYNTAX      Counter32
  541.        MAX-ACCESS  read-only
  542.        STATUS      current
  543.        DESCRIPTION
  544.                "The total number of packets that higher-level
  545.                protocols requested be transmitted, and which were
  546.                addressed to a broadcast address at this sub-layer,
  547.                including those that were discarded or not sent."
  548.        ::= { ifXEntry 5 }
  549.    --
  550.    -- High Capacity Counter objects.  These objects are all
  551.    -- 64 bit versions of the "basic" ifTable counters.  These
  552.    -- objects all have the same basic semantics as their 32-bit
  553.    -- counterparts, however, their syntax has been extended
  554.    -- to 64 bits.
  555.    --
  556.    ifHCInOctets OBJECT-TYPE
  557.        SYNTAX      Counter64
  558.        MAX-ACCESS  read-only
  559.        STATUS      current
  560.        DESCRIPTION
  561.                "The total number of octets received on the interface,
  562.                including framing characters.  This object is a 64-bit
  563.                version of ifInOctets."
  564.        ::= { ifXEntry 6 }
  565.    ifHCInUcastPkts OBJECT-TYPE
  566.        SYNTAX      Counter64
  567.        MAX-ACCESS  read-only
  568.        STATUS      current
  569.        DESCRIPTION
  570.                "The number of packets, delivered by this sub-layer to
  571.                a higher (sub-)layer, which were not addressed to a
  572.                multicast or broadcast address at this sub-layer.
  573.                This object is a 64-bit version of ifInUcastPkts."
  574.        ::= { ifXEntry 7 }
  575.    ifHCInMulticastPkts OBJECT-TYPE
  576.        SYNTAX      Counter64
  577.        MAX-ACCESS  read-only
  578.        STATUS      current
  579.        DESCRIPTION
  580.                "The number of packets, delivered by this sub-layer to
  581.                a higher (sub-)layer, which were addressed to a
  582.                multicast address at this sub-layer.  For a MAC layer
  583.                protocol, this includes both Group and Functional
  584.                addresses.  This object is a 64-bit version of
  585.                ifInMulticastPkts."
  586.        ::= { ifXEntry 8 }
  587.    ifHCInBroadcastPkts OBJECT-TYPE
  588.        SYNTAX      Counter64
  589.        MAX-ACCESS  read-only
  590.        STATUS      current
  591.        DESCRIPTION
  592.                "The number of packets, delivered by this sub-layer to
  593.                a higher (sub-)layer, which were addressed to a
  594.                broadcast address at this sub-layer.  This object is a
  595.                64-bit version of ifInBroadcastPkts."
  596.        ::= { ifXEntry 9 }
  597.    ifHCOutOctets OBJECT-TYPE
  598.        SYNTAX      Counter64
  599.        MAX-ACCESS  read-only
  600.        STATUS      current
  601.        DESCRIPTION
  602.                "The total number of octets transmitted out of the
  603.                interface, including framing characters.  This object
  604.                is a 64-bit version of ifOutOctets."
  605.        ::= { ifXEntry 10 }
  606.    ifHCOutUcastPkts OBJECT-TYPE
  607.        SYNTAX      Counter64
  608.        MAX-ACCESS  read-only
  609.        STATUS      current
  610.        DESCRIPTION
  611.                "The total number of packets that higher-level
  612.                protocols requested be transmitted, and which were not
  613.                addressed to a multicast or broadcast address at this
  614.                sub-layer, including those that were discarded or not
  615.                sent.  This object is a 64-bit version of
  616.                ifOutUcastPkts."
  617.        ::= { ifXEntry 11 }
  618.    ifHCOutMulticastPkts OBJECT-TYPE
  619.        SYNTAX      Counter64
  620.        MAX-ACCESS  read-only
  621.        STATUS      current
  622.        DESCRIPTION
  623.                "The total number of packets that higher-level
  624.                protocols requested be transmitted, and which were
  625.                addressed to a multicast address at this sub-layer,
  626.                including those that were discarded or not sent.  For
  627.                a MAC layer protocol, this includes both Group and
  628.                Functional addresses.  This object is a 64-bit version
  629.                of ifOutMulticastPkts."
  630.        ::= { ifXEntry 12 }
  631.    ifHCOutBroadcastPkts OBJECT-TYPE
  632.        SYNTAX      Counter64
  633.        MAX-ACCESS  read-only
  634.        STATUS      current
  635.        DESCRIPTION
  636.                "The total number of packets that higher-level
  637.                protocols requested be transmitted, and which were
  638.                addressed to a broadcast address at this sub-layer,
  639.                including those that were discarded or not sent.  This
  640.                object is a 64-bit version of ifOutBroadcastPkts."
  641.        ::= { ifXEntry 13 }
  642.    ifLinkUpDownTrapEnable  OBJECT-TYPE
  643.        SYNTAX      INTEGER { enabled(1), disabled(2) }
  644.        MAX-ACCESS  read-write
  645.        STATUS      current
  646.        DESCRIPTION
  647.                "Indicates whether linkUp/linkDown traps should be
  648.                generated for this interface.
  649.                By default, this object should have the value
  650.                enabled(1) for interfaces which do not operate on
  651.                'top' of any other interface (as defined in the
  652.                ifStackTable), and disabled(2) otherwise."
  653.        ::= { ifXEntry 14 }
  654.    ifHighSpeed OBJECT-TYPE
  655.        SYNTAX      Gauge32
  656.        MAX-ACCESS  read-only
  657.        STATUS      current
  658.        DESCRIPTION
  659.                "An estimate of the interface's current bandwidth in
  660.                units of 1,000,000 bits per second.  If this object
  661.                reports a value of `n' then the speed of the interface
  662.                is somewhere in the range of `n-500,000' to
  663.                `n+499,999'.  For interfaces which do not vary in
  664.                bandwidth or for those where no accurate estimation
  665.                can be made, this object should contain the nominal
  666.                bandwidth.  For a sub-layer which has no concept of
  667.                bandwidth, this object should be zero."
  668.        ::= { ifXEntry 15 }
  669.    ifPromiscuousMode  OBJECT-TYPE
  670.        SYNTAX      TruthValue
  671.        MAX-ACCESS  read-write
  672.        STATUS      current
  673.        DESCRIPTION
  674.                "This object has a value of false(2) if this interface
  675.                only accepts packets/frames that are addressed to this
  676.                station.  This object has a value of true(1) when the
  677.                station accepts all packets/frames transmitted on the
  678.                media.  The value true(1) is only legal on certain
  679.                types of media.  If legal, setting this object to a
  680.                value of true(1) may require the interface to be reset
  681.                before becoming effective.
  682.                The value of ifPromiscuousMode does not affect the
  683.                reception of broadcast and multicast packets/frames by
  684.                the interface."
  685.        ::= { ifXEntry 16 }
  686.    ifConnectorPresent   OBJECT-TYPE
  687.        SYNTAX      TruthValue
  688.        MAX-ACCESS  read-only
  689.        STATUS      current
  690.        DESCRIPTION
  691.                "This object has the value 'true(1)' if the interface
  692.                sublayer has a physical connector and the value
  693.                'false(2)' otherwise."
  694.        ::= { ifXEntry 17 }
  695.    ifAlias   OBJECT-TYPE
  696.        SYNTAX      DisplayString (SIZE(0..64))
  697.        MAX-ACCESS  read-write
  698.        STATUS      current
  699.        DESCRIPTION
  700.                "This object is an 'alias' name for the interface as
  701.                specified by a network manager, and provides a non-
  702.                volatile 'handle' for the interface.
  703.                On the first instantiation of an interface, the value
  704.                of ifAlias associated with that interface is the
  705.                zero-length string.  As and when a value is written
  706.                into an instance of ifAlias through a network
  707.                management set operation, then the agent must retain
  708.                the supplied value in the ifAlias instance associated
  709.                with the same interface for as long as that interface
  710.                remains instantiated, including across all re-
  711.                initializations/reboots of the network management
  712.                system, including those which result in a change of
  713.                the interface's ifIndex value.
  714.                An example of the value which a network manager might
  715.                store in this object for a WAN interface is the
  716.                (Telco's) circuit number/identifier of the interface.
  717.                Some agents may support write-access only for
  718.                interfaces having particular values of ifType.  An
  719.                agent which supports write access to this object is
  720.                required to keep the value in non-volatile storage,
  721.                but it may limit the length of new values depending on
  722.                how much storage is already occupied by the current
  723.                values for other interfaces."
  724.        ::= { ifXEntry 18 }
  725.    --           The Interface Stack Group
  726.    --
  727.    -- Implementation of this group is mandatory for all systems
  728.    --
  729.    ifStackTable  OBJECT-TYPE
  730.         SYNTAX        SEQUENCE OF IfStackEntry
  731.         MAX-ACCESS    not-accessible
  732.         STATUS        current
  733.         DESCRIPTION
  734.                "The table containing information on the relationships
  735.                between the multiple sub-layers of network interfaces.
  736.                In particular, it contains information on which sub-
  737.                layers run 'on top of' which other sub-layers.  Each
  738.                sub-layer corresponds to a conceptual row in the
  739.                ifTable."
  740.         ::= { ifMIBObjects 2 }
  741.    ifStackEntry  OBJECT-TYPE
  742.         SYNTAX        IfStackEntry
  743.         MAX-ACCESS    not-accessible
  744.         STATUS        current
  745.         DESCRIPTION
  746.                "Information on a particular relationship between two
  747.                sub-layers, specifying that one sub-layer runs on
  748.                'top' of the other sub-layer.  Each sub-layer
  749.                corresponds to a conceptual row in the ifTable."
  750.         INDEX { ifStackHigherLayer, ifStackLowerLayer }
  751.         ::= { ifStackTable 1 }
  752.    IfStackEntry ::=
  753.        SEQUENCE {
  754.            ifStackHigherLayer  Integer32,
  755.            ifStackLowerLayer   Integer32,
  756.            ifStackStatus       RowStatus
  757.         }
  758.    ifStackHigherLayer  OBJECT-TYPE
  759.         SYNTAX        Integer32
  760.         MAX-ACCESS    not-accessible
  761.         STATUS        current
  762.         DESCRIPTION
  763.                "The value of ifIndex corresponding to the higher
  764.                sub-layer of the relationship, i.e., the sub-layer
  765.                which runs on 'top' of the sub-layer identified by the
  766.                corresponding instance of ifStackLowerLayer.  If there
  767.                is no higher sub-layer (below the internetwork layer),
  768.                then this object has the value 0."
  769.         ::= { ifStackEntry 1 }
  770.    ifStackLowerLayer  OBJECT-TYPE
  771.         SYNTAX        Integer32
  772.         MAX-ACCESS    not-accessible
  773.         STATUS        current
  774.         DESCRIPTION
  775.                "The value of ifIndex corresponding to the lower sub-
  776.                layer of the relationship, i.e., the sub-layer which
  777.                runs 'below' the sub-layer identified by the
  778.                corresponding instance of ifStackHigherLayer.  If
  779.                there is no lower sub-layer, then this object has the
  780.                value 0."
  781.         ::= { ifStackEntry 2 }
  782.    ifStackStatus  OBJECT-TYPE
  783.        SYNTAX         RowStatus
  784.        MAX-ACCESS     read-create
  785.        STATUS         current
  786.        DESCRIPTION
  787.                "The status of the relationship between two sub-
  788.                layers.
  789.                Changing the value of this object from 'active' to
  790.                'notInService' or 'destroy' will likely have
  791.                consequences up and down the interface stack.  Thus,
  792.                write access to this object is likely to be
  793.                inappropriate for some types of interfaces, and many
  794.                implementations will choose not to support write-
  795.                access for any type of interface."
  796.        ::= { ifStackEntry 3 }
  797. ifStackLastChange OBJECT-TYPE
  798.     SYNTAX         TimeTicks
  799.     MAX-ACCESS     read-only
  800.     STATUS         current
  801.     DESCRIPTION
  802.             "The value of sysUpTime at the time of the last change
  803.             of the (whole) interface stack.  A change of the
  804.             interface stack is defined to be any creation,
  805.             deletion, or change in value of any instance of
  806.             ifStackStatus.  If the interface stack has been
  807.             unchanged since the last re-initialization of the
  808.             local network management subsystem, then this object
  809.             contains a zero value."
  810.     ::= { ifMIBObjects 6 }
  811.    --
  812.    --    The Interface Test Table
  813.    --
  814.    -- This group of objects is optional.  However, a media-specific
  815.    -- MIB may make implementation of this group mandatory.
  816.    --
  817.    -- This table replaces the ifExtnsTestTable
  818.    --
  819.    ifTestTable   OBJECT-TYPE
  820.        SYNTAX      SEQUENCE OF IfTestEntry
  821.        MAX-ACCESS  not-accessible
  822.        STATUS      deprecated
  823.        DESCRIPTION
  824.                "This table contains one entry per interface.  It
  825.                defines objects which allow a network manager to
  826.                instruct an agent to test an interface for various
  827.                faults.  Tests for an interface are defined in the
  828.                media-specific MIB for that interface.  After invoking
  829.                a test, the object ifTestResult can be read to
  830.                determine the outcome.  If an agent can not perform
  831.                the test, ifTestResult is set to so indicate.  The
  832.                object ifTestCode can be used to provide further
  833.                test-specific or interface-specific (or even
  834.                enterprise-specific) information concerning the
  835.                outcome of the test.  Only one test can be in progress
  836.                on each interface at any one time.  If one test is in
  837.                progress when another test is invoked, the second test
  838.                is rejected.  Some agents may reject a test when a
  839.                prior test is active on another interface.
  840.                Before starting a test, a manager-station must first
  841.                obtain 'ownership' of the entry in the ifTestTable for
  842.                the interface to be tested.  This is accomplished with
  843.                the ifTestId and ifTestStatus objects as follows:
  844.             try_again:
  845.                 get (ifTestId, ifTestStatus)
  846.                 while (ifTestStatus != notInUse)
  847.                     /*
  848.                      * Loop while a test is running or some other
  849.                      * manager is configuring a test.
  850.                      */
  851.                     short delay
  852.                     get (ifTestId, ifTestStatus)
  853.                 }
  854.                 /*
  855.                  * Is not being used right now -- let's compete
  856.                  * to see who gets it.
  857.                  */
  858.                 lock_value = ifTestId
  859.                 if ( set(ifTestId = lock_value, ifTestStatus = inUse,
  860.                          ifTestOwner = 'my-IP-address') == FAILURE)
  861.                     /*
  862.                      * Another manager got the ifTestEntry -- go
  863.                      * try again
  864.                      */
  865.                     goto try_again;
  866.                 /*
  867.                  * I have the lock
  868.                  */
  869.                 set up any test parameters.
  870.                 /*
  871.                  * This starts the test
  872.                  */
  873.                 set(ifTestType = test_to_run);
  874.                 wait for test completion by polling ifTestResult
  875.                 when test completes, agent sets ifTestResult
  876.                      agent also sets ifTestStatus = 'notInUse'
  877.                 retrieve any additional test results, and ifTestId
  878.                 if (ifTestId == lock_value+1) results are valid
  879.               A manager station first retrieves the value of the
  880.               appropriate ifTestId and ifTestStatus objects,
  881.               periodically repeating the retrieval if necessary,
  882.               until the value of ifTestStatus is 'notInUse'.  The
  883.               manager station then tries to set the same ifTestId
  884.               object to the value it just retrieved, the same
  885.               ifTestStatus object to 'inUse', and the corresponding
  886.               ifTestOwner object to a value indicating itself.  If
  887.               the set operation succeeds then the manager has
  888.               obtained ownership of the ifTestEntry, and the value of
  889.               the ifTestId object is incremented by the agent (per
  890.               the semantics of TestAndIncr).  Failure of the set
  891.               operation indicates that some other manager has
  892.               obtained ownership of the ifTestEntry.
  893.               Once ownership is obtained, any test parameters can be
  894.               setup, and then the test is initiated by setting
  895.               ifTestType.  On completion of the test, the agent sets
  896.               ifTestStatus to 'notInUse'.  Once this occurs, the
  897.               manager can retrieve the results.  In the (rare) event
  898.               that the invocation of tests by two network managers
  899.               were to overlap, then there would be a possibility that
  900.               the first test's results might be overwritten by the
  901.               second test's results prior to the first results being
  902.               read.  This unlikely circumstance can be detected by a
  903.               network manager retrieving ifTestId at the same time as
  904.               retrieving the test results, and ensuring that the
  905.               results are for the desired request.
  906.               If ifTestType is not set within an abnormally long
  907.               period of time after ownership is obtained, the agent
  908.               should time-out the manager, and reset the value of the
  909.               ifTestStatus object back to 'notInUse'.  It is
  910.               suggested that this time-out period be 5 minutes.
  911.               In general, a management station must not retransmit a
  912.               request to invoke a test for which it does not receive
  913.               a response; instead, it properly inspects an agent's
  914.               MIB to determine if the invocation was successful.
  915.               Only if the invocation was unsuccessful, is the
  916.               invocation request retransmitted.
  917.               Some tests may require the interface to be taken off-
  918.               line in order to execute them, or may even require the
  919.               agent to reboot after completion of the test.  In these
  920.               circumstances, communication with the management
  921.               station invoking the test may be lost until after
  922.               completion of the test.  An agent is not required to
  923.               support such tests.  However, if such tests are
  924.               supported, then the agent should make every effort to
  925.               transmit a response to the request which invoked the
  926.               test prior to losing communication.  When the agent is
  927.               restored to normal service, the results of the test are
  928.               properly made available in the appropriate objects.
  929.               Note that this requires that the ifIndex value assigned
  930.               to an interface must be unchanged even if the test
  931.               causes a reboot.  An agent must reject any test for
  932.               which it cannot, perhaps due to resource constraints,
  933.               make available at least the minimum amount of
  934.               information after that test completes."
  935.        ::= { ifMIBObjects 3 }
  936.    ifTestEntry OBJECT-TYPE
  937.        SYNTAX       IfTestEntry
  938.        MAX-ACCESS   not-accessible
  939.        STATUS       deprecated
  940.        DESCRIPTION
  941.                "An entry containing objects for invoking tests on an
  942.                interface."
  943.        AUGMENTS  { ifEntry }
  944.        ::= { ifTestTable 1 }
  945.    IfTestEntry ::=
  946.        SEQUENCE {
  947.            ifTestId           TestAndIncr,
  948.            ifTestStatus       INTEGER,
  949.            ifTestType         AutonomousType,
  950.            ifTestResult       INTEGER,
  951.            ifTestCode         OBJECT IDENTIFIER,
  952.            ifTestOwner        OwnerString
  953.        }
  954.    ifTestId         OBJECT-TYPE
  955.        SYNTAX       TestAndIncr
  956.        MAX-ACCESS   read-write
  957.        STATUS      deprecated
  958.        DESCRIPTION
  959.                "This object identifies the current invocation of the
  960.                interface's test."
  961.        ::= { ifTestEntry 1 }
  962.    ifTestStatus     OBJECT-TYPE
  963.        SYNTAX       INTEGER { notInUse(1), inUse(2) }
  964.        MAX-ACCESS   read-write
  965.        STATUS      deprecated
  966.        DESCRIPTION
  967.                "This object indicates whether or not some manager
  968.                currently has the necessary 'ownership' required to
  969.                invoke a test on this interface.  A write to this
  970.                object is only successful when it changes its value
  971.                from 'notInUse(1)' to 'inUse(2)'.  After completion of
  972.                a test, the agent resets the value back to
  973.                'notInUse(1)'."
  974.        ::= { ifTestEntry 2 }
  975.    ifTestType       OBJECT-TYPE
  976.        SYNTAX       AutonomousType
  977.        MAX-ACCESS   read-write
  978.        STATUS      deprecated
  979.        DESCRIPTION
  980.                "A control variable used to start and stop operator-
  981.                initiated interface tests.  Most OBJECT IDENTIFIER
  982.                values assigned to tests are defined elsewhere, in
  983.                association with specific types of interface.
  984.                However, this document assigns a value for a full-
  985.                duplex loopback test, and defines the special meanings
  986.                of the subject identifier:
  987.                    noTest  OBJECT IDENTIFIER ::= { 0 0 }
  988.                When the value noTest is written to this object, no
  989.                action is taken unless a test is in progress, in which
  990.                case the test is aborted.  Writing any other value to
  991.                this object is only valid when no test is currently in
  992.                progress, in which case the indicated test is
  993.                initiated.
  994.                When read, this object always returns the most recent
  995.                value that ifTestType was set to.  If it has not been
  996.                set since the last initialization of the network
  997.                management subsystem on the agent, a value of noTest
  998.                is returned."
  999.        ::= { ifTestEntry 3 }
  1000.    ifTestResult  OBJECT-TYPE
  1001.        SYNTAX       INTEGER {
  1002.                         none(1),          -- no test yet requested
  1003.                         success(2),
  1004.                         inProgress(3),
  1005.                         notSupported(4),
  1006.                         unAbleToRun(5),   -- due to state of system
  1007.                         aborted(6),
  1008.                         failed(7)
  1009.                     }
  1010.        MAX-ACCESS   read-only
  1011.        STATUS      deprecated
  1012.        DESCRIPTION
  1013.                "This object contains the result of the most recently
  1014.                requested test, or the value none(1) if no tests have
  1015.                been requested since the last reset.  Note that this
  1016.                facility provides no provision for saving the results
  1017.                of one test when starting another, as could be
  1018.                required if used by multiple managers concurrently."
  1019.        ::= { ifTestEntry 4 }
  1020.    ifTestCode  OBJECT-TYPE
  1021.        SYNTAX       OBJECT IDENTIFIER
  1022.        MAX-ACCESS   read-only
  1023.        STATUS      deprecated
  1024.        DESCRIPTION
  1025.                "This object contains a code which contains more
  1026.                specific information on the test result, for example
  1027.                an error-code after a failed test.  Error codes and
  1028.                other values this object may take are specific to the
  1029.                type of interface and/or test.  The value may have the
  1030.                semantics of either the AutonomousType or
  1031.                InstancePointer textual conventions as defined in RFC
  1032.                1443.  The identifier:
  1033.                    testCodeUnknown  OBJECT IDENTIFIER ::= { 0 0 }
  1034.                is defined for use if no additional result code is
  1035.                available."
  1036.        ::= { ifTestEntry 5 }
  1037.    ifTestOwner      OBJECT-TYPE
  1038.        SYNTAX       OwnerString
  1039.        MAX-ACCESS   read-write
  1040.        STATUS      deprecated
  1041.        DESCRIPTION
  1042.                "The entity which currently has the 'ownership'
  1043.                required to invoke a test on this interface."
  1044.        ::= { ifTestEntry 6 }
  1045.    --   Generic Receive Address Table
  1046.    --
  1047.    -- This group of objects is mandatory for all types of
  1048.    -- interfaces which can receive packets/frames addressed to
  1049.    -- more than one address.
  1050.    --
  1051.    -- This table replaces the ifExtnsRcvAddr table.  The main
  1052.    -- difference is that this table makes use of the RowStatus
  1053.    -- textual convention, while ifExtnsRcvAddr did not.
  1054.    ifRcvAddressTable  OBJECT-TYPE
  1055.        SYNTAX      SEQUENCE OF IfRcvAddressEntry
  1056.        MAX-ACCESS  not-accessible
  1057.        STATUS      current
  1058.        DESCRIPTION
  1059.                "This table contains an entry for each address
  1060.                (broadcast, multicast, or uni-cast) for which the
  1061.                system will receive packets/frames on a particular
  1062.                interface, except as follows:
  1063.                - for an interface operating in promiscuous mode,
  1064.                entries are only required for those addresses for
  1065.                which the system would receive frames were it not
  1066.                operating in promiscuous mode.
  1067.                - for 802.5 functional addresses, only one entry is
  1068.                required, for the address which has the functional
  1069.                address bit ANDed with the bit mask of all functional
  1070.                addresses for which the interface will accept frames."
  1071.        ::= { ifMIBObjects 4 }
  1072.    ifRcvAddressEntry  OBJECT-TYPE
  1073.        SYNTAX      IfRcvAddressEntry
  1074.        MAX-ACCESS  not-accessible
  1075.        STATUS      current
  1076.        DESCRIPTION
  1077.                "A list of objects identifying an address for which
  1078.                the system will accept packets/frames on the
  1079.                particular interface identified by the index value
  1080.                ifIndex."
  1081.        INDEX  { ifIndex, ifRcvAddressAddress }
  1082.        ::= { ifRcvAddressTable 1 }
  1083.    IfRcvAddressEntry ::=
  1084.        SEQUENCE {
  1085.            ifRcvAddressAddress   PhysAddress,
  1086.            ifRcvAddressStatus    RowStatus,
  1087.            ifRcvAddressType      INTEGER
  1088.        }
  1089.    ifRcvAddressAddress OBJECT-TYPE
  1090.        SYNTAX      PhysAddress
  1091.        MAX-ACCESS  not-accessible
  1092.        STATUS      current
  1093.        DESCRIPTION
  1094.                "An address for which the system will accept
  1095.                packets/frames on this entry's interface."
  1096.        ::= { ifRcvAddressEntry 1 }
  1097.    ifRcvAddressStatus OBJECT-TYPE
  1098.        SYNTAX      RowStatus
  1099.        MAX-ACCESS  read-create
  1100.        STATUS      current
  1101.        DESCRIPTION
  1102.                "This object is used to create and delete rows in the
  1103.                ifRcvAddressTable."
  1104.        ::= { ifRcvAddressEntry 2 }
  1105.    ifRcvAddressType OBJECT-TYPE
  1106.        SYNTAX      INTEGER {
  1107.                        other(1),
  1108.                        volatile(2),
  1109.                        nonVolatile(3)
  1110.                    }
  1111.        MAX-ACCESS  read-create
  1112.        STATUS      current
  1113.        DESCRIPTION
  1114.                "This object has the value nonVolatile(3) for those
  1115.                entries in the table which are valid and will not be
  1116.                deleted by the next restart of the managed system.
  1117.                Entries having the value volatile(2) are valid and
  1118.                exist, but have not been saved, so that will not exist
  1119.                after the next restart of the managed system.  Entries
  1120.                having the value other(1) are valid and exist but are
  1121.                not classified as to whether they will continue to
  1122.                exist after the next restart."
  1123.        DEFVAL  { volatile }
  1124.        ::= { ifRcvAddressEntry 3 }
  1125.    -- definition of interface-related traps.
  1126.    linkDown NOTIFICATION-TYPE
  1127.        OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
  1128.        STATUS  current
  1129.        DESCRIPTION
  1130.                "A linkDown trap signifies that the SNMPv2 entity,
  1131.                acting in an agent role, has detected that the
  1132.                ifOperStatus object for one of its communication links
  1133.                is about to transition into the down state."
  1134.        ::= { snmpTraps 3 }
  1135.    linkUp NOTIFICATION-TYPE
  1136.        OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
  1137.        STATUS  current
  1138.        DESCRIPTION
  1139.                "A linkUp trap signifies that the SNMPv2 entity,
  1140.                acting in an agent role, has detected that the
  1141.                ifOperStatus object for one of its communication links
  1142.                has transitioned out of the down state."
  1143.        ::= { snmpTraps 4 }
  1144.    -- conformance information
  1145.    ifConformance OBJECT IDENTIFIER ::= { ifMIB 2 }
  1146.    ifGroups      OBJECT IDENTIFIER ::= { ifConformance 1 }
  1147.    ifCompliances OBJECT IDENTIFIER ::= { ifConformance 2 }
  1148.    -- compliance statements
  1149.    ifCompliance2 MODULE-COMPLIANCE
  1150.        STATUS  current
  1151.        DESCRIPTION
  1152.                "The compliance statement for SNMPv2 entities which
  1153.                have network interfaces."
  1154.        MODULE  -- this module
  1155.            MANDATORY-GROUPS { ifGeneralInformationGroup, ifStackGroup2 }
  1156.    
  1157.            GROUP       ifFixedLengthGroup
  1158.            DESCRIPTION
  1159.                "This group is mandatory for all network interfaces
  1160.                which are character-oriented or transmit data in
  1161.                fixed-length transmission units."
  1162.            GROUP       ifHCFixedLengthGroup
  1163.            DESCRIPTION
  1164.                "This group is mandatory only for those network
  1165.                interfaces which are character-oriented or transmit
  1166.                data in fixed-length transmission units, and for which
  1167.                the value of the corresponding instance of ifSpeed is
  1168.                greater than 20,000,000 bits/second."
  1169.            GROUP       ifPacketGroup
  1170.            DESCRIPTION
  1171.                "This group is mandatory for all network interfaces
  1172.                which are packet-oriented."
  1173.            GROUP       ifHCPacketGroup
  1174.            DESCRIPTION
  1175.                "This group is mandatory only for those network
  1176.                interfaces which are packet-oriented and for which the
  1177.                value of the corresponding instance of ifSpeed is
  1178.                greater than 650,000,000 bits/second."
  1179.            GROUP       ifRcvAddressGroup
  1180.            DESCRIPTION
  1181.                "The applicability of this group MUST be defined by
  1182.                the media-specific MIBs.  Media-specific MIBs must
  1183.                define the exact meaning, use, and semantics of the
  1184.                addresses in this group."
  1185.            OBJECT      ifLinkUpDownTrapEnable
  1186.            MIN-ACCESS  read-only
  1187.            DESCRIPTION
  1188.                "Write access is not required."
  1189.            OBJECT      ifPromiscuousMode
  1190.            MIN-ACCESS  read-only
  1191.            DESCRIPTION
  1192.                "Write access is not required."
  1193.            OBJECT      ifStackStatus
  1194.            SYNTAX      INTEGER { active(1) } -- subset of RowStatus
  1195.            MIN-ACCESS  read-only
  1196.            DESCRIPTION
  1197.                "Write access is not required, and only one of the six
  1198.                enumerated values for the RowStatus textual convention
  1199.                need be supported, specifically: active(1)."
  1200.            OBJECT       ifAdminStatus
  1201.            SYNTAX       INTEGER { up(1), down(2) }
  1202.            MIN-ACCESS   read-only
  1203.            DESCRIPTION
  1204.                "Write access is not required, nor is support for the
  1205.                value testing(3)."
  1206.            OBJECT       ifAlias
  1207.            MIN-ACCESS   read-only
  1208.            DESCRIPTION
  1209.                "Write access is not required."
  1210.        ::= { ifCompliances 2 }
  1211.    ifCompliance MODULE-COMPLIANCE
  1212.        STATUS  obsolete
  1213.        DESCRIPTION
  1214.                "The compliance statement for SNMPv2 entities which
  1215.                have network interfaces."
  1216.        MODULE  -- this module
  1217.            MANDATORY-GROUPS { ifGeneralGroup, ifStackGroup }
  1218.            GROUP       ifFixedLengthGroup
  1219.            DESCRIPTION
  1220.                "This group is mandatory for all network interfaces
  1221.                which are character-oriented or transmit data in
  1222.                fixed-length transmission units."
  1223.            GROUP       ifHCFixedLengthGroup
  1224.            DESCRIPTION
  1225.                "This group is mandatory only for those network
  1226.                interfaces which are character-oriented or transmit
  1227.                data in fixed-length transmission units, and for which
  1228.                the value of the corresponding instance of ifSpeed is
  1229.                greater than 20,000,000 bits/second."
  1230.            GROUP       ifPacketGroup
  1231.            DESCRIPTION
  1232.                "This group is mandatory for all network interfaces
  1233.                which are packet-oriented."
  1234.            GROUP       ifHCPacketGroup
  1235.            DESCRIPTION
  1236.                "This group is mandatory only for those network
  1237.                interfaces which are packet-oriented and for which the
  1238.                value of the corresponding instance of ifSpeed is
  1239.                greater than 650,000,000 bits/second."
  1240.            GROUP       ifTestGroup
  1241.            DESCRIPTION
  1242.                "This group is optional.  Media-specific MIBs which
  1243.                require interface tests are strongly encouraged to use
  1244.                this group for invoking tests and reporting results.
  1245.                A medium specific MIB which has mandatory tests may
  1246.                make implementation of this group mandatory."
  1247.            GROUP       ifRcvAddressGroup
  1248.            DESCRIPTION
  1249.                "The applicability of this group MUST be defined by
  1250.                the media-specific MIBs.  Media-specific MIBs must
  1251.                define the exact meaning, use, and semantics of the
  1252.                addresses in this group."
  1253.            OBJECT      ifLinkUpDownTrapEnable
  1254.            MIN-ACCESS  read-only
  1255.            DESCRIPTION
  1256.                "Write access is not required."
  1257.            OBJECT      ifPromiscuousMode
  1258.            MIN-ACCESS  read-only
  1259.            DESCRIPTION
  1260.                "Write access is not required."
  1261.            OBJECT      ifStackStatus
  1262.            SYNTAX      INTEGER { active(1) } -- subset of RowStatus
  1263.            MIN-ACCESS  read-only
  1264.            DESCRIPTION
  1265.                "Write access is not required, and only one of the six
  1266.                enumerated values for the RowStatus textual convention
  1267.                need be supported, specifically: active(1)."
  1268.            OBJECT       ifAdminStatus
  1269.            SYNTAX       INTEGER { up(1), down(2) }
  1270.            MIN-ACCESS   read-only
  1271.            DESCRIPTION
  1272.                "Write access is not required, nor is support for the
  1273.                value testing(3)."
  1274.        ::= { ifCompliances 1 }
  1275.    -- units of conformance
  1276.    ifGeneralInformationGroup    OBJECT-GROUP
  1277.        OBJECTS { ifIndex, ifDescr, ifType, ifSpeed, ifPhysAddress,
  1278.                  ifAdminStatus, ifOperStatus, ifLastChange,
  1279.                  ifLinkUpDownTrapEnable, ifConnectorPresent,
  1280.                  ifHighSpeed, ifName, ifNumber, ifAlias,
  1281.                  ifTableLastChange }
  1282.        STATUS  current
  1283.        DESCRIPTION
  1284.                "A collection of objects providing information
  1285.                applicable to all network interfaces."
  1286.        ::= { ifGroups 10 }
  1287.    ifGeneralGroup    OBJECT-GROUP
  1288.        OBJECTS { ifDescr, ifType, ifSpeed, ifPhysAddress,
  1289.                  ifAdminStatus, ifOperStatus, ifLastChange,
  1290.                  ifLinkUpDownTrapEnable, ifConnectorPresent,
  1291.                  ifHighSpeed, ifName }
  1292.        STATUS      obsolete
  1293.        DESCRIPTION
  1294.                "A collection of objects providing information
  1295.                applicable to all network interfaces."
  1296.        ::= { ifGroups 1 }
  1297.    -- the following five groups are mutually exclusive; at most
  1298.    -- one of these groups is implemented for any interface
  1299.    ifFixedLengthGroup    OBJECT-GROUP
  1300.        OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos,
  1301.                  ifInErrors, ifOutErrors }
  1302.        STATUS  current
  1303.        DESCRIPTION
  1304.                "A collection of objects providing information
  1305.                specific to non-high speed, character-oriented or
  1306.                fixed-length-transmission network interfaces.  (Non-
  1307.                high speed interfaces transmit and receive at speeds
  1308.                less than or equal to 20,000,000 bits/second.)"
  1309.        ::= { ifGroups 2 }
  1310.    ifHCFixedLengthGroup    OBJECT-GROUP
  1311.        OBJECTS { ifHCInOctets, ifHCOutOctets,
  1312.                  ifInOctets, ifOutOctets, ifInUnknownProtos,
  1313.                  ifInErrors, ifOutErrors }
  1314.        STATUS  current
  1315.        DESCRIPTION
  1316.                "A collection of objects providing information
  1317.                specific to high speed (greater than 20,000,000
  1318.                bits/second) character-oriented or fixed-length-
  1319.                transmission network interfaces."
  1320.        ::= { ifGroups 3 }
  1321.    ifPacketGroup    OBJECT-GROUP
  1322.        OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos,
  1323.                  ifInErrors, ifOutErrors,
  1324.                  ifMtu, ifInUcastPkts, ifInMulticastPkts,
  1325.                  ifInBroadcastPkts, ifInDiscards,
  1326.                  ifOutUcastPkts, ifOutMulticastPkts,
  1327.                  ifOutBroadcastPkts, ifOutDiscards,
  1328.                  ifPromiscuousMode }
  1329.        STATUS  current
  1330.        DESCRIPTION
  1331.                "A collection of objects providing information
  1332.                specific to non-high speed, packet-oriented network
  1333.                interfaces.  (Non-high speed interfaces transmit and
  1334.                receive at speeds less than or equal to 20,000,000
  1335.                bits/second.)"
  1336.        ::= { ifGroups 4 }
  1337.    ifHCPacketGroup    OBJECT-GROUP
  1338.        OBJECTS { ifHCInOctets, ifHCOutOctets,
  1339.                  ifInOctets, ifOutOctets, ifInUnknownProtos,
  1340.                  ifInErrors, ifOutErrors,
  1341.                  ifMtu, ifInUcastPkts, ifInMulticastPkts,
  1342.                  ifInBroadcastPkts, ifInDiscards,
  1343.                  ifOutUcastPkts, ifOutMulticastPkts,
  1344.                  ifOutBroadcastPkts, ifOutDiscards,
  1345.                  ifPromiscuousMode }
  1346.        STATUS  current
  1347.        DESCRIPTION
  1348.                "A collection of objects providing information
  1349.                specific to high speed (greater than 20,000,000
  1350.                bits/second but less than or equal to 650,000,000
  1351.                bits/second) packet-oriented network interfaces."
  1352.        ::= { ifGroups 5 }
  1353.    ifVHCPacketGroup    OBJECT-GROUP
  1354.        OBJECTS { ifHCInUcastPkts, ifHCInMulticastPkts,
  1355.                  ifHCInBroadcastPkts, ifHCOutUcastPkts,
  1356.                  ifHCOutMulticastPkts, ifHCOutBroadcastPkts,
  1357.                  ifHCInOctets, ifHCOutOctets,
  1358.                  ifInOctets, ifOutOctets, ifInUnknownProtos,
  1359.                  ifInErrors, ifOutErrors,
  1360.                  ifMtu, ifInUcastPkts, ifInMulticastPkts,
  1361.                  ifInBroadcastPkts, ifInDiscards,
  1362.                  ifOutUcastPkts, ifOutMulticastPkts,
  1363.                  ifOutBroadcastPkts, ifOutDiscards,
  1364.                  ifPromiscuousMode }
  1365.        STATUS  current
  1366.        DESCRIPTION
  1367.                "A collection of objects providing information
  1368.                specific to higher speed (greater than 650,000,000
  1369.                bits/second) packet-oriented network interfaces."
  1370.        ::= { ifGroups 6 }
  1371.    ifRcvAddressGroup    OBJECT-GROUP
  1372.        OBJECTS { ifRcvAddressStatus, ifRcvAddressType }
  1373.        STATUS  current
  1374.        DESCRIPTION
  1375.                "A collection of objects providing information on the
  1376.                multiple addresses which an interface receives."
  1377.        ::= { ifGroups 7 }
  1378.    ifTestGroup    OBJECT-GROUP
  1379.        OBJECTS { ifTestId, ifTestStatus, ifTestType,
  1380.                  ifTestResult, ifTestCode, ifTestOwner }
  1381.        STATUS  obsolete
  1382.        DESCRIPTION
  1383.                "A collection of objects providing the ability to
  1384.                invoke tests on an interface."
  1385.        ::= { ifGroups 8 }
  1386.    ifStackGroup    OBJECT-GROUP
  1387.        OBJECTS { ifStackStatus }
  1388.        STATUS  obsolete
  1389.        DESCRIPTION
  1390.                "A collection of objects providing information on the
  1391.                layering of MIB-II interfaces."
  1392.        ::= { ifGroups 9 }
  1393.    ifStackGroup2    OBJECT-GROUP
  1394.        OBJECTS { ifStackStatus, ifStackLastChange }
  1395.        STATUS  current
  1396.        DESCRIPTION
  1397.                "A collection of objects providing information on the
  1398.                layering of MIB-II interfaces."
  1399.        ::= { ifGroups 11 }
  1400. ifOldObjectsGroup    OBJECT-GROUP
  1401.     OBJECTS { ifInNUcastPkts, ifOutNUcastPkts,
  1402.               ifOutQLen, ifSpecific }
  1403.     STATUS  obsolete
  1404.     DESCRIPTION
  1405.             "The collection of objects deprecated from the
  1406.             original MIB-II interfaces group."
  1407.     ::= { ifGroups 12 }
  1408.    END