mirror of
				https://github.com/librenms/librenms.git
				synced 2024-10-07 16:52:45 +00:00 
			
		
		
		
	git-svn-id: http://www.observium.org/svn/observer/trunk@1645 61d68cd4-352d-0410-923a-c4978735b2b8
		
			
				
	
	
		
			1815 lines
		
	
	
		
			70 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			1815 lines
		
	
	
		
			70 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
IF-MIB DEFINITIONS ::= BEGIN
 | 
						|
 | 
						|
IMPORTS
 | 
						|
    MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32, Counter64,
 | 
						|
    Integer32, TimeTicks, mib-2,
 | 
						|
    NOTIFICATION-TYPE                        FROM SNMPv2-SMI
 | 
						|
    TEXTUAL-CONVENTION, DisplayString,
 | 
						|
    PhysAddress, TruthValue, RowStatus,
 | 
						|
    TimeStamp, AutonomousType, TestAndIncr   FROM SNMPv2-TC
 | 
						|
    MODULE-COMPLIANCE, OBJECT-GROUP,
 | 
						|
    NOTIFICATION-GROUP                       FROM SNMPv2-CONF
 | 
						|
    snmpTraps                                FROM SNMPv2-MIB
 | 
						|
    IANAifType                               FROM IANAifType-MIB;
 | 
						|
 | 
						|
ifMIB MODULE-IDENTITY
 | 
						|
    LAST-UPDATED "200006140000Z"
 | 
						|
    ORGANIZATION "IETF Interfaces MIB Working Group"
 | 
						|
    CONTACT-INFO
 | 
						|
            "   Keith McCloghrie
 | 
						|
                Cisco Systems, Inc.
 | 
						|
                170 West Tasman Drive
 | 
						|
                San Jose, CA  95134-1706
 | 
						|
                US
 | 
						|
 | 
						|
                408-526-5260
 | 
						|
                kzm@cisco.com"
 | 
						|
    DESCRIPTION
 | 
						|
            "The MIB module to describe generic objects for network
 | 
						|
            interface sub-layers.  This MIB is an updated version of
 | 
						|
            MIB-II's ifTable, and incorporates the extensions defined in
 | 
						|
            RFC 1229."
 | 
						|
 | 
						|
    REVISION      "200006140000Z"
 | 
						|
    DESCRIPTION
 | 
						|
            "Clarifications agreed upon by the Interfaces MIB WG, and
 | 
						|
            published as RFC 2863."
 | 
						|
    REVISION      "199602282155Z"
 | 
						|
    DESCRIPTION
 | 
						|
            "Revisions made by the Interfaces MIB WG, and published in
 | 
						|
            RFC 2233."
 | 
						|
    REVISION      "199311082155Z"
 | 
						|
    DESCRIPTION
 | 
						|
            "Initial revision, published as part of RFC 1573."
 | 
						|
    ::= { mib-2 31 }
 | 
						|
 | 
						|
ifMIBObjects OBJECT IDENTIFIER ::= { ifMIB 1 }
 | 
						|
 | 
						|
interfaces   OBJECT IDENTIFIER ::= { mib-2 2 }
 | 
						|
 | 
						|
--
 | 
						|
-- Textual Conventions
 | 
						|
--
 | 
						|
 | 
						|
-- OwnerString has the same semantics as used in RFC 1271
 | 
						|
 | 
						|
OwnerString ::= TEXTUAL-CONVENTION
 | 
						|
    DISPLAY-HINT "255a"
 | 
						|
    STATUS       deprecated
 | 
						|
    DESCRIPTION
 | 
						|
            "This data type is used to model an administratively
 | 
						|
            assigned name of the owner of a resource.  This information
 | 
						|
            is taken from the NVT ASCII character set.  It is suggested
 | 
						|
            that this name contain one or more of the following: ASCII
 | 
						|
            form of the manager station's transport address, management
 | 
						|
            station name (e.g., domain name), network management
 | 
						|
            personnel's name, location, or phone number.  In some cases
 | 
						|
            the agent itself will be the owner of an entry.  In these
 | 
						|
            cases, this string shall be set to a string starting with
 | 
						|
            'agent'."
 | 
						|
    SYNTAX       OCTET STRING (SIZE(0..255))
 | 
						|
 | 
						|
-- InterfaceIndex contains the semantics of ifIndex and should be used
 | 
						|
-- for any objects defined in other MIB modules that need these semantics.
 | 
						|
 | 
						|
InterfaceIndex ::= TEXTUAL-CONVENTION
 | 
						|
    DISPLAY-HINT "d"
 | 
						|
    STATUS       current
 | 
						|
    DESCRIPTION
 | 
						|
            "A unique value, greater than zero, for each interface or
 | 
						|
            interface sub-layer in the managed system.  It is
 | 
						|
            recommended that values are assigned contiguously starting
 | 
						|
            from 1.  The value for each interface sub-layer must remain
 | 
						|
            constant at least from one re-initialization of the entity's
 | 
						|
            network management system to the next re-initialization."
 | 
						|
    SYNTAX       Integer32 (1..2147483647)
 | 
						|
 | 
						|
InterfaceIndexOrZero ::= TEXTUAL-CONVENTION
 | 
						|
    DISPLAY-HINT "d"
 | 
						|
    STATUS       current
 | 
						|
    DESCRIPTION
 | 
						|
            "This textual convention is an extension of the
 | 
						|
            InterfaceIndex convention.  The latter defines a greater
 | 
						|
            than zero value used to identify an interface or interface
 | 
						|
            sub-layer in the managed system.  This extension permits the
 | 
						|
            additional value of zero.  the value zero is object-specific
 | 
						|
            and must therefore be defined as part of the description of
 | 
						|
            any object which uses this syntax.  Examples of the usage of
 | 
						|
            zero might include situations where interface was unknown,
 | 
						|
            or when none or all interfaces need to be referenced."
 | 
						|
    SYNTAX       Integer32 (0..2147483647)
 | 
						|
 | 
						|
ifNumber  OBJECT-TYPE
 | 
						|
    SYNTAX      Integer32
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The number of network interfaces (regardless of their
 | 
						|
            current state) present on this system."
 | 
						|
    ::= { interfaces 1 }
 | 
						|
 | 
						|
ifTableLastChange  OBJECT-TYPE
 | 
						|
    SYNTAX      TimeTicks
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The value of sysUpTime at the time of the last creation or
 | 
						|
            deletion of an entry in the ifTable.  If the number of
 | 
						|
            entries has been unchanged since the last re-initialization
 | 
						|
            of the local network management subsystem, then this object
 | 
						|
            contains a zero value."
 | 
						|
    ::= { ifMIBObjects 5 }
 | 
						|
 | 
						|
-- the Interfaces table
 | 
						|
 | 
						|
-- The Interfaces table contains information on the entity's
 | 
						|
 | 
						|
-- interfaces.  Each sub-layer below the internetwork-layer
 | 
						|
-- of a network interface is considered to be an interface.
 | 
						|
 | 
						|
ifTable OBJECT-TYPE
 | 
						|
    SYNTAX      SEQUENCE OF IfEntry
 | 
						|
    MAX-ACCESS  not-accessible
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "A list of interface entries.  The number of entries is
 | 
						|
            given by the value of ifNumber."
 | 
						|
    ::= { interfaces 2 }
 | 
						|
 | 
						|
ifEntry OBJECT-TYPE
 | 
						|
    SYNTAX      IfEntry
 | 
						|
    MAX-ACCESS  not-accessible
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "An entry containing management information applicable to a
 | 
						|
            particular interface."
 | 
						|
    INDEX   { ifIndex }
 | 
						|
    ::= { ifTable 1 }
 | 
						|
 | 
						|
IfEntry ::=
 | 
						|
    SEQUENCE {
 | 
						|
        ifIndex                 InterfaceIndex,
 | 
						|
        ifDescr                 DisplayString,
 | 
						|
        ifType                  IANAifType,
 | 
						|
        ifMtu                   Integer32,
 | 
						|
        ifSpeed                 Gauge32,
 | 
						|
        ifPhysAddress           PhysAddress,
 | 
						|
        ifAdminStatus           INTEGER,
 | 
						|
        ifOperStatus            INTEGER,
 | 
						|
        ifLastChange            TimeTicks,
 | 
						|
        ifInOctets              Counter32,
 | 
						|
        ifInUcastPkts           Counter32,
 | 
						|
        ifInNUcastPkts          Counter32,  -- deprecated
 | 
						|
        ifInDiscards            Counter32,
 | 
						|
        ifInErrors              Counter32,
 | 
						|
        ifInUnknownProtos       Counter32,
 | 
						|
        ifOutOctets             Counter32,
 | 
						|
        ifOutUcastPkts          Counter32,
 | 
						|
        ifOutNUcastPkts         Counter32,  -- deprecated
 | 
						|
        ifOutDiscards           Counter32,
 | 
						|
        ifOutErrors             Counter32,
 | 
						|
        ifOutQLen               Gauge32,    -- deprecated
 | 
						|
        ifSpecific              OBJECT IDENTIFIER -- deprecated
 | 
						|
    }
 | 
						|
 | 
						|
ifIndex OBJECT-TYPE
 | 
						|
    SYNTAX      InterfaceIndex
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "A unique value, greater than zero, for each interface.  It
 | 
						|
            is recommended that values are assigned contiguously
 | 
						|
            starting from 1.  The value for each interface sub-layer
 | 
						|
            must remain constant at least from one re-initialization of
 | 
						|
            the entity's network management system to the next re-
 | 
						|
            initialization."
 | 
						|
    ::= { ifEntry 1 }
 | 
						|
 | 
						|
ifDescr OBJECT-TYPE
 | 
						|
    SYNTAX      DisplayString (SIZE (0..255))
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "A textual string containing information about the
 | 
						|
            interface.  This string should include the name of the
 | 
						|
            manufacturer, the product name and the version of the
 | 
						|
            interface hardware/software."
 | 
						|
    ::= { ifEntry 2 }
 | 
						|
 | 
						|
ifType OBJECT-TYPE
 | 
						|
    SYNTAX      IANAifType
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The type of interface.  Additional values for ifType are
 | 
						|
            assigned by the Internet Assigned Numbers Authority (IANA),
 | 
						|
            through updating the syntax of the IANAifType textual
 | 
						|
            convention."
 | 
						|
    ::= { ifEntry 3 }
 | 
						|
 | 
						|
ifMtu OBJECT-TYPE
 | 
						|
    SYNTAX      Integer32
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The size of the largest packet which can be sent/received
 | 
						|
            on the interface, specified in octets.  For interfaces that
 | 
						|
            are used for transmitting network datagrams, this is the
 | 
						|
            size of the largest network datagram that can be sent on the
 | 
						|
            interface."
 | 
						|
    ::= { ifEntry 4 }
 | 
						|
 | 
						|
