Blame test/smidiff/IF-MIB.old

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