ifSpeed OBJECT-TYPE
 | 
						|
    SYNTAX      Gauge32
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "An estimate of the interface's current bandwidth in bits
 | 
						|
            per second.  For interfaces which do not vary in bandwidth
 | 
						|
            or for those where no accurate estimation can be made, this
 | 
						|
            object should contain the nominal bandwidth.  If the
 | 
						|
            bandwidth of the interface is greater than the maximum value
 | 
						|
            reportable by this object then this object should report its
 | 
						|
            maximum value (4,294,967,295) and ifHighSpeed must be used
 | 
						|
            to report the interace's speed.  For a sub-layer which has
 | 
						|
            no concept of bandwidth, this object should be zero."
 | 
						|
    ::= { ifEntry 5 }
 | 
						|
 | 
						|
ifPhysAddress OBJECT-TYPE
 | 
						|
    SYNTAX      PhysAddress
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The interface's address at its protocol sub-layer.  For
 | 
						|
            example, for an 802.x interface, this object normally
 | 
						|
            contains a MAC address.  The interface's media-specific MIB
 | 
						|
            must define the bit and byte ordering and the format of the
 | 
						|
            value of this object.  For interfaces which do not have such
 | 
						|
            an address (e.g., a serial line), this object should contain
 | 
						|
            an octet string of zero length."
 | 
						|
    ::= { ifEntry 6 }
 | 
						|
 | 
						|
ifAdminStatus OBJECT-TYPE
 | 
						|
    SYNTAX  INTEGER {
 | 
						|
                up(1),       -- ready to pass packets
 | 
						|
                down(2),
 | 
						|
                testing(3)   -- in some test mode
 | 
						|
            }
 | 
						|
    MAX-ACCESS  read-write
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The desired state of the interface.  The testing(3) state
 | 
						|
            indicates that no operational packets can be passed.  When a
 | 
						|
            managed system initializes, all interfaces start with
 | 
						|
            ifAdminStatus in the down(2) state.  As a result of either
 | 
						|
            explicit management action or per configuration information
 | 
						|
            retained by the managed system, ifAdminStatus is then
 | 
						|
            changed to either the up(1) or testing(3) states (or remains
 | 
						|
            in the down(2) state)."
 | 
						|
    ::= { ifEntry 7 }
 | 
						|
 | 
						|
ifOperStatus OBJECT-TYPE
 | 
						|
    SYNTAX  INTEGER {
 | 
						|
                up(1),        -- ready to pass packets
 | 
						|
                down(2),
 | 
						|
                testing(3),   -- in some test mode
 | 
						|
                unknown(4),   -- status can not be determined
 | 
						|
                              -- for some reason.
 | 
						|
                dormant(5),
 | 
						|
                notPresent(6),    -- some component is missing
 | 
						|
                lowerLayerDown(7) -- down due to state of
 | 
						|
                                  -- lower-layer interface(s)
 | 
						|
            }
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The current operational state of the interface.  The
 | 
						|
            testing(3) state indicates that no operational packets can
 | 
						|
            be passed.  If ifAdminStatus is down(2) then ifOperStatus
 | 
						|
            should be down(2).  If ifAdminStatus is changed to up(1)
 | 
						|
            then ifOperStatus should change to up(1) if the interface is
 | 
						|
            ready to transmit and receive network traffic; it should
 | 
						|
            change to dormant(5) if the interface is waiting for
 | 
						|
            external actions (such as a serial line waiting for an
 | 
						|
            incoming connection); it should remain in the down(2) state
 | 
						|
            if and only if there is a fault that prevents it from going
 | 
						|
            to the up(1) state; it should remain in the notPresent(6)
 | 
						|
            state if the interface has missing (typically, hardware)
 | 
						|
            components."
 | 
						|
    ::= { ifEntry 8 }
 | 
						|
 | 
						|
ifLastChange OBJECT-TYPE
 | 
						|
    SYNTAX      TimeTicks
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The value of sysUpTime at the time the interface entered
 | 
						|
            its current operational state.  If the current state was
 | 
						|
            entered prior to the last re-initialization of the local
 | 
						|
            network management subsystem, then this object contains a
 | 
						|
            zero value."
 | 
						|
    ::= { ifEntry 9 }
 | 
						|
 | 
						|
ifInOctets OBJECT-TYPE
 | 
						|
    SYNTAX      Counter32
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The total number of octets received on the interface,
 | 
						|
            including framing characters.
 | 
						|
 | 
						|
            Discontinuities in the value of this counter can occur at
 | 
						|
            re-initialization of the management system, and at other
 | 
						|
            times as indicated by the value of
 | 
						|
            ifCounterDiscontinuityTime."
 | 
						|
    ::= { ifEntry 10 }
 | 
						|
 | 
						|
ifInUcastPkts OBJECT-TYPE
 | 
						|
    SYNTAX      Counter32
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The number of packets, delivered by this sub-layer to a
 | 
						|
            higher (sub-)layer, which were not addressed to a multicast
 | 
						|
            or broadcast address at this sub-layer.
 | 
						|
 | 
						|
            Discontinuities in the value of this counter can occur at
 | 
						|
            re-initialization of the management system, and at other
 | 
						|
            times as indicated by the value of
 | 
						|
            ifCounterDiscontinuityTime."
 | 
						|
    ::= { ifEntry 11 }
 | 
						|
 | 
						|
ifInNUcastPkts OBJECT-TYPE
 | 
						|
    SYNTAX  Counter32
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      deprecated
 | 
						|
    DESCRIPTION
 | 
						|
            "The number of packets, delivered by this sub-layer to a
 | 
						|
            higher (sub-)layer, which were addressed to a multicast or
 | 
						|
            broadcast address at this sub-layer.
 | 
						|
 | 
						|
            Discontinuities in the value of this counter can occur at
 | 
						|
            re-initialization of the management system, and at other
 | 
						|
            times as indicated by the value of
 | 
						|
            ifCounterDiscontinuityTime.
 | 
						|
 | 
						|
            This object is deprecated in favour of ifInMulticastPkts and
 | 
						|
            ifInBroadcastPkts."
 | 
						|
    ::= { ifEntry 12 }
 | 
						|
 | 
						|
ifInDiscards OBJECT-TYPE
 | 
						|
    SYNTAX      Counter32
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The number of inbound packets which were chosen to be
 | 
						|
            discarded even though no errors had been detected to prevent
 | 
						|
 | 
						|
            their being deliverable to a higher-layer protocol.  One
 | 
						|
            possible reason for discarding such a packet could be to
 | 
						|
            free up buffer space.
 | 
						|
 | 
						|
            Discontinuities in the value of this counter can occur at
 | 
						|
            re-initialization of the management system, and at other
 | 
						|
            times as indicated by the value of
 | 
						|
            ifCounterDiscontinuityTime."
 | 
						|
    ::= { ifEntry 13 }
 | 
						|
 | 
						|
ifInErrors OBJECT-TYPE
 | 
						|
    SYNTAX      Counter32
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "For packet-oriented interfaces, the number of inbound
 | 
						|
            packets that contained errors preventing them from being
 | 
						|
            deliverable to a higher-layer protocol.  For character-
 | 
						|
            oriented or fixed-length interfaces, the number of inbound
 | 
						|
            transmission units that contained errors preventing them
 | 
						|
            from being deliverable to a higher-layer protocol.
 | 
						|
 | 
						|
            Discontinuities in the value of this counter can occur at
 | 
						|
            re-initialization of the management system, and at other
 | 
						|
            times as indicated by the value of
 | 
						|
            ifCounterDiscontinuityTime."
 | 
						|
    ::= { ifEntry 14 }
 | 
						|
 | 
						|
ifInUnknownProtos OBJECT-TYPE
 | 
						|
    SYNTAX      Counter32
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "For packet-oriented interfaces, the number of packets
 | 
						|
            received via the interface which were discarded because of
 | 
						|
            an unknown or unsupported protocol.  For character-oriented
 | 
						|
            or fixed-length interfaces that support protocol
 | 
						|
            multiplexing the number of transmission units received via
 | 
						|
            the interface which were discarded because of an unknown or
 | 
						|
            unsupported protocol.  For any interface that does not
 | 
						|
            support protocol multiplexing, this counter will always be
 | 
						|
            0.
 | 
						|
 | 
						|
            Discontinuities in the value of this counter can occur at
 | 
						|
            re-initialization of the management system, and at other
 | 
						|
            times as indicated by the value of
 | 
						|
            ifCounterDiscontinuityTime."
 | 
						|
    ::= { ifEntry 15 }
 | 
						|
 | 
						|
ifOutOctets OBJECT-TYPE
 | 
						|
    SYNTAX      Counter32
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The total number of octets transmitted out of the
 | 
						|
            interface, including framing characters.
 | 
						|
 | 
						|
            Discontinuities in the value of this counter can occur at
 | 
						|
            re-initialization of the management system, and at other
 | 
						|
            times as indicated by the value of
 | 
						|
            ifCounterDiscontinuityTime."
 | 
						|
    ::= { ifEntry 16 }
 | 
						|
 | 
						|
ifOutUcastPkts OBJECT-TYPE
 | 
						|
    SYNTAX      Counter32
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The total number of packets that higher-level protocols
 | 
						|
            requested be transmitted, and which were not addressed to a
 | 
						|
            multicast or broadcast address at this sub-layer, including
 | 
						|
            those that were discarded or not sent.
 | 
						|
 | 
						|
            Discontinuities in the value of this counter can occur at
 | 
						|
            re-initialization of the management system, and at other
 | 
						|
            times as indicated by the value of
 | 
						|
            ifCounterDiscontinuityTime."
 | 
						|
    ::= { ifEntry 17 }
 | 
						|
 | 
						|
ifOutNUcastPkts OBJECT-TYPE
 | 
						|
    SYNTAX      Counter32
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      deprecated
 | 
						|
    DESCRIPTION
 | 
						|
            "The total number of packets that higher-level protocols
 | 
						|
            requested be transmitted, and which were addressed to a
 | 
						|
            multicast or broadcast address at this sub-layer, including
 | 
						|
            those that were discarded or not sent.
 | 
						|
 | 
						|
            Discontinuities in the value of this counter can occur at
 | 
						|
            re-initialization of the management system, and at other
 | 
						|
            times as indicated by the value of
 | 
						|
            ifCounterDiscontinuityTime.
 | 
						|
 | 
						|
            This object is deprecated in favour of ifOutMulticastPkts
 | 
						|
            and ifOutBroadcastPkts."
 | 
						|
    ::= { ifEntry 18 }
 | 
						|
 | 
						|
ifOutDiscards OBJECT-TYPE
 | 
						|
    SYNTAX      Counter32
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The number of outbound packets which were chosen to be
 | 
						|
            discarded even though no errors had been detected to prevent
 | 
						|
            their being transmitted.  One possible reason for discarding
 | 
						|
            such a packet could be to free up buffer space.
 | 
						|
 | 
						|
            Discontinuities in the value of this counter can occur at
 | 
						|
            re-initialization of the management system, and at other
 | 
						|
            times as indicated by the value of
 | 
						|
            ifCounterDiscontinuityTime."
 | 
						|
    ::= { ifEntry 19 }
 | 
						|
 | 
						|
ifOutErrors OBJECT-TYPE
 | 
						|
    SYNTAX      Counter32
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "For packet-oriented interfaces, the number of outbound
 | 
						|
            packets that could not be transmitted because of errors.
 | 
						|
            For character-oriented or fixed-length interfaces, the
 | 
						|
            number of outbound transmission units that could not be
 | 
						|
            transmitted because of errors.
 | 
						|
 | 
						|
            Discontinuities in the value of this counter can occur at
 | 
						|
            re-initialization of the management system, and at other
 | 
						|
            times as indicated by the value of
 | 
						|
            ifCounterDiscontinuityTime."
 | 
						|
    ::= { ifEntry 20 }
 | 
						|
 | 
						|
ifOutQLen OBJECT-TYPE
 | 
						|
    SYNTAX      Gauge32
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      deprecated
 | 
						|
    DESCRIPTION
 | 
						|
            "The length of the output packet queue (in packets)."
 | 
						|
    ::= { ifEntry 21 }
 | 
						|
 | 
						|
ifSpecific OBJECT-TYPE
 | 
						|
    SYNTAX      OBJECT IDENTIFIER
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      deprecated
 | 
						|
    DESCRIPTION
 | 
						|
            "A reference to MIB definitions specific to the particular
 | 
						|
            media being used to realize the interface.  It is
 | 
						|
 | 
						|
            recommended that this value point to an instance of a MIB
 | 
						|
            object in the media-specific MIB, i.e., that this object
 | 
						|
            have the semantics associated with the InstancePointer
 | 
						|
            textual convention defined in RFC 2579.  In fact, it is
 | 
						|
            recommended that the media-specific MIB specify what value
 | 
						|
            ifSpecific should/can take for values of ifType.  If no MIB
 | 
						|
            definitions specific to the particular media are available,
 | 
						|
            the value should be set to the OBJECT IDENTIFIER { 0 0 }."
 | 
						|
    ::= { ifEntry 22 }
 | 
						|
 | 
						|
--
 | 
						|
--   Extension to the interface table
 | 
						|
--
 | 
						|
-- This table replaces the ifExtnsTable table.
 | 
						|
--
 | 
						|
 | 
						|
ifXTable        OBJECT-TYPE
 | 
						|
    SYNTAX      SEQUENCE OF IfXEntry
 | 
						|
    MAX-ACCESS  not-accessible
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "A list of interface entries.  The number of entries is
 | 
						|
            given by the value of ifNumber.  This table contains
 | 
						|
            additional objects for the interface table."
 | 
						|
    ::= { ifMIBObjects 1 }
 | 
						|
 | 
						|
ifXEntry        OBJECT-TYPE
 | 
						|
    SYNTAX      IfXEntry
 | 
						|
    MAX-ACCESS  not-accessible
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "An entry containing additional management information
 | 
						|
            applicable to a particular interface."
 | 
						|
    AUGMENTS    { ifEntry }
 | 
						|
    ::= { ifXTable 1 }
 | 
						|
 | 
						|
IfXEntry ::=
 | 
						|
    SEQUENCE {
 | 
						|
        ifName                  DisplayString,
 | 
						|
        ifInMulticastPkts       Counter32,
 | 
						|
        ifInBroadcastPkts       Counter32,
 | 
						|
        ifOutMulticastPkts      Counter32,
 | 
						|
        ifOutBroadcastPkts      Counter32,
 | 
						|
        ifHCInOctets            Counter64,
 | 
						|
        ifHCInUcastPkts         Counter64,
 | 
						|
        ifHCInMulticastPkts     Counter64,
 | 
						|
        ifHCInBroadcastPkts     Counter64,
 | 
						|
        ifHCOutOctets           Counter64,
 | 
						|
        ifHCOutUcastPkts        Counter64,
 | 
						|
        ifHCOutMulticastPkts    Counter64,
 | 
						|
        ifHCOutBroadcastPkts    Counter64,
 | 
						|
        ifLinkUpDownTrapEnable  INTEGER,
 | 
						|
        ifHighSpeed             Gauge32,
 | 
						|
        ifPromiscuousMode       TruthValue,
 | 
						|
        ifConnectorPresent      TruthValue,
 | 
						|
        ifAlias                 DisplayString,
 | 
						|
        ifCounterDiscontinuityTime TimeStamp
 | 
						|
    }
 | 
						|
 | 
						|
ifName OBJECT-TYPE
 | 
						|
    SYNTAX      DisplayString
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The textual name of the interface.  The value of this
 | 
						|
            object should be the name of the interface as assigned by
 | 
						|
            the local device and should be suitable for use in commands
 | 
						|
            entered at the device's `console'.  This might be a text
 | 
						|
            name, such as `le0' or a simple port number, such as `1',
 | 
						|
            depending on the interface naming syntax of the device.  If
 | 
						|
            several entries in the ifTable together represent a single
 | 
						|
            interface as named by the device, then each will have the
 | 
						|
            same value of ifName.  Note that for an agent which responds
 | 
						|
            to SNMP queries concerning an interface on some other
 | 
						|
            (proxied) device, then the value of ifName for such an
 | 
						|
            interface is the proxied device's local name for it.
 | 
						|
 | 
						|
            If there is no local name, or this object is otherwise not
 | 
						|
            applicable, then this object contains a zero-length string."
 | 
						|
    ::= { ifXEntry 1 }
 | 
						|
 | 
						|
ifInMulticastPkts OBJECT-TYPE
 | 
						|
    SYNTAX      Counter32
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The number of packets, delivered by this sub-layer to a
 | 
						|
            higher (sub-)layer, which were addressed to a multicast
 | 
						|
            address at this sub-layer.  For a MAC layer protocol, this
 | 
						|
            includes both Group and Functional addresses.
 | 
						|
 | 
						|
            Discontinuities in the value of this counter can occur at
 | 
						|
            re-initialization of the management system, and at other
 | 
						|
 | 
						|
            times as indicated by the value of
 | 
						|
            ifCounterDiscontinuityTime."
 | 
						|
    ::= { ifXEntry 2 }
 | 
						|
 | 
						|
ifInBroadcastPkts OBJECT-TYPE
 | 
						|
    SYNTAX      Counter32
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The number of packets, delivered by this sub-layer to a
 | 
						|
            higher (sub-)layer, which were addressed to a broadcast
 | 
						|
            address at this sub-layer.
 | 
						|
 | 
						|
            Discontinuities in the value of this counter can occur at
 | 
						|
            re-initialization of the management system, and at other
 | 
						|
            times as indicated by the value of
 | 
						|
            ifCounterDiscontinuityTime."
 | 
						|
    ::= { ifXEntry 3 }
 | 
						|
 | 
						|
ifOutMulticastPkts OBJECT-TYPE
 | 
						|
    SYNTAX      Counter32
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The total number of packets that higher-level protocols
 | 
						|
            requested be transmitted, and which were addressed to a
 | 
						|
            multicast address at this sub-layer, including those that
 | 
						|
            were discarded or not sent.  For a MAC layer protocol, this
 | 
						|
            includes both Group and Functional addresses.
 | 
						|
 | 
						|
            Discontinuities in the value of this counter can occur at
 | 
						|
            re-initialization of the management system, and at other
 | 
						|
            times as indicated by the value of
 | 
						|
            ifCounterDiscontinuityTime."
 | 
						|
    ::= { ifXEntry 4 }
 | 
						|
 | 
						|
ifOutBroadcastPkts OBJECT-TYPE
 | 
						|
    SYNTAX      Counter32
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The total number of packets that higher-level protocols
 | 
						|
            requested be transmitted, and which were addressed to a
 | 
						|
            broadcast address at this sub-layer, including those that
 | 
						|
            were discarded or not sent.
 | 
						|
 | 
						|
            Discontinuities in the value of this counter can occur at
 | 
						|
            re-initialization of the management system, and at other
 | 
						|
 | 
						|
            times as indicated by the value of
 | 
						|
            ifCounterDiscontinuityTime."
 | 
						|
    ::= { ifXEntry 5 }
 | 
						|
 | 
						|
--
 | 
						|
-- High Capacity Counter objects.  These objects are all
 | 
						|
-- 64 bit versions of the "basic" ifTable counters.  These
 | 
						|
-- objects all have the same basic semantics as their 32-bit
 | 
						|
-- counterparts, however, their syntax has been extended
 | 
						|
-- to 64 bits.
 | 
						|
--
 | 
						|
 | 
						|
ifHCInOctets OBJECT-TYPE
 | 
						|
    SYNTAX      Counter64
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The total number of octets received on the interface,
 | 
						|
            including framing characters.  This object is a 64-bit
 | 
						|
            version of ifInOctets.
 | 
						|
 | 
						|
            Discontinuities in the value of this counter can occur at
 | 
						|
            re-initialization of the management system, and at other
 | 
						|
            times as indicated by the value of
 | 
						|
            ifCounterDiscontinuityTime."
 | 
						|
    ::= { ifXEntry 6 }
 | 
						|
 | 
						|
ifHCInUcastPkts OBJECT-TYPE
 | 
						|
    SYNTAX      Counter64
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The number of packets, delivered by this sub-layer to a
 | 
						|
            higher (sub-)layer, which were not addressed to a multicast
 | 
						|
            or broadcast address at this sub-layer.  This object is a
 | 
						|
            64-bit version of ifInUcastPkts.
 | 
						|
 | 
						|
            Discontinuities in the value of this counter can occur at
 | 
						|
            re-initialization of the management system, and at other
 | 
						|
            times as indicated by the value of
 | 
						|
            ifCounterDiscontinuityTime."
 | 
						|
    ::= { ifXEntry 7 }
 | 
						|
 | 
						|
ifHCInMulticastPkts OBJECT-TYPE
 | 
						|
    SYNTAX      Counter64
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The number of packets, delivered by this sub-layer to a
 | 
						|
            higher (sub-)layer, which were addressed to a multicast
 | 
						|
            address at this sub-layer.  For a MAC layer protocol, this
 | 
						|
            includes both Group and Functional addresses.  This object
 | 
						|
            is a 64-bit version of ifInMulticastPkts.
 | 
						|
 | 
						|
            Discontinuities in the value of this counter can occur at
 | 
						|
            re-initialization of the management system, and at other
 | 
						|
            times as indicated by the value of
 | 
						|
            ifCounterDiscontinuityTime."
 | 
						|
    ::= { ifXEntry 8 }
 | 
						|
 | 
						|
ifHCInBroadcastPkts OBJECT-TYPE
 | 
						|
    SYNTAX      Counter64
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The number of packets, delivered by this sub-layer to a
 | 
						|
            higher (sub-)layer, which were addressed to a broadcast
 | 
						|
            address at this sub-layer.  This object is a 64-bit version
 | 
						|
            of ifInBroadcastPkts.
 | 
						|
 | 
						|
            Discontinuities in the value of this counter can occur at
 | 
						|
            re-initialization of the management system, and at other
 | 
						|
            times as indicated by the value of
 | 
						|
            ifCounterDiscontinuityTime."
 | 
						|
    ::= { ifXEntry 9 }
 | 
						|
 | 
						|
ifHCOutOctets OBJECT-TYPE
 | 
						|
    SYNTAX      Counter64
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The total number of octets transmitted out of the
 | 
						|
            interface, including framing characters.  This object is a
 | 
						|
            64-bit version of ifOutOctets.
 | 
						|
 | 
						|
            Discontinuities in the value of this counter can occur at
 | 
						|
            re-initialization of the management system, and at other
 | 
						|
            times as indicated by the value of
 | 
						|
            ifCounterDiscontinuityTime."
 | 
						|
    ::= { ifXEntry 10 }
 | 
						|
 | 
						|
ifHCOutUcastPkts OBJECT-TYPE
 | 
						|
    SYNTAX      Counter64
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The total number of packets that higher-level protocols
 | 
						|
            requested be transmitted, and which were not addressed to a
 | 
						|
            multicast or broadcast address at this sub-layer, including
 | 
						|
            those that were discarded or not sent.  This object is a
 | 
						|
            64-bit version of ifOutUcastPkts.
 | 
						|
 | 
						|
            Discontinuities in the value of this counter can occur at
 | 
						|
            re-initialization of the management system, and at other
 | 
						|
            times as indicated by the value of
 | 
						|
            ifCounterDiscontinuityTime."
 | 
						|
    ::= { ifXEntry 11 }
 | 
						|
 | 
						|
ifHCOutMulticastPkts OBJECT-TYPE
 | 
						|
    SYNTAX      Counter64
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The total number of packets that higher-level protocols
 | 
						|
            requested be transmitted, and which were addressed to a
 | 
						|
            multicast address at this sub-layer, including those that
 | 
						|
            were discarded or not sent.  For a MAC layer protocol, this
 | 
						|
            includes both Group and Functional addresses.  This object
 | 
						|
            is a 64-bit version of ifOutMulticastPkts.
 | 
						|
 | 
						|
            Discontinuities in the value of this counter can occur at
 | 
						|
            re-initialization of the management system, and at other
 | 
						|
            times as indicated by the value of
 | 
						|
            ifCounterDiscontinuityTime."
 | 
						|
    ::= { ifXEntry 12 }
 | 
						|
 | 
						|
ifHCOutBroadcastPkts OBJECT-TYPE
 | 
						|
    SYNTAX      Counter64
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The total number of packets that higher-level protocols
 | 
						|
            requested be transmitted, and which were addressed to a
 | 
						|
            broadcast address at this sub-layer, including those that
 | 
						|
            were discarded or not sent.  This object is a 64-bit version
 | 
						|
            of ifOutBroadcastPkts.
 | 
						|
 | 
						|
            Discontinuities in the value of this counter can occur at
 | 
						|
            re-initialization of the management system, and at other
 | 
						|
            times as indicated by the value of
 | 
						|
            ifCounterDiscontinuityTime."
 | 
						|
    ::= { ifXEntry 13 }
 | 
						|
 | 
						|
ifLinkUpDownTrapEnable  OBJECT-TYPE
 | 
						|
    SYNTAX      INTEGER { enabled(1), disabled(2) }
 | 
						|
    MAX-ACCESS  read-write
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "Indicates whether linkUp/linkDown traps should be generated
 | 
						|
            for this interface.
 | 
						|
 | 
						|
            By default, this object should have the value enabled(1) for
 | 
						|
            interfaces which do not operate on 'top' of any other
 | 
						|
            interface (as defined in the ifStackTable), and disabled(2)
 | 
						|
            otherwise."
 | 
						|
    ::= { ifXEntry 14 }
 | 
						|
 | 
						|
ifHighSpeed OBJECT-TYPE
 | 
						|
    SYNTAX      Gauge32
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "An estimate of the interface's current bandwidth in units
 | 
						|
            of 1,000,000 bits per second.  If this object reports a
 | 
						|
            value of `n' then the speed of the interface is somewhere in
 | 
						|
            the range of `n-500,000' to `n+499,999'.  For interfaces
 | 
						|
            which do not vary in bandwidth or for those where no
 | 
						|
            accurate estimation can be made, this object should contain
 | 
						|
            the nominal bandwidth.  For a sub-layer which has no concept
 | 
						|
            of bandwidth, this object should be zero."
 | 
						|
    ::= { ifXEntry 15 }
 | 
						|
 | 
						|
ifPromiscuousMode  OBJECT-TYPE
 | 
						|
    SYNTAX      TruthValue
 | 
						|
    MAX-ACCESS  read-write
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "This object has a value of false(2) if this interface only
 | 
						|
            accepts packets/frames that are addressed to this station.
 | 
						|
            This object has a value of true(1) when the station accepts
 | 
						|
            all packets/frames transmitted on the media.  The value
 | 
						|
            true(1) is only legal on certain types of media.  If legal,
 | 
						|
            setting this object to a value of true(1) may require the
 | 
						|
            interface to be reset before becoming effective.
 | 
						|
 | 
						|
            The value of ifPromiscuousMode does not affect the reception
 | 
						|
            of broadcast and multicast packets/frames by the interface."
 | 
						|
    ::= { ifXEntry 16 }
 | 
						|
 | 
						|
ifConnectorPresent   OBJECT-TYPE
 | 
						|
    SYNTAX      TruthValue
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "This object has the value 'true(1)' if the interface
 | 
						|
            sublayer has a physical connector and the value 'false(2)'
 | 
						|
            otherwise."
 | 
						|
    ::= { ifXEntry 17 }
 | 
						|
 | 
						|
ifAlias   OBJECT-TYPE
 | 
						|
    SYNTAX      DisplayString (SIZE(0..64))
 | 
						|
    MAX-ACCESS  read-write
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "This object is an 'alias' name for the interface as
 | 
						|
            specified by a network manager, and provides a non-volatile
 | 
						|
            'handle' for the interface.
 | 
						|
 | 
						|
            On the first instantiation of an interface, the value of
 | 
						|
            ifAlias associated with that interface is the zero-length
 | 
						|
            string.  As and when a value is written into an instance of
 | 
						|
            ifAlias through a network management set operation, then the
 | 
						|
            agent must retain the supplied value in the ifAlias instance
 | 
						|
            associated with the same interface for as long as that
 | 
						|
            interface remains instantiated, including across all re-
 | 
						|
            initializations/reboots of the network management system,
 | 
						|
            including those which result in a change of the interface's
 | 
						|
            ifIndex value.
 | 
						|
 | 
						|
            An example of the value which a network manager might store
 | 
						|
            in this object for a WAN interface is the (Telco's) circuit
 | 
						|
            number/identifier of the interface.
 | 
						|
 | 
						|
            Some agents may support write-access only for interfaces
 | 
						|
            having particular values of ifType.  An agent which supports
 | 
						|
            write access to this object is required to keep the value in
 | 
						|
            non-volatile storage, but it may limit the length of new
 | 
						|
            values depending on how much storage is already occupied by
 | 
						|
            the current values for other interfaces."
 | 
						|
    ::= { ifXEntry 18 }
 | 
						|
 | 
						|
ifCounterDiscontinuityTime OBJECT-TYPE
 | 
						|
    SYNTAX      TimeStamp
 | 
						|
    MAX-ACCESS  read-only
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "The value of sysUpTime on the most recent occasion at which
 | 
						|
            any one or more of this interface's counters suffered a
 | 
						|
            discontinuity.  The relevant counters are the specific
 | 
						|
            instances associated with this interface of any Counter32 or
 | 
						|
 | 
						|
            Counter64 object contained in the ifTable or ifXTable.  If
 | 
						|
            no such discontinuities have occurred since the last re-
 | 
						|
            initialization of the local management subsystem, then this
 | 
						|
            object contains a zero value."
 | 
						|
    ::= { ifXEntry 19 }
 | 
						|
 | 
						|
--           The Interface Stack Group
 | 
						|
--
 | 
						|
-- Implementation of this group is optional, but strongly recommended
 | 
						|
-- for all systems
 | 
						|
--
 | 
						|
 | 
						|
ifStackTable  OBJECT-TYPE
 | 
						|
     SYNTAX        SEQUENCE OF IfStackEntry
 | 
						|
     MAX-ACCESS    not-accessible
 | 
						|
     STATUS        current
 | 
						|
     DESCRIPTION
 | 
						|
            "The table containing information on the relationships
 | 
						|
            between the multiple sub-layers of network interfaces.  In
 | 
						|
            particular, it contains information on which sub-layers run
 | 
						|
            'on top of' which other sub-layers, where each sub-layer
 | 
						|
            corresponds to a conceptual row in the ifTable.  For
 | 
						|
            example, when the sub-layer with ifIndex value x runs over
 | 
						|
            the sub-layer with ifIndex value y, then this table
 | 
						|
            contains:
 | 
						|
 | 
						|
              ifStackStatus.x.y=active
 | 
						|
 | 
						|
            For each ifIndex value, I, which identifies an active
 | 
						|
            interface, there are always at least two instantiated rows
 | 
						|
            in this table associated with I.  For one of these rows, I
 | 
						|
            is the value of ifStackHigherLayer; for the other, I is the
 | 
						|
            value of ifStackLowerLayer.  (If I is not involved in
 | 
						|
            multiplexing, then these are the only two rows associated
 | 
						|
            with I.)
 | 
						|
 | 
						|
            For example, two rows exist even for an interface which has
 | 
						|
            no others stacked on top or below it:
 | 
						|
 | 
						|
              ifStackStatus.0.x=active
 | 
						|
              ifStackStatus.x.0=active "
 | 
						|
     ::= { ifMIBObjects 2 }
 | 
						|
 | 
						|
ifStackEntry  OBJECT-TYPE
 | 
						|
     SYNTAX        IfStackEntry
 | 
						|
     MAX-ACCESS    not-accessible
 | 
						|
     STATUS        current
 | 
						|
     DESCRIPTION
 | 
						|
            "Information on a particular relationship between two sub-
 | 
						|
            layers, specifying that one sub-layer runs on 'top' of the
 | 
						|
            other sub-layer.  Each sub-layer corresponds to a conceptual
 | 
						|
            row in the ifTable."
 | 
						|
     INDEX { ifStackHigherLayer, ifStackLowerLayer }
 | 
						|
     ::= { ifStackTable 1 }
 | 
						|
 | 
						|
IfStackEntry ::=
 | 
						|
    SEQUENCE {
 | 
						|
        ifStackHigherLayer  InterfaceIndexOrZero,
 | 
						|
        ifStackLowerLayer   InterfaceIndexOrZero,
 | 
						|
        ifStackStatus       RowStatus
 | 
						|
     }
 | 
						|
 | 
						|
ifStackHigherLayer  OBJECT-TYPE
 | 
						|
     SYNTAX        InterfaceIndexOrZero
 | 
						|
     MAX-ACCESS    not-accessible
 | 
						|
     STATUS        current
 | 
						|
     DESCRIPTION
 | 
						|
            "The value of ifIndex corresponding to the higher sub-layer
 | 
						|
            of the relationship, i.e., the sub-layer which runs on 'top'
 | 
						|
            of the sub-layer identified by the corresponding instance of
 | 
						|
            ifStackLowerLayer.  If there is no higher sub-layer (below
 | 
						|
            the internetwork layer), then this object has the value 0."
 | 
						|
     ::= { ifStackEntry 1 }
 | 
						|
 | 
						|
ifStackLowerLayer  OBJECT-TYPE
 | 
						|
     SYNTAX        InterfaceIndexOrZero
 | 
						|
     MAX-ACCESS    not-accessible
 | 
						|
     STATUS        current
 | 
						|
     DESCRIPTION
 | 
						|
            "The value of ifIndex corresponding to the lower sub-layer
 | 
						|
            of the relationship, i.e., the sub-layer which runs 'below'
 | 
						|
            the sub-layer identified by the corresponding instance of
 | 
						|
            ifStackHigherLayer.  If there is no lower sub-layer, then
 | 
						|
            this object has the value 0."
 | 
						|
     ::= { ifStackEntry 2 }
 | 
						|
 | 
						|
ifStackStatus  OBJECT-TYPE
 | 
						|
    SYNTAX         RowStatus
 | 
						|
    MAX-ACCESS     read-create
 | 
						|
    STATUS         current
 | 
						|
    DESCRIPTION
 | 
						|
            "The status of the relationship between two sub-layers.
 | 
						|
 | 
						|
            Changing the value of this object from 'active' to
 | 
						|
            'notInService' or 'destroy' will likely have consequences up
 | 
						|
            and down the interface stack.  Thus, write access to this
 | 
						|
            object is likely to be inappropriate for some types of
 | 
						|
            interfaces, and many implementations will choose not to
 | 
						|
            support write-access for any type of interface."
 | 
						|
    ::= { ifStackEntry 3 }
 | 
						|
 | 
						|
ifStackLastChange OBJECT-TYPE
 | 
						|
    SYNTAX         TimeTicks
 | 
						|
    MAX-ACCESS     read-only
 | 
						|
    STATUS         current
 | 
						|
    DESCRIPTION
 | 
						|
            "The value of sysUpTime at the time of the last change of
 | 
						|
            the (whole) interface stack.  A change of the interface
 | 
						|
            stack is defined to be any creation, deletion, or change in
 | 
						|
            value of any instance of ifStackStatus.  If the interface
 | 
						|
            stack has been unchanged since the last re-initialization of
 | 
						|
            the local network management subsystem, then this object
 | 
						|
            contains a zero value."
 | 
						|
    ::= { ifMIBObjects 6 }
 | 
						|
 | 
						|
--   Generic Receive Address Table
 | 
						|
--
 | 
						|
-- This group of objects is mandatory for all types of
 | 
						|
-- interfaces which can receive packets/frames addressed to
 | 
						|
-- more than one address.
 | 
						|
--
 | 
						|
-- This table replaces the ifExtnsRcvAddr table.  The main
 | 
						|
-- difference is that this table makes use of the RowStatus
 | 
						|
-- textual convention, while ifExtnsRcvAddr did not.
 | 
						|
 | 
						|
ifRcvAddressTable  OBJECT-TYPE
 | 
						|
    SYNTAX      SEQUENCE OF IfRcvAddressEntry
 | 
						|
    MAX-ACCESS  not-accessible
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "This table contains an entry for each address (broadcast,
 | 
						|
            multicast, or uni-cast) for which the system will receive
 | 
						|
            packets/frames on a particular interface, except as follows:
 | 
						|
 | 
						|
            - for an interface operating in promiscuous mode, entries
 | 
						|
            are only required for those addresses for which the system
 | 
						|
            would receive frames were it not operating in promiscuous
 | 
						|
            mode.
 | 
						|
 | 
						|
            - for 802.5 functional addresses, only one entry is
 | 
						|
            required, for the address which has the functional address
 | 
						|
            bit ANDed with the bit mask of all functional addresses for
 | 
						|
            which the interface will accept frames.
 | 
						|
 | 
						|
            A system is normally able to use any unicast address which
 | 
						|
            corresponds to an entry in this table as a source address."
 | 
						|
    ::= { ifMIBObjects 4 }
 | 
						|
 | 
						|
ifRcvAddressEntry  OBJECT-TYPE
 | 
						|
    SYNTAX      IfRcvAddressEntry
 | 
						|
    MAX-ACCESS  not-accessible
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "A list of objects identifying an address for which the
 | 
						|
            system will accept packets/frames on the particular
 | 
						|
            interface identified by the index value ifIndex."
 | 
						|
    INDEX  { ifIndex, ifRcvAddressAddress }
 | 
						|
    ::= { ifRcvAddressTable 1 }
 | 
						|
 | 
						|
IfRcvAddressEntry ::=
 | 
						|
    SEQUENCE {
 | 
						|
        ifRcvAddressAddress   PhysAddress,
 | 
						|
        ifRcvAddressStatus    RowStatus,
 | 
						|
        ifRcvAddressType      INTEGER
 | 
						|
    }
 | 
						|
 | 
						|
ifRcvAddressAddress OBJECT-TYPE
 | 
						|
    SYNTAX      PhysAddress
 | 
						|
    MAX-ACCESS  not-accessible
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "An address for which the system will accept packets/frames
 | 
						|
            on this entry's interface."
 | 
						|
    ::= { ifRcvAddressEntry 1 }
 | 
						|
 | 
						|
ifRcvAddressStatus OBJECT-TYPE
 | 
						|
    SYNTAX      RowStatus
 | 
						|
    MAX-ACCESS  read-create
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "This object is used to create and delete rows in the
 | 
						|
            ifRcvAddressTable."
 | 
						|
    ::= { ifRcvAddressEntry 2 }
 | 
						|
 | 
						|
ifRcvAddressType OBJECT-TYPE
 | 
						|
    SYNTAX      INTEGER {
 | 
						|
 | 
						|
                    other(1),
 | 
						|
                    volatile(2),
 | 
						|
                    nonVolatile(3)
 | 
						|
                }
 | 
						|
    MAX-ACCESS  read-create
 | 
						|
    STATUS      current
 | 
						|
    DESCRIPTION
 | 
						|
            "This object has the value nonVolatile(3) for those entries
 | 
						|
            in the table which are valid and will not be deleted by the
 | 
						|
            next restart of the managed system.  Entries having the
 | 
						|
            value volatile(2) are valid and exist, but have not been
 | 
						|
            saved, so that will not exist after the next restart of the
 | 
						|
            managed system.  Entries having the value other(1) are valid
 | 
						|
            and exist but are not classified as to whether they will
 | 
						|
            continue to exist after the next restart."
 | 
						|
    DEFVAL  { volatile }
 | 
						|
    ::= { ifRcvAddressEntry 3 }
 | 
						|
 | 
						|
-- definition of interface-related traps.
 | 
						|
 | 
						|
linkDown NOTIFICATION-TYPE
 | 
						|
    OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
 | 
						|
    STATUS  current
 | 
						|
    DESCRIPTION
 | 
						|
            "A linkDown trap signifies that the SNMP entity, acting in
 | 
						|
            an agent role, has detected that the ifOperStatus object for
 | 
						|
            one of its communication links is about to enter the down
 | 
						|
            state from some other state (but not from the notPresent
 | 
						|
            state).  This other state is indicated by the included value
 | 
						|
            of ifOperStatus."
 | 
						|
    ::= { snmpTraps 3 }
 | 
						|
 | 
						|
linkUp NOTIFICATION-TYPE
 | 
						|
    OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
 | 
						|
    STATUS  current
 | 
						|
    DESCRIPTION
 | 
						|
            "A linkUp trap signifies that the SNMP entity, acting in an
 | 
						|
            agent role, has detected that the ifOperStatus object for
 | 
						|
            one of its communication links left the down state and
 | 
						|
            transitioned into some other state (but not into the
 | 
						|
            notPresent state).  This other state is indicated by the
 | 
						|
            included value of ifOperStatus."
 | 
						|
    ::= { snmpTraps 4 }
 | 
						|
 | 
						|
-- conformance information
 | 
						|
 | 
						|
ifConformance OBJECT IDENTIFIER ::= { ifMIB 2 }
 | 
						|
 | 
						|
ifGroups      OBJECT IDENTIFIER ::= { ifConformance 1 }
 | 
						|
ifCompliances OBJECT IDENTIFIER ::= { ifConformance 2 }
 | 
						|
 | 
						|
-- compliance statements
 | 
						|
 | 
						|
ifCompliance3 MODULE-COMPLIANCE
 | 
						|
    STATUS  current
 | 
						|
    DESCRIPTION
 | 
						|
            "The compliance statement for SNMP entities which have
 | 
						|
            network interfaces."
 | 
						|
 | 
						|
    MODULE  -- this module
 | 
						|
        MANDATORY-GROUPS { ifGeneralInformationGroup,
 | 
						|
                           linkUpDownNotificationsGroup }
 | 
						|
 | 
						|
-- The groups:
 | 
						|
--        ifFixedLengthGroup
 | 
						|
--        ifHCFixedLengthGroup
 | 
						|
--        ifPacketGroup
 | 
						|
--        ifHCPacketGroup
 | 
						|
--        ifVHCPacketGroup
 | 
						|
-- are mutually exclusive; at most one of these groups is implemented
 | 
						|
-- for a particular interface.  When any of these groups is implemented
 | 
						|
-- for a particular interface, then ifCounterDiscontinuityGroup must
 | 
						|
-- also be implemented for that interface.
 | 
						|
 | 
						|
        GROUP       ifFixedLengthGroup
 | 
						|
        DESCRIPTION
 | 
						|
            "This group is mandatory for those network interfaces which
 | 
						|
            are character-oriented or transmit data in fixed-length
 | 
						|
            transmission units, and for which the value of the
 | 
						|
            corresponding instance of ifSpeed is less than or equal to
 | 
						|
            20,000,000 bits/second."
 | 
						|
 | 
						|
        GROUP       ifHCFixedLengthGroup
 | 
						|
        DESCRIPTION
 | 
						|
            "This group is mandatory for those network interfaces which
 | 
						|
            are character-oriented or transmit data in fixed-length
 | 
						|
            transmission units, and for which the value of the
 | 
						|
            corresponding instance of ifSpeed is greater than 20,000,000
 | 
						|
            bits/second."
 | 
						|
 | 
						|
        GROUP       ifPacketGroup
 | 
						|
        DESCRIPTION
 | 
						|
            "This group is mandatory for those network interfaces which
 | 
						|
            are packet-oriented, and for which the value of the
 | 
						|
            corresponding instance of ifSpeed is less than or equal to
 | 
						|
            20,000,000 bits/second."
 | 
						|
 | 
						|
        GROUP       ifHCPacketGroup
 | 
						|
        DESCRIPTION
 | 
						|
            "This group is mandatory only for those network interfaces
 | 
						|
            which are packet-oriented and for which the value of the
 | 
						|
            corresponding instance of ifSpeed is greater than 20,000,000
 | 
						|
            bits/second but less than or equal to 650,000,000
 | 
						|
            bits/second."
 | 
						|
 | 
						|
        GROUP       ifVHCPacketGroup
 | 
						|
        DESCRIPTION
 | 
						|
            "This group is mandatory only for those network interfaces
 | 
						|
            which are packet-oriented and for which the value of the
 | 
						|
            corresponding instance of ifSpeed is greater than
 | 
						|
            650,000,000 bits/second."
 | 
						|
 | 
						|
        GROUP       ifCounterDiscontinuityGroup
 | 
						|
        DESCRIPTION
 | 
						|
            "This group is mandatory for those network interfaces that
 | 
						|
            are required to maintain counters (i.e., those for which one
 | 
						|
            of the ifFixedLengthGroup, ifHCFixedLengthGroup,
 | 
						|
            ifPacketGroup, ifHCPacketGroup, or ifVHCPacketGroup is
 | 
						|
            mandatory)."
 | 
						|
 | 
						|
        GROUP       ifRcvAddressGroup
 | 
						|
        DESCRIPTION
 | 
						|
            "The applicability of this group MUST be defined by the
 | 
						|
            media-specific MIBs.  Media-specific MIBs must define the
 | 
						|
            exact meaning, use, and semantics of the addresses in this
 | 
						|
            group."
 | 
						|
 | 
						|
        OBJECT      ifLinkUpDownTrapEnable
 | 
						|
        MIN-ACCESS  read-only
 | 
						|
        DESCRIPTION
 | 
						|
            "Write access is not required."
 | 
						|
 | 
						|
        OBJECT      ifPromiscuousMode
 | 
						|
        MIN-ACCESS  read-only
 | 
						|
        DESCRIPTION
 | 
						|
            "Write access is not required."
 | 
						|
 | 
						|
        OBJECT       ifAdminStatus
 | 
						|
        SYNTAX       INTEGER { up(1), down(2) }
 | 
						|
        MIN-ACCESS   read-only
 | 
						|
        DESCRIPTION
 | 
						|
            "Write access is not required, nor is support for the value
 | 
						|
            testing(3)."
 | 
						|
 | 
						|
        OBJECT       ifAlias
 | 
						|
        MIN-ACCESS   read-only
 | 
						|
        DESCRIPTION
 | 
						|
            "Write access is not required."
 | 
						|
    ::= { ifCompliances 3 }
 | 
						|
 | 
						|
-- units of conformance
 | 
						|
 | 
						|
ifGeneralInformationGroup    OBJECT-GROUP
 | 
						|
    OBJECTS { ifIndex, ifDescr, ifType, ifSpeed, ifPhysAddress,
 | 
						|
              ifAdminStatus, ifOperStatus, ifLastChange,
 | 
						|
              ifLinkUpDownTrapEnable, ifConnectorPresent,
 | 
						|
              ifHighSpeed, ifName, ifNumber, ifAlias,
 | 
						|
              ifTableLastChange }
 | 
						|
    STATUS  current
 | 
						|
    DESCRIPTION
 | 
						|
            "A collection of objects providing information applicable to
 | 
						|
            all network interfaces."
 | 
						|
    ::= { ifGroups 10 }
 | 
						|
 | 
						|
-- the following five groups are mutually exclusive; at most
 | 
						|
-- one of these groups is implemented for any interface
 | 
						|
 | 
						|
ifFixedLengthGroup    OBJECT-GROUP
 | 
						|
    OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos,
 | 
						|
              ifInErrors, ifOutErrors }
 | 
						|
    STATUS  current
 | 
						|
    DESCRIPTION
 | 
						|
            "A collection of objects providing information specific to
 | 
						|
            non-high speed (non-high speed interfaces transmit and
 | 
						|
            receive at speeds less than or equal to 20,000,000
 | 
						|
            bits/second) character-oriented or fixed-length-transmission
 | 
						|
            network interfaces."
 | 
						|
    ::= { ifGroups 2 }
 | 
						|
 | 
						|
ifHCFixedLengthGroup    OBJECT-GROUP
 | 
						|
    OBJECTS { ifHCInOctets, ifHCOutOctets,
 | 
						|
              ifInOctets, ifOutOctets, ifInUnknownProtos,
 | 
						|
              ifInErrors, ifOutErrors }
 | 
						|
    STATUS  current
 | 
						|
    DESCRIPTION
 | 
						|
            "A collection of objects providing information specific to
 | 
						|
            high speed (greater than 20,000,000 bits/second) character-
 | 
						|
            oriented or fixed-length-transmission network interfaces."
 | 
						|
    ::= { ifGroups 3 }
 | 
						|
 | 
						|
ifPacketGroup    OBJECT-GROUP
 | 
						|
    OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos,
 | 
						|
              ifInErrors, ifOutErrors,
 | 
						|
              ifMtu, ifInUcastPkts, ifInMulticastPkts,
 | 
						|
              ifInBroadcastPkts, ifInDiscards,
 | 
						|
              ifOutUcastPkts, ifOutMulticastPkts,
 | 
						|
              ifOutBroadcastPkts, ifOutDiscards,
 | 
						|
              ifPromiscuousMode }
 | 
						|
    STATUS  current
 | 
						|
    DESCRIPTION
 | 
						|
            "A collection of objects providing information specific to
 | 
						|
            non-high speed (non-high speed interfaces transmit and
 | 
						|
            receive at speeds less than or equal to 20,000,000
 | 
						|
            bits/second) packet-oriented network interfaces."
 | 
						|
    ::= { ifGroups 4 }
 | 
						|
 | 
						|
ifHCPacketGroup    OBJECT-GROUP
 | 
						|
    OBJECTS { ifHCInOctets, ifHCOutOctets,
 | 
						|
              ifInOctets, ifOutOctets, ifInUnknownProtos,
 | 
						|
              ifInErrors, ifOutErrors,
 | 
						|
              ifMtu, ifInUcastPkts, ifInMulticastPkts,
 | 
						|
              ifInBroadcastPkts, ifInDiscards,
 | 
						|
              ifOutUcastPkts, ifOutMulticastPkts,
 | 
						|
              ifOutBroadcastPkts, ifOutDiscards,
 | 
						|
              ifPromiscuousMode }
 | 
						|
    STATUS  current
 | 
						|
    DESCRIPTION
 | 
						|
            "A collection of objects providing information specific to
 | 
						|
            high speed (greater than 20,000,000 bits/second but less
 | 
						|
            than or equal to 650,000,000 bits/second) packet-oriented
 | 
						|
            network interfaces."
 | 
						|
    ::= { ifGroups 5 }
 | 
						|
 | 
						|
ifVHCPacketGroup    OBJECT-GROUP
 | 
						|
    OBJECTS { ifHCInUcastPkts, ifHCInMulticastPkts,
 | 
						|
              ifHCInBroadcastPkts, ifHCOutUcastPkts,
 | 
						|
              ifHCOutMulticastPkts, ifHCOutBroadcastPkts,
 | 
						|
              ifHCInOctets, ifHCOutOctets,
 | 
						|
              ifInOctets, ifOutOctets, ifInUnknownProtos,
 | 
						|
              ifInErrors, ifOutErrors,
 | 
						|
              ifMtu, ifInUcastPkts, ifInMulticastPkts,
 | 
						|
              ifInBroadcastPkts, ifInDiscards,
 | 
						|
              ifOutUcastPkts, ifOutMulticastPkts,
 | 
						|
              ifOutBroadcastPkts, ifOutDiscards,
 | 
						|
              ifPromiscuousMode }
 | 
						|
    STATUS  current
 | 
						|
    DESCRIPTION
 | 
						|
            "A collection of objects providing information specific to
 | 
						|
            higher speed (greater than 650,000,000 bits/second) packet-
 | 
						|
            oriented network interfaces."
 | 
						|
    ::= { ifGroups 6 }
 | 
						|
 | 
						|
ifRcvAddressGroup    OBJECT-GROUP
 | 
						|
    OBJECTS { ifRcvAddressStatus, ifRcvAddressType }
 | 
						|
    STATUS  current
 | 
						|
    DESCRIPTION
 | 
						|
            "A collection of objects providing information on the
 | 
						|
            multiple addresses which an interface receives."
 | 
						|
    ::= { ifGroups 7 }
 | 
						|
 | 
						|
ifStackGroup2    OBJECT-GROUP
 | 
						|
    OBJECTS { ifStackStatus, ifStackLastChange }
 | 
						|
    STATUS  current
 | 
						|
    DESCRIPTION
 | 
						|
            "A collection of objects providing information on the
 | 
						|
            layering of MIB-II interfaces."
 | 
						|
    ::= { ifGroups 11 }
 | 
						|
 | 
						|
ifCounterDiscontinuityGroup  OBJECT-GROUP
 | 
						|
    OBJECTS { ifCounterDiscontinuityTime }
 | 
						|
    STATUS  current
 | 
						|
    DESCRIPTION
 | 
						|
            "A collection of objects providing information specific to
 | 
						|
            interface counter discontinuities."
 | 
						|
    ::= { ifGroups 13 }
 | 
						|
 | 
						|
linkUpDownNotificationsGroup  NOTIFICATION-GROUP
 | 
						|
    NOTIFICATIONS { linkUp, linkDown }
 | 
						|
    STATUS  current
 | 
						|
    DESCRIPTION
 | 
						|
            "The notifications which indicate specific changes in the
 | 
						|
            value of ifOperStatus."
 | 
						|
    ::= { ifGroups 14 }
 | 
						|
 | 
						|
-- Deprecated Definitions - Objects
 | 
						|
 | 
						|
--
 | 
						|
--    The Interface Test Table
 | 
						|
--
 | 
						|
-- This group of objects is optional.  However, a media-specific
 | 
						|
 | 
						|
-- MIB may make implementation of this group mandatory.
 | 
						|
--
 | 
						|
-- This table replaces the ifExtnsTestTable
 | 
						|
--
 | 
						|
 | 
						|
ifTestTable   OBJECT-TYPE
 | 
						|
    SYNTAX      SEQUENCE OF IfTestEntry
 | 
						|
    MAX-ACCESS  not-accessible
 | 
						|
    STATUS      deprecated
 | 
						|
    DESCRIPTION
 | 
						|
            "This table contains one entry per interface.  It defines
 | 
						|
            objects which allow a network manager to instruct an agent
 | 
						|
            to test an interface for various faults.  Tests for an
 | 
						|
            interface are defined in the media-specific MIB for that
 | 
						|
            interface.  After invoking a test, the object ifTestResult
 | 
						|
            can be read to determine the outcome.  If an agent can not
 | 
						|
            perform the test, ifTestResult is set to so indicate.  The
 | 
						|
            object ifTestCode can be used to provide further test-
 | 
						|
            specific or interface-specific (or even enterprise-specific)
 | 
						|
            information concerning the outcome of the test.  Only one
 | 
						|
            test can be in progress on each interface at any one time.
 | 
						|
            If one test is in progress when another test is invoked, the
 | 
						|
            second test is rejected.  Some agents may reject a test when
 | 
						|
            a prior test is active on another interface.
 | 
						|
 | 
						|
            Before starting a test, a manager-station must first obtain
 | 
						|
            'ownership' of the entry in the ifTestTable for the
 | 
						|
            interface to be tested.  This is accomplished with the
 | 
						|
            ifTestId and ifTestStatus objects as follows:
 | 
						|
 | 
						|
          try_again:
 | 
						|
              get (ifTestId, ifTestStatus)
 | 
						|
              while (ifTestStatus != notInUse)
 | 
						|
                  /*
 | 
						|
                   * Loop while a test is running or some other
 | 
						|
                   * manager is configuring a test.
 | 
						|
                   */
 | 
						|
                  short delay
 | 
						|
                  get (ifTestId, ifTestStatus)
 | 
						|
              }
 | 
						|
 | 
						|
              /*
 | 
						|
               * Is not being used right now -- let's compete
 | 
						|
               * to see who gets it.
 | 
						|
               */
 | 
						|
              lock_value = ifTestId
 | 
						|
 | 
						|
              if ( set(ifTestId = lock_value, ifTestStatus = inUse,
 | 
						|
                       ifTestOwner = 'my-IP-address') == FAILURE)
 | 
						|
                  /*
 | 
						|
                   * Another manager got the ifTestEntry -- go
 | 
						|
                   * try again
 | 
						|
                   */
 | 
						|
                  goto try_again;
 | 
						|
 | 
						|
              /*
 | 
						|
               * I have the lock
 | 
						|
               */
 | 
						|
              set up any test parameters.
 | 
						|
 | 
						|
              /*
 | 
						|
               * This starts the test
 | 
						|
               */
 | 
						|
              set(ifTestType = test_to_run);
 | 
						|
 | 
						|
              wait for test completion by polling ifTestResult
 | 
						|
 | 
						|
              when test completes, agent sets ifTestResult
 | 
						|
                   agent also sets ifTestStatus = 'notInUse'
 | 
						|
 | 
						|
              retrieve any additional test results, and ifTestId
 | 
						|
 | 
						|
              if (ifTestId == lock_value+1) results are valid
 | 
						|
 | 
						|
            A manager station first retrieves the value of the
 | 
						|
            appropriate ifTestId and ifTestStatus objects, periodically
 | 
						|
            repeating the retrieval if necessary, until the value of
 | 
						|
            ifTestStatus is 'notInUse'.  The manager station then tries
 | 
						|
            to set the same ifTestId object to the value it just
 | 
						|
            retrieved, the same ifTestStatus object to 'inUse', and the
 | 
						|
            corresponding ifTestOwner object to a value indicating
 | 
						|
            itself.  If the set operation succeeds then the manager has
 | 
						|
            obtained ownership of the ifTestEntry, and the value of the
 | 
						|
            ifTestId object is incremented by the agent (per the
 | 
						|
            semantics of TestAndIncr).  Failure of the set operation
 | 
						|
            indicates that some other manager has obtained ownership of
 | 
						|
            the ifTestEntry.
 | 
						|
 | 
						|
            Once ownership is obtained, any test parameters can be
 | 
						|
            setup, and then the test is initiated by setting ifTestType.
 | 
						|
            On completion of the test, the agent sets ifTestStatus to
 | 
						|
            'notInUse'.  Once this occurs, the manager can retrieve the
 | 
						|
            results.  In the (rare) event that the invocation of tests
 | 
						|
            by two network managers were to overlap, then there would be
 | 
						|
            a possibility that the first test's results might be
 | 
						|
            overwritten by the second test's results prior to the first
 | 
						|
 | 
						|
            results being read.  This unlikely circumstance can be
 | 
						|
            detected by a network manager retrieving ifTestId at the
 | 
						|
            same time as retrieving the test results, and ensuring that
 | 
						|
            the results are for the desired request.
 | 
						|
 | 
						|
            If ifTestType is not set within an abnormally long period of
 | 
						|
            time after ownership is obtained, the agent should time-out
 | 
						|
            the manager, and reset the value of the ifTestStatus object
 | 
						|
            back to 'notInUse'.  It is suggested that this time-out
 | 
						|
            period be 5 minutes.
 | 
						|
 | 
						|
            In general, a management station must not retransmit a
 | 
						|
            request to invoke a test for which it does not receive a
 | 
						|
            response; instead, it properly inspects an agent's MIB to
 | 
						|
            determine if the invocation was successful.  Only if the
 | 
						|
            invocation was unsuccessful, is the invocation request
 | 
						|
            retransmitted.
 | 
						|
 | 
						|
            Some tests may require the interface to be taken off-line in
 | 
						|
            order to execute them, or may even require the agent to
 | 
						|
            reboot after completion of the test.  In these
 | 
						|
            circumstances, communication with the management station
 | 
						|
            invoking the test may be lost until after completion of the
 | 
						|
            test.  An agent is not required to support such tests.
 | 
						|
            However, if such tests are supported, then the agent should
 | 
						|
            make every effort to transmit a response to the request
 | 
						|
            which invoked the test prior to losing communication.  When
 | 
						|
            the agent is restored to normal service, the results of the
 | 
						|
            test are properly made available in the appropriate objects.
 | 
						|
            Note that this requires that the ifIndex value assigned to
 | 
						|
            an interface must be unchanged even if the test causes a
 | 
						|
            reboot.  An agent must reject any test for which it cannot,
 | 
						|
            perhaps due to resource constraints, make available at least
 | 
						|
            the minimum amount of information after that test
 | 
						|
            completes."
 | 
						|
    ::= { ifMIBObjects 3 }
 | 
						|
 | 
						|
ifTestEntry OBJECT-TYPE
 | 
						|
    SYNTAX       IfTestEntry
 | 
						|
    MAX-ACCESS   not-accessible
 | 
						|
    STATUS       deprecated
 | 
						|
    DESCRIPTION
 | 
						|
            "An entry containing objects for invoking tests on an
 | 
						|
            interface."
 | 
						|
    AUGMENTS  { ifEntry }
 | 
						|
    ::= { ifTestTable 1 }
 | 
						|
 | 
						|
IfTestEntry ::=
 | 
						|
 | 
						|
    SEQUENCE {
 | 
						|
        ifTestId           TestAndIncr,
 | 
						|
        ifTestStatus       INTEGER,
 | 
						|
        ifTestType         AutonomousType,
 | 
						|
        ifTestResult       INTEGER,
 | 
						|
        ifTestCode         OBJECT IDENTIFIER,
 | 
						|
        ifTestOwner        OwnerString
 | 
						|
    }
 | 
						|
 | 
						|
ifTestId         OBJECT-TYPE
 | 
						|
    SYNTAX       TestAndIncr
 | 
						|
    MAX-ACCESS   read-write
 | 
						|
    STATUS       deprecated
 | 
						|
    DESCRIPTION
 | 
						|
            "This object identifies the current invocation of the
 | 
						|
            interface's test."
 | 
						|
    ::= { ifTestEntry 1 }
 | 
						|
 | 
						|
ifTestStatus     OBJECT-TYPE
 | 
						|
    SYNTAX       INTEGER { notInUse(1), inUse(2) }
 | 
						|
    MAX-ACCESS   read-write
 | 
						|
    STATUS       deprecated
 | 
						|
    DESCRIPTION
 | 
						|
            "This object indicates whether or not some manager currently
 | 
						|
            has the necessary 'ownership' required to invoke a test on
 | 
						|
            this interface.  A write to this object is only successful
 | 
						|
            when it changes its value from 'notInUse(1)' to 'inUse(2)'.
 | 
						|
            After completion of a test, the agent resets the value back
 | 
						|
            to 'notInUse(1)'."
 | 
						|
    ::= { ifTestEntry 2 }
 | 
						|
 | 
						|
ifTestType       OBJECT-TYPE
 | 
						|
    SYNTAX       AutonomousType
 | 
						|
    MAX-ACCESS   read-write
 | 
						|
    STATUS       deprecated
 | 
						|
    DESCRIPTION
 | 
						|
            "A control variable used to start and stop operator-
 | 
						|
            initiated interface tests.  Most OBJECT IDENTIFIER values
 | 
						|
            assigned to tests are defined elsewhere, in association with
 | 
						|
            specific types of interface.  However, this document assigns
 | 
						|
            a value for a full-duplex loopback test, and defines the
 | 
						|
            special meanings of the subject identifier:
 | 
						|
 | 
						|
                noTest  OBJECT IDENTIFIER ::= { 0 0 }
 | 
						|
 | 
						|
            When the value noTest is written to this object, no action
 | 
						|
            is taken unless a test is in progress, in which case the
 | 
						|
            test is aborted.  Writing any other value to this object is
 | 
						|
 | 
						|
            only valid when no test is currently in progress, in which
 | 
						|
            case the indicated test is initiated.
 | 
						|
 | 
						|
            When read, this object always returns the most recent value
 | 
						|
            that ifTestType was set to.  If it has not been set since
 | 
						|
            the last initialization of the network management subsystem
 | 
						|
            on the agent, a value of noTest is returned."
 | 
						|
    ::= { ifTestEntry 3 }
 | 
						|
 | 
						|
ifTestResult  OBJECT-TYPE
 | 
						|
    SYNTAX       INTEGER {
 | 
						|
                     none(1),          -- no test yet requested
 | 
						|
                     success(2),
 | 
						|
                     inProgress(3),
 | 
						|
                     notSupported(4),
 | 
						|
                     unAbleToRun(5),   -- due to state of system
 | 
						|
                     aborted(6),
 | 
						|
                     failed(7)
 | 
						|
                 }
 | 
						|
    MAX-ACCESS   read-only
 | 
						|
    STATUS       deprecated
 | 
						|
    DESCRIPTION
 | 
						|
            "This object contains the result of the most recently
 | 
						|
            requested test, or the value none(1) if no tests have been
 | 
						|
            requested since the last reset.  Note that this facility
 | 
						|
            provides no provision for saving the results of one test
 | 
						|
            when starting another, as could be required if used by
 | 
						|
            multiple managers concurrently."
 | 
						|
    ::= { ifTestEntry 4 }
 | 
						|
 | 
						|
ifTestCode  OBJECT-TYPE
 | 
						|
    SYNTAX       OBJECT IDENTIFIER
 | 
						|
    MAX-ACCESS   read-only
 | 
						|
    STATUS       deprecated
 | 
						|
    DESCRIPTION
 | 
						|
            "This object contains a code which contains more specific
 | 
						|
            information on the test result, for example an error-code
 | 
						|
            after a failed test.  Error codes and other values this
 | 
						|
            object may take are specific to the type of interface and/or
 | 
						|
            test.  The value may have the semantics of either the
 | 
						|
            AutonomousType or InstancePointer textual conventions as
 | 
						|
            defined in RFC 2579.  The identifier:
 | 
						|
 | 
						|
                testCodeUnknown  OBJECT IDENTIFIER ::= { 0 0 }
 | 
						|
 | 
						|
            is defined for use if no additional result code is
 | 
						|
            available."
 | 
						|
    ::= { ifTestEntry 5 }
 | 
						|
 | 
						|
ifTestOwner      OBJECT-TYPE
 | 
						|
    SYNTAX       OwnerString
 | 
						|
    MAX-ACCESS   read-write
 | 
						|
    STATUS       deprecated
 | 
						|
    DESCRIPTION
 | 
						|
            "The entity which currently has the 'ownership' required to
 | 
						|
            invoke a test on this interface."
 | 
						|
    ::= { ifTestEntry 6 }
 | 
						|
 | 
						|
-- Deprecated Definitions - Groups
 | 
						|
 | 
						|
ifGeneralGroup    OBJECT-GROUP
 | 
						|
    OBJECTS { ifDescr, ifType, ifSpeed, ifPhysAddress,
 | 
						|
              ifAdminStatus, ifOperStatus, ifLastChange,
 | 
						|
              ifLinkUpDownTrapEnable, ifConnectorPresent,
 | 
						|
              ifHighSpeed, ifName }
 | 
						|
    STATUS  deprecated
 | 
						|
    DESCRIPTION
 | 
						|
            "A collection of objects deprecated in favour of
 | 
						|
            ifGeneralInformationGroup."
 | 
						|
    ::= { ifGroups 1 }
 | 
						|
 | 
						|
ifTestGroup    OBJECT-GROUP
 | 
						|
    OBJECTS { ifTestId, ifTestStatus, ifTestType,
 | 
						|
              ifTestResult, ifTestCode, ifTestOwner }
 | 
						|
    STATUS  deprecated
 | 
						|
    DESCRIPTION
 | 
						|
            "A collection of objects providing the ability to invoke
 | 
						|
            tests on an interface."
 | 
						|
    ::= { ifGroups 8 }
 | 
						|
 | 
						|
ifStackGroup    OBJECT-GROUP
 | 
						|
    OBJECTS { ifStackStatus }
 | 
						|
    STATUS  deprecated
 | 
						|
    DESCRIPTION
 | 
						|
            "The previous collection of objects providing information on
 | 
						|
            the layering of MIB-II interfaces."
 | 
						|
    ::= { ifGroups 9 }
 | 
						|
 | 
						|
ifOldObjectsGroup    OBJECT-GROUP
 | 
						|
    OBJECTS { ifInNUcastPkts, ifOutNUcastPkts,
 | 
						|
              ifOutQLen, ifSpecific }
 | 
						|
    STATUS  deprecated
 | 
						|
    DESCRIPTION
 | 
						|
            "The collection of objects deprecated from the original MIB-
 | 
						|
            II interfaces group."
 | 
						|
    ::= { ifGroups 12 }
 | 
						|
 | 
						|
-- Deprecated Definitions - Compliance
 | 
						|
 | 
						|
ifCompliance MODULE-COMPLIANCE
 | 
						|
    STATUS  deprecated
 | 
						|
    DESCRIPTION
 | 
						|
            "A compliance statement defined in a previous version of
 | 
						|
            this MIB module, for SNMP entities which have network
 | 
						|
            interfaces."
 | 
						|
 | 
						|
    MODULE  -- this module
 | 
						|
        MANDATORY-GROUPS { ifGeneralGroup, ifStackGroup }
 | 
						|
 | 
						|
        GROUP       ifFixedLengthGroup
 | 
						|
        DESCRIPTION
 | 
						|
            "This group is mandatory for all network interfaces which
 | 
						|
            are character-oriented or transmit data in fixed-length
 | 
						|
            transmission units."
 | 
						|
 | 
						|
        GROUP       ifHCFixedLengthGroup
 | 
						|
        DESCRIPTION
 | 
						|
            "This group is mandatory only for those network interfaces
 | 
						|
            which are character-oriented or transmit data in fixed-
 | 
						|
            length transmission units, and for which the value of the
 | 
						|
            corresponding instance of ifSpeed is greater than 20,000,000
 | 
						|
            bits/second."
 | 
						|
 | 
						|
        GROUP       ifPacketGroup
 | 
						|
        DESCRIPTION
 | 
						|
            "This group is mandatory for all network interfaces which
 | 
						|
            are packet-oriented."
 | 
						|
 | 
						|
        GROUP       ifHCPacketGroup
 | 
						|
        DESCRIPTION
 | 
						|
            "This group is mandatory only for those network interfaces
 | 
						|
            which are packet-oriented and for which the value of the
 | 
						|
            corresponding instance of ifSpeed is greater than
 | 
						|
            650,000,000 bits/second."
 | 
						|
 | 
						|
        GROUP       ifTestGroup
 | 
						|
        DESCRIPTION
 | 
						|
            "This group is optional.  Media-specific MIBs which require
 | 
						|
            interface tests are strongly encouraged to use this group
 | 
						|
            for invoking tests and reporting results.  A medium specific
 | 
						|
            MIB which has mandatory tests may make implementation of
 | 
						|
 | 
						|
            this group mandatory."
 | 
						|
 | 
						|
        GROUP       ifRcvAddressGroup
 | 
						|
        DESCRIPTION
 | 
						|
            "The applicability of this group MUST be defined by the
 | 
						|
            media-specific MIBs.  Media-specific MIBs must define the
 | 
						|
            exact meaning, use, and semantics of the addresses in this
 | 
						|
            group."
 | 
						|
 | 
						|
        OBJECT      ifLinkUpDownTrapEnable
 | 
						|
        MIN-ACCESS  read-only
 | 
						|
        DESCRIPTION
 | 
						|
            "Write access is not required."
 | 
						|
 | 
						|
        OBJECT      ifPromiscuousMode
 | 
						|
        MIN-ACCESS  read-only
 | 
						|
        DESCRIPTION
 | 
						|
            "Write access is not required."
 | 
						|
 | 
						|
        OBJECT      ifStackStatus
 | 
						|
        SYNTAX      INTEGER { active(1) } -- subset of RowStatus
 | 
						|
        MIN-ACCESS  read-only
 | 
						|
        DESCRIPTION
 | 
						|
            "Write access is not required, and only one of the six
 | 
						|
            enumerated values for the RowStatus textual convention need
 | 
						|
            be supported, specifically: active(1)."
 | 
						|
 | 
						|
        OBJECT       ifAdminStatus
 | 
						|
        SYNTAX       INTEGER { up(1), down(2) }
 | 
						|
        MIN-ACCESS   read-only
 | 
						|
        DESCRIPTION
 | 
						|
            "Write access is not required, nor is support for the value
 | 
						|
            testing(3)."
 | 
						|
    ::= { ifCompliances 1 }
 | 
						|
 | 
						|
ifCompliance2 MODULE-COMPLIANCE
 | 
						|
    STATUS      deprecated
 | 
						|
    DESCRIPTION
 | 
						|
            "A compliance statement defined in a previous version of
 | 
						|
            this MIB module, for SNMP entities which have network
 | 
						|
            interfaces."
 | 
						|
 | 
						|
    MODULE  -- this module
 | 
						|
        MANDATORY-GROUPS { ifGeneralInformationGroup, ifStackGroup2,
 | 
						|
                           ifCounterDiscontinuityGroup }
 | 
						|
 | 
						|
        GROUP       ifFixedLengthGroup
 | 
						|
        DESCRIPTION
 | 
						|
            "This group is mandatory for all network interfaces which
 | 
						|
            are character-oriented or transmit data in fixed-length
 | 
						|
            transmission units."
 | 
						|
 | 
						|
        GROUP       ifHCFixedLengthGroup
 | 
						|
        DESCRIPTION
 | 
						|
            "This group is mandatory only for those network interfaces
 | 
						|
            which are character-oriented or transmit data in fixed-
 | 
						|
            length transmission units, and for which the value of the
 | 
						|
            corresponding instance of ifSpeed is greater than 20,000,000
 | 
						|
            bits/second."
 | 
						|
 | 
						|
        GROUP       ifPacketGroup
 | 
						|
        DESCRIPTION
 | 
						|
            "This group is mandatory for all network interfaces which
 | 
						|
            are packet-oriented."
 | 
						|
 | 
						|
        GROUP       ifHCPacketGroup
 | 
						|
        DESCRIPTION
 | 
						|
            "This group is mandatory only for those network interfaces
 | 
						|
            which are packet-oriented and for which the value of the
 | 
						|
            corresponding instance of ifSpeed is greater than
 | 
						|
            650,000,000 bits/second."
 | 
						|
 | 
						|
        GROUP       ifRcvAddressGroup
 | 
						|
        DESCRIPTION
 | 
						|
            "The applicability of this group MUST be defined by the
 | 
						|
            media-specific MIBs.  Media-specific MIBs must define the
 | 
						|
            exact meaning, use, and semantics of the addresses in this
 | 
						|
            group."
 | 
						|
 | 
						|
        OBJECT      ifLinkUpDownTrapEnable
 | 
						|
        MIN-ACCESS  read-only
 | 
						|
        DESCRIPTION
 | 
						|
            "Write access is not required."
 | 
						|
 | 
						|
        OBJECT      ifPromiscuousMode
 | 
						|
        MIN-ACCESS  read-only
 | 
						|
        DESCRIPTION
 | 
						|
            "Write access is not required."
 | 
						|
 | 
						|
        OBJECT      ifStackStatus
 | 
						|
        SYNTAX      INTEGER { active(1) } -- subset of RowStatus
 | 
						|
        MIN-ACCESS  read-only
 | 
						|
        DESCRIPTION
 | 
						|
            "Write access is not required, and only one of the six
 | 
						|
            enumerated values for the RowStatus textual convention need
 | 
						|
            be supported, specifically: active(1)."
 | 
						|
 | 
						|
        OBJECT       ifAdminStatus
 | 
						|
        SYNTAX       INTEGER { up(1), down(2) }
 | 
						|
        MIN-ACCESS   read-only
 | 
						|
        DESCRIPTION
 | 
						|
            "Write access is not required, nor is support for the value
 | 
						|
            testing(3)."
 | 
						|
 | 
						|
        OBJECT       ifAlias
 | 
						|
        MIN-ACCESS   read-only
 | 
						|
        DESCRIPTION
 | 
						|
            "Write access is not required."
 | 
						|
    ::= { ifCompliances 2 }
 | 
						|
 | 
						|
END
 |