faqs.org - Internet FAQ Archives

RFC 1158 - Management Information Base for network management of


Or Display the document by number




Network Working Group                                   M. Rose, Editor
Request for Comments: 1158            Performance Systems International
                                                               May 1990

           Management Information Base for Network Management
                       of TCP/IP-based internets:
                                 MIB-II

1.  Status of this Memo

   This memo defines the second version of the Management Information
   Base (MIB-II) for use with network management protocols in TCP/IP-
   based internets.  In particular, together with its companion memos
   which describe the structure of management information (RFC 1155)
   along with the network management protocol (RFC 1157) for TCP/IP-
   based internets, these documents provide a simple, workable
   architecture and system for managing TCP/IP-based internets and in
   particular the Internet community.

   This document on MIB-II incorporates all of the technical content of
   RFC 1156 on MIB-I and extends it, without loss of compatibilty.
   However, MIB-I as described in RFC 1156 is full Standard Protocol of
   the Internet, while the MIB-II described here is Proposed Standard
   Protocol of the Internet.

   This memo defines a mandatory extension to the base MIB (RFC 1156)
   and is a Proposed Standard for the Internet community.  The
   extensions described here are currently Elective, but when they
   become a standard, they will have the same status as RFC 1156, that
   is, Recommended.  The Internet Activities Board recommends that all
   IP and TCP implementations be network manageable.  This implies
   implementation of the Internet MIB (RFC 1156 and the extensions in
   RFC 1158) and at least one of the two recommended management
   protocols SNMP (RFC 1157) or CMOT (RFC 1095).

   This version of the MIB specification, MIB-II, is an incremental
   refinement of MIB-I.  As such, it has been designed according to two
   criteria: first, changes have been made in response to new
   operational requirements in the Internet; and, second, the changes
   are entirely upwards compatible in order to minimize impact on the
   network as the managed nodes in the Internet transition from MIB-I to
   MIB-II.

   It is expected that additional MIB groups and variables will be
   defined over time to accommodate the monitoring and control needs of
   new or changing components of the Internet.

   Please refer to the latest edition of the "IAB Official Protocol
   Standards" RFC for current information on the state and status of
   standard Internet protocols.

   Distribution of this memo is unlimited.

                             Table of Contents

   1. Status of this Memo ..................................    1
   2. Introduction .........................................    3
   3. Changes from MIB-I ...................................    4
   3.1 Deprecated Objects ..................................    4
   3.2 Display Strings .....................................    5
   3.3 The System Group ....................................    5
   3.4 The Interfaces Group ................................    5
   3.5 The Address Translation Group .......................    6
   3.6 The IP Group ........................................    7
   3.7 The ICMP Group ......................................    7
   3.8 The TCP Group .......................................    7
   3.9 The UDP Group .......................................    7
   3.10 The EGP Group ......................................    8
   3.11 The Transmission Group .............................    8
   3.12 The SNMP Group .....................................    8
   4. Objects ..............................................    8
   4.1 Object Groups .......................................    9
   4.2 Format of Definitions ...............................   10
   5. Object Definitions ...................................   10
   5.1 The System Group ....................................   11
   5.2 The Interfaces Group ................................   14
   5.2.1 The Interfaces table ..............................   15
   5.3 The Address Translation Group .......................   27
   5.4 The IP Group ........................................   30
   5.4.1 The IP Address table ..............................   38
   5.4.2 The IP Routing table ..............................   41
   5.4.3 The IP Address Translation table ..................   48
   5.5 The ICMP Group ......................................   51
   5.6 The TCP Group .......................................   61
   5.6.1 The TCP Connection table ..........................   66
   5.6.2 Additional TCP Objects ............................   69
   5.7 The UDP Group .......................................   70
   5.7.1 The UDP Listener table ............................   72
   5.8 The EGP Group .......................................   73
   5.8.1 The EGP Neighbor table ............................   75
   5.8.2 Additional EGP variables ..........................   83
   5.9 The Transmission Group ..............................   83
   5.10 The SNMP Group .....................................   83
   6. Definitions ..........................................   95

   7. Identification of OBJECT instances for use with  the
      SNMP .................................................  126
   7.1 ifTable Object Type Names ...........................  127
   7.2 atTable Object Type Names ...........................  127
   7.3 ipAddrTable Object Type Names .......................  128
   7.4 ipRoutingTable Object Type Names ....................  128
   7.5 ipNetToMediaTable Object Type Names .................  129
   7.6 tcpConnTable Object Type Names ......................  129
   7.7 udpTable Object Type Names ..........................  130
   7.8 egpNeighTable Object Type Names .....................  130
   8.  Acknowledgements ....................................  130
   9.  References ..........................................  131
   10. Security Considerations..............................  133
   11. Author's Address.....................................  133

2.  Introduction

   As reported in RFC 1052, IAB Recommendations for the
   Development of Internet Network Management Standards [1], a
   two-prong strategy for network management of TCP/IP-based
   internets was undertaken.  In the short-term, the Simple
   Network Management Protocol (SNMP) was to be used to manage
   nodes in the Internet community.  In the long-term, the use of
   the OSI network management framework was to be examined.  Two
   documents were produced to define the management information:
   RFC 1065, which defined the Structure of Management
   Information (SMI) [2], and RFC 1066, which defined the
   Management Information Base (MIB) [3].  Both of these
   documents were designed so as to be compatible with both the
   SNMP and the OSI network management framework.

   This strategy was quite successful in the short-term:
   Internet-based network management technology was fielded, by
   both the research and commercial communities, within a few
   months.  As a result of this, portions of the Internet
   community became network manageable in a timely fashion.

   As reported in RFC 1109, Report of the Second Ad Hoc Network
   Management Review Group [4], the requirements of the SNMP and
   the OSI network management frameworks were more different than
   anticipated.  As such, the requirement for compatibility
   between the SMI/MIB and both frameworks was suspended.  This
   action permitted the operational network management framework,
   the SNMP, to respond to new operational needs in the Internet
   community by producing this document.

   As such, the current network management framework for TCP/IP-
   based internets consists of: Structure and Identification of

   Management Information for TCP/IP-based internets, RFC 1155 [13],
   which describes how managed objects contained in the MIB are
   defined; Management Information Base for Network Management of
   TCP/IP-based internets (version 2), this memo, which describes
   the managed objects contained in the MIB; and, the Simple
   Network Management Protocol, RFC 1157 [14], which defines the
   protocol used to manage these objects.

   Consistent with the IAB directive to produce simple, workable
   systems in the short-term, the list ofc objects (e.g., for BSD UNIX)
      were excluded.

   7) It was agreed to avoid heavily instrumenting critical
      sections of code.  The general guideline was one counter
      per critical section per layer.

3.  Changes from MIB-I

   Features of this MIB include:

      1) incremental additions to reflect new operational
         requirements;

      2) upwards compatibility with the SMI/MIB and the SNMP;

      3) improved support for multi-protocol entities; and,

      4) textual clean-up of the MIB to improve clarity and
         readability.

   The objects defined in MIB-II have the OBJECT IDENTIFIER prefix:

               mib-2      OBJECT IDENTIFIER ::= { mgmt 1 }

3.1.  Deprecated Objects

   In order to better prepare implementors for future changes in the
   MIB, a new term "deprecated" may be used when describing an object.
   A deprecated object in the MIB is one which must be supported, but
   one which will most likely be removed from the next version of the
   MIB (e.g., MIB-III).

      MIB-II marks one object as being deprecated:

      atTable

   As a result of deprecating the atTable object, the entire Address
   Translation group is deprecated.

   Note that no functionality is lost with the deprecation of these
   objects: new objects providing equivalent or superior functionality
   are defined in MIB-II.

3.2.  Display Strings

   In the past, there have been misinterpretations of the MIB as to when
   a string of octets should contain printable characters, meant to be
   displayed to a human.  As a textual convention in the MIB, the
   datatype

                  DisplayString ::= OCTET STRING

   is introduced.  A DisplayString is restricted to the NVT ASCII
   character set, as defined in pages 10-11 of [7].

   The following objects are now defined in terms of DisplayString:

                  sysDescr
                  ifDescr

   It should be noted that this change has no effect on either the
   syntax nor semantics of these objects.  The use of the DisplayString
   notation is merely an artifact of the explanatory method used in
   MIB-II and future MIBs.

   Further, it should be noted that any object defined in terms of OCTET
   STRING may contain arbitrary binary data, in which each octet may
   take any value from 0 to 255 (decimal).

3.3.  The System Group

   Four new objects are added to this group:

                  sysContact
                  sysName
                  sysLocation
                  sysServices

   These provide contact, administrative, location, and service
   information regarding the managed node.

3.4.  The Interfaces Group

   The definition of the ifNumber object was incorrect, as it required
   all interfaces to support IP.  (For example, devices without IP, such
   as MAC-layer bridges, could not be managed if this definition was
   strictly followed.) The description of the ifNumber object is changed

   accordingly.

   The ifTable object was mistaken marked as read-write, it has been
   (correctly) re-designated as read-only.  In addition, several new
   values have been added to the ifType column in the ifTable object:

                  ppp(23)
                  softwareLoopback(24)
                  eon(25)
                  ethernet-3Mbit(26)
                  nsip(27)
                  slip(28)

   Finally, a new column has been added to the ifTable object:

                  ifSpecific

   which provides information about information specific to the media
   being used to realize the interface.

3.5.  The Address Translation Group

   In MIB-I, this group contained a table which permitted mappings from
   network addresses (e.g., IP addresses) to physical addresses (e.g.,
   MAC addresses).  Experience has shown that efficient implementations
   of this table make two assumptions: a single network protocol
   environment, and mappings occur only from network address to physical
   address.

   The need to support multi-protocol nodes (e.g., those with both the
   IP and CLNP active), and the need to support the inverse mapping
   (e.g., for ES-IS), have invalidated both of these assumptions.  As
   such, the atTable object is declared deprecated.

   In order to meet both the multi-protocol and inverse mapping
   requirements, MIB-II and its successors will allocate up to two
   address translation tables inside each network protocol group.  That
   is, the IP group will contain one address translation table, for
   going from IP addresses to physical addresses.  Similarly, when a
   document defining MIB objects for the CLNP is produced (e.g., [8]),
   it will contain two tables, for mappings in both directions, as this
   is required for full functionality.

   It should be noted that the choice of two tables (one for each
   direction of mapping) provides for ease of implementation in many
   cases, and does not introduce undue burden on implementations which
   realize the address translation abstraction through a single internal
   table.

3.6.  The IP Group

   The access attribute of the variable ipForwarding has been changed
   from read-only to read-write.

   In addition, there is a new column to the ipAddrTable object,

                  ipAdEntReasmMaxSize

   which keeps track of the largest IP datagram that can be re-
   assembled on a particular interface.  There is also a new column in
   the ipRoutingTable object,

                  ipRouteMask

   which is used for IP routing subsystems that support arbitrary subnet
   masks.

   One new object is added to the IP group:

                  ipNetToMediaTable

   which is the address translation table for the IP group (providing
   identical functionality to the now deprecated atTable in the address
   translation group).

3.7.  The ICMP Group

   There are no changes to this group.

3.8.  The TCP Group

   Two new variables are added:

                  tcpInErrs
                  tcpOutRsts

   which keep track of the number of incoming TCP segments in error and
   the number of resets generated by a TCP.

3.9.  The UDP Group

   A new table:

                  udpTable

   is added.

3.10.  The EGP Group

   Experience has indicated a need for additional objects that are
   useful in EGP monitoring.  In addition to making several additions to
   the egpNeighborTable object, a new variable is added:

                  egpAs

   which gives the autonomous system associated with this EGP entity.

3.11.  The Transmission Group

   MIB-I was lacking in that it did not distinguish between different
   types of transmission media.  A new group, the Transmission group, is
   allocated for this purpose:

                  transmission OBJECT IDENTIFIER ::= { mib-2 10 }

   When Internet-standard definitions for managing transmission media
   are defined, the transmission group is used to provide a prefix for
   the names of those objects.

   Typically, such definitions reside in the experimental portion of the
   MIB until they are "proven", then as a part of the Internet
   standardization process, the definitions are accordingly elevated and
   a new object identifier, under the transmission group is defined.  By
   convention, the name assigned is:

                  type OBJECT IDENTIFIER    ::= { transmission number }

   where "type" is the symbolic value used for the media in the ifType
   column of the ifTable object, and "number" is the actual integer
   value corresponding to the symbol.

3.12.  The SNMP Group

   The application-oriented working groups of the IETF have been tasked
   to be receptive towards defining MIB variables specific to their
   respective applications.

   For the SNMP, it is useful to have statistical information.  A new
   group, the SNMP group, is allocated for this purpose:

                  snmp   OBJECT IDENTIFIER ::= { mib-2 11 }

4.  Objects

   Managed objects are accessed via a virtual information store, termed

   the Management Information Base or MIB.  Objects in the MIB are
   defined using Abstract Syntax Notation One (ASN.1) [9].

   The mechanisms used for describing these objects are specified the
   companion memo, the SMI.  In particular, each object has a name, a
   syntax, and an encoding.  The name is an object identifier, an
   administratively assigned name, which specifies an object type.  The
   object type together with an object instance serves to uniquely
   identify a specific instantiation of the object.  For human
   convenience, we often use a textual string, termed the OBJECT
   DESCRIPTOR, to also refer to the object type.

   The syntax of an object type defines the abstract data structure
   corresponding to that object type.  The ASN.1 language is used for
   this purpose.  However, the companion memo purposely restricts the
   ASN.1 constructs which may be used.  These restrictions are
   explicitly made for simplicity.

   The encoding of an object type is simply how that object type is
   represented using the object type's syntax.  Implicitly tied to the
   notion of an object type's syntax and encoding is how the object type
   is represented when being transmitted on the network.  This memo
   specifies the use of the basic encoding rules (BER) of ASN.1 [10],
   subject to the additional requirements imposed by the SNMP [14].

4.1.  Object Groups

   Since this list of managed objects contains only the essential
   elements, there is no need to allow individual objects to be
   optional.  Rather, the objects are arranged into the following
   groups:

                  - System
                  - Interfaces
                  - Address Translation (deprecated)
                  - IP
                  - ICMP
                  - TCP
                  - UDP
                  - EGP
                  - Transmission
                  - SNMP

   There are two reasons for defining these groups: to provide a means
   of assigning object identifiers; and, to provide a method for
   implementations of managed agents to know which objects they must
   implement.  This method is as follows: if the semantics of a group is
   applicable to an implementation, then it must implement all objects

   in that group.  For example, an implementation must implement the EGP
   group if and only if it implements the EGP.

4.2.  Format of Definitions

   The next section contains the specification of all object types
   contained in the MIB.  Following the conventions of the companion
   memo, the object types are defined using the following fields:

      OBJECT:
      -------
           A textual name, termed the OBJECT DESCRIPTOR, for the
           object type, along with its corresponding OBJECT
           IDENTIFIER.

      Syntax:
           The abstract syntax for the object type, presented using
           ASN.1.  This must resolve to an instance of the ASN.1
           type ObjectSyntax defined in the SMI.

      Definition:
           A textual description of the semantics of the object
           type.  Implementations should ensure that their
           interpretation of the object type fulfills this
           definition since this MIB is intended for use in multi-
           vendor environments.  As such it is vital that object
           types have consistent meaning across all machines.

      Access:
           A keyword, one of read-only, read-write, write-only, or
           not-accessible.  Note that this designation specifies the
           minimum level of support required.  As a local matter,
           implementations may support other access types (e.g., an
           implementation may elect to permitting writing a variable
           marked herein as read-only).  Further, protocol-specific
           "views" (e.g., those implied by an SNMP community) may
           make further restrictions on access to a variable.

      Status:
           A keyword, one of mandatory, optional, obsolete, or
           deprecated.  Use of deprecated implies mandatory status.

5.  Object Definitions

               RFC1158-MIB

               DEFINITIONS ::= BEGIN

               IMPORTS
                       mgmt, OBJECT-TYPE, NetworkAddress, IpAddress,
                       Counter, Gauge, TimeTicks
                           FROM RFC1155-SMI;

               DisplayString ::=
                           OCTET STRING

               mib-2      OBJECT IDENTIFIER ::= { mgmt 1 }    -- MIB-II

               system     OBJECT IDENTIFIER ::= { mib-2 1 }
               interfaces OBJECT IDENTIFIER ::= { mib-2 2 }
               at         OBJECT IDENTIFIER ::= { mib-2 3 }
               ip         OBJECT IDENTIFIER ::= { mib-2 4 }
               icmp       OBJECT IDENTIFIER ::= { mib-2 5 }
               tcp        OBJECT IDENTIFIER ::= { mib-2 6 }
               udp        OBJECT IDENTIFIER ::= { mib-2 7 }
               egp        OBJECT IDENTIFIER ::= { mib-2 8 }
               -- cmot    OBJECT IDENTIFIER ::= { mib-2 9 }
               transmission OBJECT IDENTIFIER ::= { mib-2 10 }
               snmp       OBJECT IDENTIFIER ::= { mib-2 11 }
               END

5.1.  The System Group

   Implementation of the System group is mandatory for all systems.

          OBJECT:
          -------
               sysDescr { system 1 }

          Syntax:
               DisplayString (SIZE (0..255))

          Definition:
               A textual description of the entity.  This value should
               include the full name and version identification of the
               system's hardware type, software operating-system, and
               networking software.  It is mandatory that this only
               contain printable ASCII characters.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               sysObjectID { system 2 }

          Syntax:
               OBJECT IDENTIFIER

          Definition:
               The vendor's authoritative identification of the network
               management subsystem contained in the entity.  This value
               is allocated within the SMI enterprises subtree
               (1.3.6.1.4.1) and provides an easy and unambiguous means
               for determining "what kind of box" is being managed.  For
               example, if vendor "Flintstones, Inc." was assigned the
               subtree 1.3.6.1.4.1.4242, it could assign the identifier
               1.3.6.1.4.1.4242.1.1 to its "Fred Router".

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               sysUpTime { system 3 }

          Syntax:
               TimeTicks

          Definition:
               The time (in hundredths of a second) since the network
               management portion of the system was last re-initialized.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               sysContact { system 4 }

          Syntax:
               DisplayString (SIZE (0..255))

          Definition:
               The textual identification of the contact person for this
               managed node, together with information on how to contact
               this person.

          Access:
               read-write.

          Status:
               mandatory.

          OBJECT:
          -------
               sysName { system 5 }

          Syntax:
               DisplayString (SIZE (0..255))

          Definition:
               An administratively-assigned name for this managed node.
               By convention, this is the node's fully-qualified domain
               name.

          Access:
               read-write.

          Status:
               mandatory.

          OBJECT:
          -------
               sysLocation { system 6 }

          Syntax:
               DisplayString (SIZE (0..255))

          Definition:
               The physical location of this node (e.g., "telephone
               closet, 3rd floor").

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               sysServices { system 7 }

          Syntax:
               INTEGER (0..127)

          Definition:
               A value which indicates the set of services that this
               entity potentially offers.  The value is a sum.  This
               sum initially takes the value zero, Then, for each layer,
               L, in the range 1 through 7, that this node performs
               transactions for, 2 raised to (L - 1) is added to the
               sum.  For example, a node which performs only routing
               functions would have a value of 4 (2^(3-1)).  In
               contrast, a node which is a host offering application
               services would have a value of 72 (2^(4-1) + 2^(7-1)).
               Note that in the context of the Internet suite of
               protocols, values should be calculated accordingly:

                    layer  functionality
                    1      physical (e.g., repeaters)
                    2      datalink/subnetwork (e.g., bridges)
                    3      internet (e.g., supports the IP)
                    4      end-to-end  (e.g., supports the TCP)
                    7      applications (e.g., supports the SMTP)

               For systems including OSI protocols, layers 5 and 6 may
               also be counted.

          Access:
               read-only.

          Status:
               mandatory.

5.2.  The Interfaces Group

   Implementation of the Interfaces group is mandatory for all systems.

          OBJECT:
          -------
               ifNumber { interfaces 1 }

          Syntax:
               INTEGER

          Definition:
               The number of network interfaces (regardless of their
               current state) present on this system.

          Access:
               read-only.

          Status:
               mandatory.

5.2.1.  The Interfaces table

   The Interfaces table contains information on the entity's interfaces.
   Each interface is thought of as being attached to a "subnetwork".
   Note that this term should not be confused with "subnet" which refers
   to an addressing partitioning scheme used in the Internet suite of
   protocols.

          OBJECT:
          -------
               ifTable { interfaces 2 }

          Syntax:
               SEQUENCE OF IfEntry

          Definition:
               A list of interface entries.  The number of entries is
               given by the value of ifNumber.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ifEntry { ifTable 1 }

          Syntax:
               IfEntry ::= SEQUENCE {
                    ifIndex
                        INTEGER,
                    ifDescr
                        DisplayString,
                    ifType
                        INTEGER,
                    ifMtu
                        INTEGER,
                    ifSpeed
                        Gauge,
                    ifPhysAddress
                        OCTET STRING,
                    ifAdminStatus
                        INTEGER,
                    ifOperStatus
                        INTEGER,
                    ifLastChange
                        TimeTicks,
                    ifInOctets
                        Counter,
                    ifInUcastPkts
                        Counter,
                    ifInNUcastPkts
                        Counter,
                    ifInDiscards
                        Counter,
                    ifInErrors
                        Counter,
                    ifInUnknownProtos
                        Counter,
                    ifOutOctets
                        Counter,
                    ifOutUcastPkts
                        Counter,
                    ifOutNUcastPkts
                        Counter,
                    ifOutDiscards
                        Counter,
                    ifOutErrors
                        Counter,
                    ifOutQLen
                        Gauge,
                    ifSpecific
                        OBJECT IDENTIFIER
               }

          Definition:
               An interface entry containing objects at the subnetwork
               layer and below for a particular interface.

          Access:
               read-only.

          Status:
               mandatory.

          We now consider the individual components of each interface
          entry:

          OBJECT:
          -------
               ifIndex { ifEntry 1 }

          Syntax:
               INTEGER

          Definition:
               A unique value for each interface.  Its value ranges
               between 1 and the value of ifNumber.  The value for each
               interface must remain constant at least from one re-
               initialization of the entity's network management system
               to the next re-initialization.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ifDescr { ifEntry 2 }

          Syntax:
               DisplayString (SIZE (0..255))

          Definition:
               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
               hardware interface.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ifType { ifEntry 3 }

          Syntax:
               INTEGER {
                    other(1),          -- none of the following
                    regular1822(2),
                    hdh1822(3),
                    ddn-x25(4),
                    rfc877-x25(5),
                    ethernet-csmacd(6),
                    iso88023-csmacd(7),
                    iso88024-tokenBus(8),
                    iso88025-tokenRing(9),
                    iso88026-man(10),
                    starLan(11),
                    proteon-10Mbit(12),
                    proteon-80Mbit(13),
                    hyperchannel(14),
                    fddi(15),
                    lapb(16),
                    sdlc(17),
                    t1-carrier(18),
                    cept(19),          -- european equivalent of T-1
                    basicISDN(20),
                    primaryISDN(21),
                                        -- proprietary serial
                    propPointToPointSerial(22),
                    ppp(23),
                    softwareLoopback(24),
                    eon(25),            -- CLNP over IP [12]
                    ethernet-3Mbit(26)
                    nsip(27),           -- XNS over IP
                    slip(28)            -- generic SLIP
               }

          Definition:
               The type of interface, distinguished according to the
               physical/link protocol(s) immediately "below" the network
               layer in the protocol stack.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ifMtu { ifEntry 4 }

          Syntax:
               INTEGER

          Definition:
               The size of the largest datagram 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.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ifSpeed { ifEntry 5 }

          Syntax:
               Gauge

          Definition:
               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.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ifPhysAddress { ifEntry 6 }

          Syntax:
               OCTET STRING

          Definition:
               The interface's address at the protocol layer immediately
               "below" the network layer in the protocol stack.  For
               interfaces which do not have such an address (e.g., a
               serial line), this object should contain an octet string
               of zero length.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ifAdminStatus { ifEntry 7 }

          Syntax:
               INTEGER {
                    up(1),       -- ready to pass packets
                    down(2),
                    testing(3)   -- in some test mode
               }

          Definition:
               The desired state of the interface.  The testing(3) state
               indicates that no operational packets can be passed.

          Access:
               read-write.

          Status:
               mandatory.

          OBJECT:
          -------
               ifOperStatus { ifEntry 8 }

          Syntax:
               INTEGER {
                    up(1),       -- ready to pass packets
                    down(2),
                    testing(3)   -- in some test mode
               }

          Definition:
               The current operational state of the interface.  The
               testing(3) state indicates that no operational packets
               can be passed.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ifLastChange { ifEntry 9 }

          Syntax:
               TimeTicks

          Definition:
               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.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ifInOctets { ifEntry 10 }

          Syntax:
               Counter

          Definition:
               The total number of octets received on the interface,
               including framing characters.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ifInUcastPkts  { ifEntry 11 }

          Syntax:
               Counter

          Definition:
               The number of subnetwork-unicast packets delivered to a
               higher-layer protocol.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ifInNUcastPkts { ifEntry 12 }

          Syntax:
               Counter

          Definition:
               The number of non-unicast (i.e., subnetwork-broadcast or
               subnetwork-multicast) packets delivered to a higher-layer
               protocol.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ifInDiscards { ifEntry 13 }

          Syntax:
               Counter

          Definition:
               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.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ifInErrors { ifEntry 14 }

          Syntax:
               Counter

          Definition:
               The number of inbound packets that contained errors
               preventing them from being deliverable to a higher-layer
               protocol.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ifInUnknownProtos { ifEntry 15 }

          Syntax:
               Counter

          Definition:
               The number of packets received via the interface which
               were discarded because of an unknown or unsupported
               protocol.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ifOutOctets { ifEntry 16 }

          Syntax:
               Counter

          Definition:
               The total number of octets transmitted out of the
               interface, including framing characters.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ifOutUcastPkts { ifEntry 17 }

          Syntax:
               Counter

          Definition:
               The total number of packets that higher-level protocols
               requested be transmitted to a subnetwork-unicast address,
               including those that were discarded or not sent.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ifOutNUcastPkts { ifEntry 18 }

          Syntax:
               Counter

          Definition:
               The total number of packets that higher-level protocols
               requested be transmitted to a non-unicast (i.e., a
               subnetwork-broadcast or subnetwork-multicast) address,
               including those that were discarded or not sent.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ifOutDiscards { ifEntry 19 }

          Syntax:
               Counter

          Definition:
               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.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ifOutErrors { ifEntry 20 }

          Syntax:
               Counter

          Definition:
               The number of outbound packets that could not be
               transmitted because of errors.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ifOutQLen { ifEntry 21 }

          Syntax:
               Gauge

          Definition:
               The length of the output packet queue (in packets).

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ifSpecific { ifEntry 22 }

          Syntax:
               OBJECT IDENTIFIER

          Definition:
               A reference to MIB definitions specific to the particular
               media being used to realize the interface.  For example,
               if the interface is realized by an ethernet, then the
               value of this object refers to a document defining
               objects specific to ethernet.  If an agent is not
               configured to have a value for any of these variables,
               the object identifier

                    nullSpecific OBJECT IDENTIFIER ::= { 0 0 }

               is returned.  Note that "nullSpecific" is a syntatically
               valid object identifier, and any conformant

               implementation of ASN.1 and BER must be able to generate
               and recognize this value.

          Access:
               read-only.

          Status:
               mandatory.

5.3.  The Address Translation Group

   Implementation of the Address Translation group is mandatory for all
   systems.  Note however that this group is deprecated by MIB-II.  That
   is, it is being included solely for compatibility with MIB-I nodes,
   and will most likely be excluded from MIB-III nodes.  From MIB-II and
   onwards, each network protocol group contains its own address
   translation tables.

   The Address Translation group contains one table which is the union
   across all interfaces of the translation tables for converting a
   NetworkAddress (e.g., an IP address) into a subnetwork-specific
   address.  For lack of a better term, this document refers to such a
   subnetwork-specific address as a "physical" address.

   Examples of such translation tables are: for broadcast media where
   ARP is in use, the translation table is equivalent to the ARP cache;
   or, on an X.25 network where non-algorithmic translation to X.121
   addresses is required, the translation table contains the
   NetworkAddress to X.121 address equivalences.

          OBJECT:
          -------
               atTable { at 1 }

          Syntax:
               SEQUENCE OF AtEntry

          Definition:
               The Address Translation tables contain the NetworkAddress
               to "physical" address equivalences.  Some interfaces do
               not use translation tables for determining address
               equivalences (e.g., DDN-X.25 has an algorithmic method);
               if all interfaces are of this type, then the Address
               Translation table is empty, i.e., has zero entries.

          Access:
               read-write.

          Status:
               deprecated.

          OBJECT:
          -------
               atEntry { atTable 1 }

          Syntax:
               AtEntry ::= SEQUENCE {
                    atIfIndex
                        INTEGER,
                    atPhysAddress
                        OCTET STRING,
                    atNetAddress
                        NetworkAddress
               }

          Definition:
               Each entry contains one NetworkAddress to "physical"
               address equivalence.

          Access:
               read-write.

          Status:
               deprecated.

          We now consider the individual components of each Address
          Translation table entry:

          OBJECT:
          -------
               atIfIndex { atEntry 1 }

          Syntax:
               INTEGER

          Definition:
               The interface on which this entry's equivalence is
               effective.  The interface identified by a particular
               value of this index is the same interface as identified
               by the same value of ifIndex.

          Access:
               read-write.

          Status:
               deprecated.

          OBJECT:
          -------
               atPhysAddress { atEntry 2 }

          Syntax:
               OCTET STRING

          Definition:
               The media-dependent "physical" address.

          Setting this object to a null string (one of zero length) has
          the effect of invaliding the corresponding entry in the
          atTable object.  That is, it effectively disassociates the
          interface identified with said entry from the mapping
          identified with said entry.  It is an implementation-specific
          matter as to whether the agent removes an invalidated entry
          from the table.  Accordingly, management stations must be
          prepared to receive tabular information from agents that
          corresponds to entries not currently in use.  Proper
          interpretation of such entries requires examination of the
          relevant atPhysAddress object.

          Access:
               read-write.

          Status:
               deprecated.

          OBJECT:
          -------
               atNetAddress { atEntry 3 }

          Syntax:
               NetworkAddress

          Definition:
               The NetworkAddress (e.g., the IP address) corresponding
               to the media-dependent "physical" address.

          Access:
               read-write.

          Status:
               deprecated.

5.4.  The IP Group

   Implementation of the IP group is mandatory for all systems.

          OBJECT:
          -------
               ipForwarding { ip 1 }

          Syntax:
               INTEGER {
                    forwarding(1),    -- i.e., acting as a gateway
                    not-forwarding(2) -- i.e., NOT acting as a gateway
               }

          Definition:
               The indication of whether this entity is acting as an IP
               gateway in respect to the forwarding of datagrams
               received by, but not addressed to, this entity.  IP
               gateways forward datagrams.  IP hosts do not (except
               those source-routed via the host).

          Access:
               read-write.

          Status:
               mandatory.

          OBJECT:
          -------
               ipDefaultTTL { ip 2 }

          Syntax:
               INTEGER

          Definition:
               The default value inserted into the Time-To-Live field of
               the IP header of datagrams originated at this entity,
               whenever a TTL value is not supplied by the transport
               layer protocol.

          Access:
               read-write.

          Status:
               mandatory.

          OBJECT:
          -------
               ipInReceives { ip 3 }

          Syntax:
               Counter

          Definition:
               The total number of input datagrams received from
               interfaces, including those received in error.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ipInHdrErrors { ip 4 }

          Syntax:
               Counter

          Definition:
               The number of input datagrams discarded due to errors in
               their IP headers, including bad checksums, version number
               mismatch, other format errors, time-to-live exceeded,
               errors discovered in processing their IP options, etc.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ipInAddrErrors { ip 5 }

          Syntax:
               Counter

          Definition:
               The number of input datagrams discarded because the IP
               address in their IP header's destination field was not a
               valid address to be received at this entity.  This count
               includes invalid addresses (e.g., 0.0.0.0) and addresses
               of unsupported Classes (e.g., Class E).  For entities
               which are not IP Gateways and therefore do not forward
               datagrams, this counter includes datagrams discarded
               because the destination address was not a local address.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ipForwDatagrams { ip 6 }

          Syntax:
               Counter

          Definition:
               The number of input datagrams for which this entity was
               not their final IP destination, as a result of which an
               attempt was made to find a route to forward them to that
               final destination.  In entities which do not act as IP
               Gateways, this counter will include only those packets
               which were Source-Routed via this entity, and the
               Source-Route option processing was successful.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ipInUnknownProtos { ip 7 }

          Syntax:
               Counter

          Definition:
               The number of locally-addressed datagrams received
               successfully but discarded because of an unknown or
               unsupported protocol.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ipInDiscards { ip 8 }

          Syntax:
               Counter

          Definition:
               The number of input IP datagrams for which no problems
               were encountered to prevent their continued processing,
               but which were discarded (e.g., for lack of buffer
               space).  Note that this counter does not include any
               datagrams discarded while awaiting re-assembly.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ipInDelivers { ip 9 }

          Syntax:
               Counter

          Definition:
               The total number of input datagrams successfully
               delivered to IP user-protocols (including ICMP).

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ipOutRequests { ip 10 }

          Syntax:
               Counter

          Definition:
               The total number of IP datagrams which local IP user-
               protocols (including ICMP) supplied to IP in requests for
               transmission.  Note that this counter does not include
               any datagrams counted in ipForwDatagrams.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
               ipOutDiscards { ip 11 }

          Syntax:
               Counter

          Definition:
               The number of output IP datagrams for which no problem
               was encountered to prevent their transmission to their
               destination, but which were discarded (e.g., for lack of
               buffer space).  Note that this counter would include
               datagrams counted in ipForwDatagrams if any such packets
               met this (discretionary) discard criterion.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ipOutNoRoutes { ip 12 }

          Syntax:
               Counter

          Definition:
               The number of IP datagrams discarded because no route
               could be found to transmit them to their destination.
               Note that this counter includes any packets counted in
               ipForwDatagrams which meet this "no-route" criterion.
               Note that this includes any datagarms which a host cannot
               route because all of its default gateways are down.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ipReasmTimeout { ip 13 }

          Syntax:
               INTEGER

          Definition:
               The maximum number of seconds which received fragments
               are held while they are awaiting reassembly at this
               entity.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ipReasmReqds { ip 14 }

          Syntax:
               Counter

          Definition:
               The number of IP fragments received which needed to be
               reassembled at this entity.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ipReasmOKs { ip 15 }

          Syntax:
               Counter

          Definition:
               The number of IP datagrams successfully re-assembled.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ipReasmFails { ip 16 }

          Syntax:
               Counter

          Definition:
               The number of failures detected by the IP re-assembly
               algorithm (for whatever reason: timed out, errors, etc).
               Note that this is not necessarily a count of discarded IP
               fragments since some algorithms (notably the algorithm in
               RFC 815) can lose track of the number of fragments by
               combining them as they are received.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ipFragOKs { ip 17 }

          Syntax:
               Counter

          Definition:
               The number of IP datagrams that have been successfully
               fragmented at this entity.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ipFragFails { ip 18 }

          Syntax:
               Counter

          Definition:
               The number of IP datagrams that have been discarded
               because they needed to be fragmented at this entity but
               could not be, e.g., because their "Don't Fragment" flag
               was set.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ipFragCreates { ip 19 }

          Syntax:
               Counter

          Definition:
               The number of IP datagram fragments that have been
               generated as a result of fragmentation at this entity.

          Access:
               read-only.

          Status:
               mandatory.

5.4.1.  The IP Address table

   The Ip Address table contains this entity's IP addressing
   information.

          OBJECT:
          -------
               ipAddrTable { ip 20 }

          Syntax:
               SEQUENCE OF IpAddrEntry

          Definition:
               The table of addressing information relevant to this
               entity's IP addresses.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ipAddrEntry { ipAddrTable 1 }

          Syntax:
               IpAddrEntry ::= SEQUENCE {
                    ipAdEntAddr
                        IpAddress,
                    ipAdEntIfIndex
                        INTEGER,
                    ipAdEntNetMask
                        IpAddress,
                    ipAdEntBcastAddr
                        INTEGER,
                    ipAdEntReasmMaxSize
                        INTEGER (0..65535)
               }

          Definition:
               The addressing information for one of this entity's IP
               addresses.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ipAdEntAddr  { ipAddrEntry 1 }

          Syntax:
               IpAddress

          Definition:
               The IP address to which this entry's addressing
               information pertains.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ipAdEntIfIndex  { ipAddrEntry 2 }

          Syntax:
               INTEGER

          Definition:
               The index value which uniquely identifies the interface
               to which this entry is applicable.  The interface
               identified by a particular value of this index is the
               same interface as identified by the same value of
               ifIndex.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ipAdEntNetMask  { ipAddrEntry 3 }

          Syntax:
               IpAddress

          Definition:
               The subnet mask associated with the IP address of this
               entry.  The value of the mask is an IP address with all
               the network bits set to 1 and all the hosts bits set to
               0.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ipAdEntBcastAddr { ipAddrEntry 4 }

          Syntax:
               INTEGER

          Definition:
               The value of the least-significant bit in the IP
               broadcast address used for sending datagrams on the
               (logical) interface associated with the IP address of
               this entry.  For example, when the Internet standard
               all-ones broadcast address is used, the value will be 1.
               This value applies to both the subnet and network
               broadcasts addresses used by the entity on this (logical)
               interface.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ipAdEntReasmMaxSize { ipAddrEntry 5 }

          Syntax:
               INTEGER (0..65535)

          Definition:
               The size of the largest IP datagram which this entity can
               re-assemble from incoming IP fragmented datagrams
               received on this interface.

          Access:
               read-only.

          Status:
               mandatory.

5.4.2.  The IP Routing table

   The IP Routing table contains an entry for each route presently known
   to this entity.

          OBJECT:
          -------
               ipRoutingTable { ip 21 }

          Syntax:
               SEQUENCE OF IpRouteEntry

          Definition:
               This entity's IP Routing table.

          Access:
               read-write.

          Status:
               mandatory.

          OBJECT:
          -------
               ipRouteEntry { ipRoutingTable 1 }

          Syntax:
               IpRouteEntry ::= SEQUENCE {
                    ipRouteDest
                        IpAddress,
                    ipRouteIfIndex
                        INTEGER,
                    ipRouteMetric1

                        INTEGER,
                    ipRouteMetric2
                        INTEGER,
                    ipRouteMetric3
                        INTEGER,
                    ipRouteMetric4
                        INTEGER,
                    ipRouteNextHop
                        IpAddress,
                    ipRouteType
                        INTEGER,
                    ipRouteProto
                        INTEGER,
                    ipRouteAge
                        INTEGER,
                    ipRouteMask
                        IpAddress
               }

          Definition:
               A route to a particular destination.

          Access:
               read-write.

          Status:
               mandatory.

          We now consider the individual components of each route in the
          IP Routing table:

          OBJECT:
          -------
               ipRouteDest { ipRouteEntry 1 }

          Syntax:
               IpAddress

          Definition:
               The destination IP address of this route.  An entry with
               a value of 0.0.0.0 is considered a default route.
               Multiple routes to a single destination can appear in the
               table, but access to such multiple entries is dependent
               on the table-access mechanisms defined by the network
               management protocol in use.

          Access:
               read-write.

          Status:
               mandatory.

          OBJECT:
          -------
               ipRouteIfIndex  { ipRouteEntry 2 }

          Syntax:
               INTEGER

          Definition:
               The index value which uniquely identifies the local
               interface through which the next hop of this route should
               be reached.  The interface identified by a particular
               value of this index is the same interface as identified
               by the same value of ifIndex.

          Access:
               read-write.

          Status:
               mandatory.

          OBJECT:
          -------
               ipRouteMetric1 { ipRouteEntry 3 }

          Syntax:
               INTEGER

          Definition:
               The primary routing metric for this route.  The semantics
               of this metric are determined by the routing-protocol
               specified in the route's ipRouteProto value.  If this
               metric is not used, its value should be set to -1.

          Access:
               read-write.

          Status:
               mandatory.

          OBJECT:
          -------
               ipRouteMetric2 { ipRouteEntry 4 }

          Syntax:
               INTEGER

          Definition:
               An alternate routing metric for this route.  The
               semantics of this metric are determined by the routing-
               protocol specified in the route's ipRouteProto value.  If
               this metric is not used, its value should be set to -1.

          Access:
               read-write.

          Status:
               mandatory.

          OBJECT:
          -------
               ipRouteMetric3 { ipRouteEntry 5 }

          Syntax:
               INTEGER

          Definition:
               An alternate routing metric for this route.  The
               semantics of this metric are determined by the routing-
               protocol specified in the route's ipRouteProto value.  If
               this metric is not used, its value should be set to -1.

          Access:
               read-write.

          Status:
               mandatory.

          OBJECT:
          -------
               ipRouteMetric4 { ipRouteEntry 6 }

          Syntax:
               INTEGER

          Definition:
               An alternate routing metric for this route.  The
               semantics of this metric are determined by the routing-
               protocol specified in the route's ipRouteProto value.  If
               this metric is not used, its value should be set to -1.

          Access:
               read-write.

          Status:
               mandatory.

          OBJECT:
          -------
               ipRouteNextHop { ipRouteEntry 7 }

          Syntax:
               IpAddress

          Definition:
               The IP address of the next hop of this route.  (In the
               case of a route bound to an interface which is realized
               via a broadcast media, the value of this field is the
               agent's IP address on that interface.)

          Access:
               read-write.

          Status:
               mandatory.

          OBJECT:
          -------
               ipRouteType { ipRouteEntry 8 }

          Syntax:
               INTEGER {
                    other(1),        -- none of the following

                    invalid(2),      -- an invalidated route

                                     -- route to directly
                    direct(3),       -- connected (sub-)network

                                     -- route to a non-local
                    remote(4)        -- host/network/sub-network

               }

          Definition:
               The type of route.

          Setting this object to the value invalid(2) has the effect of
          invalidating the corresponding entry in the ipRoutingTable
          object.  That is, it effectively disassociates the destination
          identified with said entry from the route identified with said
          entry.  It is an implementation-specific matter as to whether
          the agent removes an invalidated entry from the table.
          Accordingly, management stations must be prepared to receive
          tabular information from agents that corresponds to entries
          not currently in use.  Proper interpretation of such entries
          requires examination of the relevant ipRouteType object.

          Access:
               read-write.

          Status:
               mandatory.

          OBJECT:
          -------
               ipRouteProto { ipRouteEntry 9 }

          Syntax:
               INTEGER {
                    other(1),       -- none of the following

                                    -- non-protocol information,
                                    -- e.g., manually configured
                    local(2),       -- entries

                                    -- set via a network management
                    netmgmt(3),     -- protocol

                                    -- obtained via ICMP,
                    icmp(4),        -- e.g., Redirect

                                    -- the remaining values are
                                    -- all gateway routing protocols
                    egp(5),
                    ggp(6),
                    hello(7),
                    rip(8),
                    is-is(9),

                    es-is(10),
                    ciscoIgrp(11),
                    bbnSpfIgp(12),
                    ospf(13),
                    bgp(14)
               }

          Definition:
               The routing mechanism via which this route was learned.
               Inclusion of values for gateway routing protocols is not
               intended to imply that hosts should support those
               protocols.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               ipRouteAge { ipRouteEntry 10 }

          Syntax:
               INTEGER

          Definition:
               The number of seconds since this route was last updated
               or otherwise determined to be correct.   Note that no
               semantics of "too old" can be implied except through
               knowledge of the routing protocol by which the route was
               learned.

          Access:
               read-write.

          Status:
               mandatory.

          OBJECT:
          -------
               ipRouteMask { ipRouteEntry 11 }

          Syntax:
               IpAddress

          Definition:
               Indicate the mask to be logical-ANDed with the
               destination address before being compared to the value in
               the ipRouteDest field.  For those systems that do not
               support arbitrary subnet masks, an agent constructs the
               value of the ipRouteMask by determining whether the value
               of the correspondent ipRouteDest field belong to a
               class-A, B, or C network, and then using one of:

                    mask           network
                    255.0.0.0      class-A
                    255.255.0.0    class-B
                    255.255.255.0  class-C

               If the value of the ipRouteDest is 0.0.0.0 (a default
               route), then the mask value is also 0.0.0.0.  It should
               be noted that all IP routing subsystems implicitly use
               this mechanism.

          Access:
               read-write.

          Status:
               mandatory.

5.4.3.  The IP Address Translation table

   The Address Translation tables contain the IpAddress to "physical"
   address equivalences.  Some interfaces do not use translation tables
   for determining address equivalences (e.g., DDN-X.25 has an
   algorithmic method); if all interfaces are of this type, then the
   Address Translation table is empty, i.e., has zero entries.

          OBJECT:
          -------
               ipNetToMediaTable { ip 22 }

          Syntax:
               SEQUENCE OF IpNetToMediaEntry

          Definition:
               The IP Address Translation table used for mapping from IP
               addresses to physical addresses.

          Access:
               read-write.

          Status:
               mandatory.

          OBJECT:
          -------
               IpNetToMediaEntry { ipNetToMediaTable 1 }

          Syntax:
               IpNetToMediaEntry ::= SEQUENCE {
                    ipNetToMediaIfIndex
                        INTEGER,
                    ipNetToMediaPhysAddress
                        OCTET STRING,
                    ipNetToMediaNetAddress
                        IpAddress,
                    ipNetToMediaType
                        INTEGER
               }

          Definition:
               Each entry contains one IpAddress to "physical" address
               equivalence.

          Access:
               read-write.

          Status:
               mandatory.

          We now consider the individual components of each IP Address
          Translation table entry:

          OBJECT:
          -------
               ipNetToMediaIfIndex { ipNetToMediaEntry 1 }

          Syntax:
               INTEGER

          Definition:
               The interface on which this entry's equivalence is
               effective.  The interface identified by a particular
               value of this index is the same interface as identified
               by the same value of ifIndex.

          Access:
               read-write.

          Status:
               mandatory.

          OBJECT:
          -------
               ipNetToMediaPhysAddress { ipNetToMediaEntry 2 }

          Syntax:
               OCTET STRING

          Definition:
               The media-dependent "physical" address.

          Access:
               read-write.

          Status:
               mandatory.

          OBJECT:
          -------
               ipNetToMediaNetAddress { ipNetToMediaEntry 3 }

          Syntax:
               IpAddress

          Definition:
               The IpAddress corresponding to the media-dependent
               "physical" address.

          Access:
               read-write.

          Status:
               mandatory.

          OBJECT:
          -------
               ipNetToMediaType { ipNetToMediaEntry 4 }

          Syntax:
               INTEGER {

                    other(1),        -- none of the following

                    invalid(2),      -- an invalidated mapping

                    dynamic(3),

                    static(4)
               }

          Definition:
               The type of mapping.

          Setting this object to the value invalid(2) has the effect of
          invalidating the corresponding entry in the ipNetToMediaTable.
          That is, it effectively disassociates the interface identified
          with said entry from the mapping identified with said entry.
          It is an implementation-specific matter as to whether the
          agent removes an invalidated entry from the table.
          Accordingly, management stations must be prepared to receive
          tabular information from agents that corresponds to entries
          not currently in use.  Proper interpretation of such entries
          requires examination of the relevant ipNetToMediaType object.

          Access:
               read-write.

          Status:
               mandatory.

5.5.  The ICMP Group

   Implementation of the ICMP group is mandatory for all systems.

   The ICMP group contains the ICMP input and output statistics.

          OBJECT:
          -------
               icmpInMsgs { icmp 1 }

          Syntax:
               Counter

          Definition:
               The total number of ICMP messages which the entity
               received.  Note that this counter includes all those
               counted by icmpInErrors.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpInErrors { icmp 2 }

          Syntax:
               Counter

          Definition:
               The number of ICMP messages which the entity received but
               determined as having ICMP-specific errors (bad ICMP
               checksums, bad length, etc.).

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpInDestUnreachs { icmp 3 }

          Syntax:
               Counter

          Definition:
               The number of ICMP Destination Unreachable messages
               received.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpInTimeExcds { icmp 4 }

          Syntax:
               Counter

          Definition:
               The number of ICMP Time Exceeded messages received.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpInParmProbs { icmp 5 }

          Syntax:
               Counter

          Definition:
               The number of ICMP Parameter Problem messages received.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpInSrcQuenchs { icmp 6 }

          Syntax:
               Counter

          Definition:
               The number of ICMP Source Quench messages received.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpInRedirects { icmp 7 }

          Syntax:
               Counter

          Definition:
               The number of ICMP Redirect messages received.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpInEchos { icmp 8 }

          Syntax:
               Counter

          Definition:
               The number of ICMP Echo (request) messages received.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpInEchoReps { icmp 9 }

          Syntax:
               Counter

          Definition:
               The number of ICMP Echo Reply messages received.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpInTimestamps { icmp 10 }

          Syntax:
               Counter

          Definition:
               The number of ICMP Timestamp (request) messages received.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpInTimestampReps { icmp 11 }

          Syntax:
               Counter

          Definition:
               The number of ICMP Timestamp Reply messages received.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpInAddrMasks { icmp 12 }

          Syntax:
               Counter

          Definition:
               The number of ICMP Address Mask Request messages
               received.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpInAddrMaskReps { icmp 13 }

          Syntax:
               Counter

          Definition:
               The number of ICMP Address Mask Reply messages received.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpOutMsgs { icmp 14 }

          Syntax:
               Counter

          Definition:
               The total number of ICMP messages which this entity
               attempted to send.  Note that this counter includes all
               those counted by icmpOutErrors.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpOutErrors { icmp 15 }

          Syntax:
               Counter

          Definition:
               The number of ICMP messages which this entity did not
               send due to problems discovered within ICMP such as a
               lack of buffers.  This value should not include errors
               discovered outside the ICMP layer such as the inability
               of IP to route the resultant datagram.  In some
               implementations there may be no types of error which
               contribute to this counter's value.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpOutDestUnreachs { icmp 16 }

          Syntax:
               Counter

          Definition:
               The number of ICMP Destination Unreachable messages sent.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpOutTimeExcds { icmp 17 }

          Syntax:
               Counter

          Definition:
               The number of ICMP Time Exceeded messages sent.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpOutParmProbs { icmp 18 }

          Syntax:
               Counter

          Definition:
               The number of ICMP Parameter Problem messages sent.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpOutSrcQuenchs { icmp 19 }

          Syntax:
               Counter

          Definition:
               The number of ICMP Source Quench messages sent.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpOutRedirects { icmp 20 }

          Syntax:
               Counter

          Definition:
               The number of ICMP Redirect messages sent.  For a host,
               this object will always be zero, since hosts do not send

               redirects.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpOutEchos { icmp 21 }

          Syntax:
               Counter

          Definition:
               The number of ICMP Echo (request) messages sent.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpOutEchoReps { icmp 22 }

          Syntax:
               Counter

          Definition:
               The number of ICMP Echo Reply messages sent.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpOutTimestamps { icmp 23 }

          Syntax:
               Counter

          Definition:
               The number of ICMP Timestamp (request) messages sent.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpOutTimestampReps { icmp 24 }

          Syntax:
               Counter

          Definition:
               The number of ICMP Timestamp Reply messages sent.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpOutAddrMasks { icmp 25 }

          Syntax:
               Counter

          Definition:
               The number of ICMP Address Mask Request messages sent.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               icmpOutAddrMaskReps { icmp 26 }

          Syntax:
               Counter

          Definition:
               The number of ICMP Address Mask Reply messages sent.

          Access:
               read-only.

          Status:
               mandatory.

5.6.  The TCP Group

   Implementation of the TCP group is mandatory for all systems that
   implement the TCP.

   Note that instances of object types that represent information about
   a particular TCP connection are transient; they persist only as long
   as the connection in question.

          OBJECT:
          -------
               tcpRtoAlgorithm { tcp 1 }

          Syntax:
               INTEGER {
                    other(1),    -- none of the following
                    constant(2), -- a constant rto
                    rsre(3),     -- MIL-STD-1778, Appendix B
                    vanj(4)      -- Van Jacobson's algorithm [11]
               }

          Definition:
               The algorithm used to determine the timeout value used
               for retransmitting unacknowledged octets.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               tcpRtoMin { tcp 2 }

          Syntax:
               INTEGER

          Definition:
               The minimum value permitted by a TCP implementation for
               the retransmission timeout, measured in milliseconds.
               More refined semantics for objects of this type depend
               upon the algorithm used to determine the retransmission
               timeout.  In particular, when the timeout algorithm is
               rsre(3), an object of this type has the semantics of the
               LBOUND quantity described in RFC 793.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               tcpRtoMax { tcp 3 }

          Syntax:
               INTEGER

          Definition:
               The maximum value permitted by a TCP implementation for
               the retransmission timeout, measured in milliseconds.
               More refined semantics for objects of this type depend
               upon the algorithm used to determine the retransmission
               timeout.  In particular, when the timeout algorithm is
               rsre(3), an object of this type has the semantics of the
               UBOUND quantity described in RFC 793.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               tcpMaxConn { tcp 4 }

          Syntax:
               INTEGER

          Definition:
               The limit on the total number of TCP connections the
               entity can support.  In entities where the maximum number
               of connections is dynamic, this object should contain the
               value "-1".

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               tcpActiveOpens { tcp 5 }

          Syntax:
               Counter

          Definition:
               The number of times TCP connections have made a direct
               transition to the SYN-SENT state from the CLOSED state.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               tcpPassiveOpens { tcp 6 }

          Syntax:
               Counter

          Definition:
               The number of times TCP connections have made a direct
               transition to the SYN-RCVD state from the LISTEN state.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               tcpAttemptFails { tcp 7 }

          Syntax:
               Counter

          Definition:
               The number of times TCP connections have made a direct
               transition to the CLOSED state from either the SYN-SENT
               state or the SYN-RCVD state, plus the number of times TCP
               connections have made a direct transition to the LISTEN
               state from the SYN-RCVD state.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               tcpEstabResets { tcp 8 }

          Syntax:
               Counter

          Definition:
               The number of times TCP connections have made a direct
               transition to the CLOSED state from either the
               ESTABLISHED state or the CLOSE-WAIT state.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               tcpCurrEstab { tcp 9 }

          Syntax:
               Gauge

          Definition:
               The number of TCP connections for which the current state
               is either ESTABLISHED or CLOSE-WAIT.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               tcpInSegs { tcp 10 }

          Syntax:
               Counter

          Definition:
               The total number of segments received, including those
               received in error.  This count includes segments received
               on currently established connections.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               tcpOutSegs { tcp 11 }

          Syntax:
               Counter

          Definition:
               The total number of segments sent, including those on
               current connections but excluding those containing only
               retransmitted octets.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               tcpRetransSegs { tcp 12 }

          Syntax:
               Counter

          Definition:
               The total number of segments retransmitted - that is, the
               number of TCP segments transmitted containing one or more
               previously transmitted octets.

          Access:
               read-only.

          Status:
               mandatory.

5.6.1.  The TCP Connection table

   The TCP connection table contains information about this entity's
   existing TCP connections.

          OBJECT:
          -------
               tcpConnTable { tcp 13 }

          Syntax:
               SEQUENCE OF TcpConnEntry

          Definition:
               A table containing TCP connection-specific information.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               tcpConnEntry { tcpConnTable 1 }

          Syntax:
               TcpConnEntry ::= SEQUENCE {
                    tcpConnState
                        INTEGER,
                    tcpConnLocalAddress
                        IpAddress,
                    tcpConnLocalPort
                        INTEGER (0..65535),
                    tcpConnRemAddress
                        IpAddress,
                    tcpConnRemPort
                        INTEGER (0..65535)
               }

          Definition:
               Information about a particular current TCP connection.
               An object of this type is transient, in that it ceases to
               exist when (or soon after) the connection makes the
               transition to the CLOSED state.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               tcpConnState { tcpConnEntry 1 }

          Syntax:
               INTEGER {
                    closed(1),
                    listen(2),
                    synSent(3),
                    synReceived(4),
                    established(5),
                    finWait1(6),
                    finWait2(7),
                    closeWait(8),
                    lastAck(9),
                    closing(10),
                    timeWait(11)

               }

          Definition:
               The state of this TCP connection.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               tcpConnLocalAddress { tcpConnEntry 2 }

          Syntax:
               IpAddress

          Definition:
               The local IP address for this TCP connection.  In the
               case of a connection in the listen state which is willing
               to accept connections for any IP interface associated
               with the node, the value 0.0.0.0 is used.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               tcpConnLocalPort { tcpConnEntry 3 }

          Syntax:
               INTEGER (0..65535)

          Definition:
               The local port number for this TCP connection.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               tcpConnRemAddress { tcpConnEntry 4 }

          Syntax:
               IpAddress

          Definition:
               The remote IP address for this TCP connection.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               tcpConnRemPort { tcpConnEntry 5 }

          Syntax:
               INTEGER (0..65535)

          Definition:
               The remote port number for this TCP connection.

          Access:
               read-only.

          Status:
               mandatory.

5.6.2.  Additional TCP Objects

          OBJECT:
          -------
               tcpInErrs { tcp 14 }

          Syntax:
               Counter

          Definition:
               The total number of segments received in error (e.g., bad
               TCP checksums).

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               tcpOutRsts { tcp 15 }

          Syntax:
               Counter

          Definition:
               The number of TCP segments sent containing the RST flag.

          Access:
               read-only.

          Status:
               mandatory.

5.7.  The UDP Group

   Implementation of the UDP group is mandatory for all systems which
   implement the UDP.

          OBJECT:
          -------
               udpInDatagrams { udp 1 }

          Syntax:
               Counter

          Definition:
               The total number of UDP datagrams delivered to UDP users.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               udpNoPorts { udp 2 }

          Syntax:
               Counter

          Definition:
               The total number of received UDP datagrams for which
               there was no application at the destination port.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               udpInErrors { udp 3 }

          Syntax:
               Counter

          Definition:
               The number of received UDP datagrams that could not be
               delivered for reasons other than the lack of an
               application at the destination port.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               udpOutDatagrams { udp 4 }

          Syntax:
               Counter

          Definition:
               The total number of UDP datagrams sent from this entity.

          Access:
               read-only.

          Status:
               mandatory.

5.7.1.  The UDP Listener table

   The UDP listener table contains information about this entity's UDP
   end-points on which a local application is currently accepting
   datagrams.

          OBJECT:
          -------
               udpTable { udp 5 }

          Syntax:
               SEQUENCE OF UdpEntry

          Definition:
               A table containing UDP listener information.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               udpEntry { udpTable 1 }

          Syntax:
               UdpEntry ::= SEQUENCE {
                    udpLocalAddress
                        IpAddress,
                    udpLocalPort
                        INTEGER (0..65535)
               }

          Definition:
               Information about a particular current UDP listener.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               udpLocalAddress { udpEntry 1 }

          Syntax:
               IpAddress

          Definition:
               The local IP address for this UDP listener.  In the case
               of a UDP listener which is willing to accept datagrams
               for any IP interface associated with the node, the value
               0.0.0.0 is used.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               udpLocalPort { udpEntry 2 }

          Syntax:
               INTEGER (0..65535)

          Definition:
               The local port number for this UDP listener.

          Access:
               read-only.

          Status:
               mandatory.

5.8.  The EGP Group

   Implementation of the EGP group is mandatory for all systems which
   implement the EGP.

          OBJECT:
          -------
               egpInMsgs { egp 1 }

          Syntax:
               Counter

          Definition:
               The number of EGP messages received without error.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               egpInErrors { egp 2 }

          Syntax:
               Counter

          Definition:
               The number of EGP messages received that proved to be in
               error.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               egpOutMsgs { egp 3 }

          Syntax:
               Counter

          Definition:
               The total number of locally generated EGP messages.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               egpOutErrors { egp 4 }

          Syntax:
               Counter

          Definition:
               The number of locally generated EGP messages not sent due
               to resource limitations within an EGP entity.

          Access:
               read-only.

          Status:
               mandatory.

5.8.1.  The EGP Neighbor table

   The Egp Neighbor table contains information about this entity's EGP
   neighbors.

          OBJECT:
          -------
               egpNeighTable { egp 5 }

          Syntax:
               SEQUENCE OF EgpNeighEntry

          Definition:
               The EGP neighbor table.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               egpNeighEntry { egpNeighTable 1 }

          Syntax:
               EgpNeighEntry ::= SEQUENCE {
                    egpNeighState
                        INTEGER,
                    egpNeighAddr
                        IpAddress,
                    egpNeighAs
                        INTEGER,
                    egpNeighInMsgs
                        Counter,
                    egpNeighInErrs
                        Counter,
                    egpNeighOutMsgs
                        Counter,
                    egpNeighOutErrs
                        Counter,
                    egpNeighInErrMsgs
                        Counter,
                    egpNeighOutErrMsgs
                        Counter,
                    egpNeighStateUps
                        Counter,
                    egpNeighStateDowns
                        Counter,
                    egpNeighIntervalHello
                        INTEGER,
                    egpNeighIntervalPoll
                        INTEGER,
                    egpNeighMode
                        INTEGER,
                    egpNeighEventTrigger
                        INTEGER
               }

          Definition:
               Information about this entity's relationship with a
               particular EGP neighbor.

          Access:
               read-only.

          Status:
               mandatory.

          We now consider the individual components of each EGP neighbor
          entry:

          OBJECT:
          -------
               egpNeighState { egpNeighEntry 1 }

          Syntax:
               INTEGER {
                    idle(1),
                    acquisition(2),
                    down(3),
                    up(4),
                    cease(5)
               }

          Definition:
               The EGP state of the local system with respect to this
               entry's EGP neighbor.  Each EGP state is represented by a
               value that is one greater than the numerical value
               associated with said state in RFC 904.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               egpNeighAddr { egpNeighEntry 2 }

          Syntax:
               IpAddress

          Definition:
               The IP address of this entry's EGP neighbor.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               egpNeighAs { egpNeighEntry 3 }

          Syntax:
               INTEGER

          Definition:
               The autonomous system of this EGP peer.  Zero should be
               specified if the autonomous system number of the neighbor
               is not yet known.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               egpNeighInMsgs { egpNeighEntry 4 }

          Syntax:
               Counter

          Definition:
               The number of EGP messages received without error from
               this EGP peer.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               egpNeighInErrs { egpNeighEntry 5 }

          Syntax:
               Counter

          Definition:
               The number of EGP messages received from this EGP peer
               that proved to be in error (e.g., bad EGP checksum).

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               egpNeighOutMsgs { egpNeighEntry 6 }

          Syntax:
               Counter

          Definition:
               The number of locally generated EGP messages to this EGP
               peer.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               egpNeighOutErrs { egpNeighEntry 7 }

          Syntax:
               Counter

          Definition:
               The number of locally generated EGP messages not sent to
               this EGP peer due to resource limitations within an EGP
               entity.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               egpNeighInErrMsgs { egpNeighEntry 8 }

          Syntax:
               Counter

          Definition:
               The number of EGP-defined error messages received from
               this EGP peer.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               egpNeighOutErrMsgs { egpNeighEntry 9 }

          Syntax:
               Counter

          Definition:
               The number of EGP-defined error messages sent to this EGP
               peer.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               egpNeighStateUps { egpNeighEntry 10 }

          Syntax:
               Counter

          Definition:
               The number of EGP state transitions to the UP state with
               this EGP peer.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               egpNeighStateDowns { egpNeighEntry 11 }

          Syntax:
               Counter

          Definition:
               The number of EGP state transitions from the UP state to
               any other state with this EGP peer.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               egpNeighIntervalHello { egpNeighEntry 12 }

          Syntax:
               INTEGER

          Definition:
               The interval between EGP Hello command retransmissions
               (in hundredths of a second).  This represents the t1
               timer as defined in RFC 904.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               egpNeighIntervalPoll { egpNeighEntry 13 }

          Syntax:
               INTEGER

          Definition:
               The interval between EGP poll command retransmissions (in
               hundredths of a second).  This represents the t3 timer as
               defined in RFC 904.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               egpNeighMode { egpNeighEntry 14 }

          Syntax:
               INTEGER {
                    active(1),
                    passive(2)
               }

          Definition:
               The polling mode of this EGP entity, either passive or
               active.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               egpNeighEventTrigger { egpNeighEntry 15 }

          Syntax:
               INTEGER {
                    start(1),
                    stop(2)
               }

          Definition:
               A control variable used to trigger operator-initiated
               Start and Stop events.  When read, this variable always
               returns the most recent value that egpNeightEventTrigger
               was set to.  If it has not been set since the last
               initialization of the network management subsystem on the
               node, it returns a value of "stop".

          Access:
               read-write

          Status:
               mandatory.

5.8.2.  Additional EGP variables

          OBJECT:
          -------
               egpAs { egp 6 }

          Syntax:
               INTEGER

          Definition:
               The autonomous system number of this EGP entity.

          Access:
               read-only.

          Status:
               mandatory.

5.9.  The Transmission Group

   Based on the transmission media underlying each interface on a
   system, the corresponding portion of the Transmission group is
   mandatory for that system.

   When Internet-standard definitions for managing transmission media
   are defined, the transmission group is used to provide a prefix for
   the names of those objects.

   Typically, such definitions reside in the experimental portion of the
   MIB until they are "proven", then as a part of the Internet
   standardization process, the definitions are accordingly elevated and
   a new object identifier, under the transmission group is defined.  By
   convention, the name assigned is:

               type OBJECT IDENTIFIER    ::= { transmission number }

   where "type" is the symbolic value used for the media in the ifType
   column of the ifTable object, and "number" is the actual integer
   value corresponding to the symbol.

5.10.  The SNMP Group

   Implementation of the SNMP group is mandatory for all systems which
   support an SNMP protocol entity. Some of the objects defined below

   will be zero-valued in those SNMP implementations that are optimized
   to support only those functions specific to either a management agent
   or a management client.

          OBJECT:
          -------
               snmpInPkts { snmp 1 }

          Syntax:
               Counter

          Definition:
               The total number of PDUs delivered to the SNMP entity
               from the transport service.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpOutPkts { snmp 2 }

          Syntax:
               Counter

          Definition:
               The total number of SNMP PDUs which were passed from the
               SNMP protocol entity to the transport service.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpInBadVersions { snmp 3 }

          Syntax:
               Counter

          Definition:
               The total number of syntactically correct SNMP PDUs which
               were delivered to the SNMP protocol entity and were for
               an unsupported SNMP version.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpInBadCommunityNames { snmp 4 }

          Syntax:
               Counter

          Definition:
               The total number of SNMP PDUs delivered to the SNMP
               protocol entity which used a SNMP community name not
               known to said entity.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpInBadCommunityUses { snmp 5 }

          Syntax:
               Counter

          Definition:
               The total number of SNMP PDUs delivered to the SNMP
               protocol entity which represented an SNMP operation which
               was not allowed by the SNMP community named in the PDU.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpInASNParseErrs { snmp 6 }

          Syntax:
               Counter

          Definition:
               The total number of ASN.1 parsing errors (either in
               encoding or syntax) encountered by the SNMP protocol
               entity when decoding received SNMP PDUs.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpInBadTypes { snmp 7 }

          Syntax:
               Counter

          Definition:
               The total number of SNMP PDUs delivered to the SNMP
               protocol entity which had an unknown PDU type.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpInTooBigs { snmp 8 }

          Syntax:
               Counter

          Definition:
               The total number valid SNMP PDUs which were delivered to
               the SNMP protocol entity and for which the value of the
               "ErrorStatus" component is "tooBig."

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpInNoSuchNames { snmp 9 }

          Syntax:
               Counter

          Definition:
               The total number valid SNMP PDUs which were delivered to
               the SNMP protocol entity and for which the value of the
               "ErrorStatus" component is "noSuchName."

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpInBadValues { snmp 10 }

          Syntax:
               Counter

          Definition:
               The total number valid SNMP PDUs which were delivered to
               the SNMP protocol entity and for which the value of the
               "ErrorStatus" component is "badValue."

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpInReadOnlys { snmp 11 }

          Syntax:
               Counter

          Definition:
               The total number valid SNMP PDUs which were delivered to
               the SNMP protocol entity and for which the value of the
               "ErrorStatus" component is "readOnly."

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpInGenErrs { snmp 12 }

          Syntax:
               Counter

          Definition:
               The total number valid SNMP PDUs which were delivered to
               the SNMP protocol entity and for which the value of the
               "ErrorStatus" component is "genErr."

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpInTotalReqVars { snmp 13 }

          Syntax:
               Counter

          Definition:
               The total number of MIB objects which have been retrieved
               successfully by the SNMP protocol entity as the result of
               receiving valid SNMP Get-Request and Get-Next PDUs.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpInTotalSetVars { snmp 14 }

          Syntax:
               Counter

          Definition:
               The total number of MIB objects which have been altered
               successfully by the SNMP protocol entity as the result of
               receiving valid SNMP Set-Request PDUs.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpInGetRequests { snmp 15 }

          Syntax:
               Counter

          Definition:
               The total number of SNMP Get-Request PDUs which have been
               accepted and processed by the SNMP protocol entity.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpInGetNexts { snmp 16 }

          Syntax:
               Counter

          Definition:
               The total number of SNMP Get-Next PDUs which have been
               accepted and processed by the SNMP protocol entity.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpInSetRequests { snmp 17 }

          Syntax:
               Counter

          Definition:
               The total number of SNMP Set-Request PDUs which have been
               accepted and processed by the SNMP protocol entity.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpInGetResponses { snmp 18 }

          Syntax:
               Counter

          Definition:
               The total number of SNMP Get-Response PDUs which have
               been accepted and processed by the SNMP protocol entity.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpInTraps { snmp 19 }

          Syntax:
               Counter

          Definition:
               The total number of SNMP Trap PDUs which have been
               accepted and processed by the SNMP protocol entity.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpOutTooBigs { snmp 20 }

          Syntax:
               Counter

          Definition:
               The total number valid SNMP PDUs which were generated by
               the SNMP protocol entity and for which the value of the
               "ErrorStatus" component is "tooBig."

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpOutNoSuchNames { snmp 21 }

          Syntax:
               Counter

          Definition:
               The total number valid SNMP PDUs which were generated by
               the SNMP protocol entity and for which the value of the
               "ErrorStatus" component is "noSuchName."

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpOutBadValues { snmp 22 }

          Syntax:
               Counter

          Definition:
               The total number valid SNMP PDUs which were generated by
               the SNMP protocol entity and for which the value of the
               "ErrorStatus" component is "badValue."

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpOutReadOnlys { snmp 23 }

          Syntax:
               Counter

          Definition:
               The total number valid SNMP PDUs which were generated by
               the SNMP protocol entity and for which the value of the
               "ErrorStatus" component is "readOnly."

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpOutGenErrs { snmp 24 }

          Syntax:
               Counter

          Definition:
               The total number valid SNMP PDUs which were generated by
               the SNMP protocol entity and for which the value of the
               "ErrorStatus" component is "genErr."

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpOutGetRequests { snmp 25 }

          Syntax:
               Counter

          Definition:
               The total number of SNMP Get-Request PDUs which have been
               generated by the SNMP protocol entity.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpOutGetNexts { snmp 26 }

          Syntax:
               Counter

          Definition:
               The total number of SNMP Get-Next PDUs which have been
               generated by the SNMP protocol entity.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpOutSetRequests { snmp 27 }

          Syntax:
               Counter

          Definition:
               The total number of SNMP Set-Request PDUs which have been
               generated by the SNMP protocol entity.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpOutGetResponses { snmp 28 }

          Syntax:
               Counter

          Definition:
               The total number of SNMP Get-Response PDUs which have
               been generated by the SNMP protocol entity.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpOutTraps { snmp 29 }

          Syntax:
               Counter

          Definition:
               The total number of SNMP Trap PDUs which have been
               generated by the SNMP protocol entity.

          Access:
               read-only.

          Status:
               mandatory.

          OBJECT:
          -------
               snmpEnableAuthTraps { snmp 30 }

          Syntax:
               INTEGER {
                    enabled(1),
                    disabled(2)
               }

          Definition:
               Indicates whether the SNMP agent process is configured to
               generate authentication-failure traps.

          Access:
               read-write.

          Status:
               mandatory.

6.  Definitions

               RFC1158-MIB

               DEFINITIONS ::= BEGIN

               IMPORTS
                       mgmt, OBJECT-TYPE, NetworkAddress, IpAddress,
                       Counter, Gauge, TimeTicks
                           FROM RFC1155-SMI;

               mib-2      OBJECT IDENTIFIER ::= { mgmt 1 }    -- MIB-II
                          -- (same prefix as MIB-I)

               system     OBJECT IDENTIFIER ::= { mib-2 1 }
               interfaces OBJECT IDENTIFIER ::= { mib-2 2 }
               at         OBJECT IDENTIFIER ::= { mib-2 3 }

               ip         OBJECT IDENTIFIER ::= { mib-2 4 }
               icmp       OBJECT IDENTIFIER ::= { mib-2 5 }
               tcp        OBJECT IDENTIFIER ::= { mib-2 6 }
               udp        OBJECT IDENTIFIER ::= { mib-2 7 }
               egp        OBJECT IDENTIFIER ::= { mib-2 8 }
               -- cmot    OBJECT IDENTIFIER ::= { mib-2 9 }
               transmission OBJECT IDENTIFIER ::= { mib-2 10 }
               snmp       OBJECT IDENTIFIER ::= { mib-2 11 }

               -- object types

               -- the System group

               sysDescr OBJECT-TYPE
                       SYNTAX  DisplayString (SIZE (0..255))
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { system 1 }

               sysObjectID OBJECT-TYPE
                       SYNTAX  OBJECT IDENTIFIER
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { system 2 }

               sysUpTime OBJECT-TYPE
                       SYNTAX  TimeTicks
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { system 3 }

               sysContact OBJECT-TYPE
                       SYNTAX  DisplayString (SIZE (0..255))
                       ACCESS  read-write
                       STATUS  mandatory
                       ::= { system 4 }

               sysName OBJECT-TYPE
                       SYNTAX  DisplayString (SIZE (0..255))
                       ACCESS  read-write
                       STATUS  mandatory
                       ::= { system 5 }

               sysLocation OBJECT-TYPE
                       SYNTAX  DisplayString (SIZE (0..255))
                       ACCESS  read-only
                       STATUS  mandatory

                       ::= { system 6 }

               sysServices OBJECT-TYPE
                       SYNTAX  INTEGER (0..127)
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { system 7 }

               -- the Interfaces group

               ifNumber OBJECT-TYPE
                       SYNTAX  INTEGER
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { interfaces 1 }

               -- the Interfaces table

               ifTable OBJECT-TYPE
                       SYNTAX  SEQUENCE OF IfEntry
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { interfaces 2 }

               ifEntry OBJECT-TYPE
                       SYNTAX  IfEntry
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ifTable 1 }

               IfEntry ::= SEQUENCE {
                   ifIndex
                       INTEGER,
                   ifDescr
                       DisplayString,
                   ifType
                       INTEGER,
                   ifMtu
                       INTEGER,
                   ifSpeed
                       Gauge,
                   ifPhysAddress
                       OCTET STRING,
                   ifAdminStatus
                       INTEGER,
                   ifOperStatus
                       INTEGER,

                   ifLastChange
                       TimeTicks,
                   ifInOctets
                       Counter,
                   ifInUcastPkts
                       Counter,
                   ifInNUcastPkts
                       Counter,
                   ifInDiscards
                       Counter,
                   ifInErrors
                       Counter,
                   ifInUnknownProtos
                       Counter,
                   ifOutOctets
                       Counter,
                   ifOutUcastPkts
                       Counter,
                   ifOutNUcastPkts
                       Counter,
                   ifOutDiscards
                       Counter,
                   ifOutErrors
                       Counter,
                   ifOutQLen
                       Gauge,
                   ifSpecific
                       OBJECT IDENTIFIER
               }

               ifIndex OBJECT-TYPE
                       SYNTAX  INTEGER
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ifEntry 1 }

               ifDescr OBJECT-TYPE
                       SYNTAX  DisplayString (SIZE (0..255))
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ifEntry 2 }

               ifType OBJECT-TYPE
                       SYNTAX  INTEGER {
                                   other(1),             -- none of the
                                                         -- following
                                   regular1822(2),
                                   hdh1822(3),

                                   ddn-x25(4),
                                   rfc877-x25(5),
                                   ethernet-csmacd(6),
                                   iso88023-csmacd(7),
                                   iso88024-tokenBus(8),
                                   iso88025-tokenRing(9),
                                   iso88026-man(10),
                                   starLan(11),
                                   proteon-10Mbit(12),
                                   proteon-80Mbit(13),
                                   hyperchannel(14),
                                   fddi(15),
                                   lapb(16),
                                   sdlc(17),
                                   t1-carrier(18),
                                   cept(19),        -- european
                                                    --equivalent of T-1
                                   basicISDN(20),
                                   primaryISDN(21),
                                                         -- proprietary
                                                         -- serial
                                   propPointToPointSerial(22),
                                   terminalServer-asyncPort(23),
                                   softwareLoopback(24),
                                   eon(25),              -- CLNP over IP
                                   ethernet-3Mbit(26),
                                   nsip(27),             -- XNS over IP
                                   slip(28)              -- generic SLIP
                           }
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ifEntry 3 }

               ifMtu OBJECT-TYPE
                       SYNTAX  INTEGER
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ifEntry 4 }

               ifSpeed OBJECT-TYPE
                       SYNTAX  Gauge
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ifEntry 5 }

               ifPhysAddress OBJECT-TYPE
                       SYNTAX  OCTET STRING
                       ACCESS  read-only

                       STATUS  mandatory
                       ::= { ifEntry 6 }

               ifAdminStatus OBJECT-TYPE
                       SYNTAX  INTEGER {
                                   up(1),     -- ready to pass packets
                                   down(2),
                                   testing(3) -- in some test mode
                               }
                       ACCESS  read-write
                       STATUS  mandatory
                       ::= { ifEntry 7 }

               ifOperStatus OBJECT-TYPE
                       SYNTAX  INTEGER {
                                   up(1),     -- ready to pass packets
                                   down(2),
                                   testing(3) -- in some test mode
                               }
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ifEntry 8 }

               ifLastChange OBJECT-TYPE
                       SYNTAX  TimeTicks
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ifEntry 9 }

               ifInOctets OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ifEntry 10 }

               ifInUcastPkts OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { ifEntry 11 }

               ifInNUcastPkts OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ifEntry 12 }

               ifInDiscards OBJECT-TYPE

                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ifEntry 13 }

               ifInErrors OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ifEntry 14 }

               ifInUnknownProtos OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ifEntry 15 }

               ifOutOctets OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ifEntry 16 }

               ifOutUcastPkts OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ifEntry 17 }

               ifOutNUcastPkts OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ifEntry 18 }

               ifOutDiscards OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ifEntry 19 }

               ifOutErrors OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ifEntry 20 }

               ifOutQLen OBJECT-TYPE

                       SYNTAX  Gauge
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ifEntry 21 }

               ifSpecific OBJECT-TYPE
                       SYNTAX  OBJECT IDENTIFIER
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ifEntry 22 }

               nullSpecific OBJECT IDENTIFIER ::= { 0 0 }

               -- the Address Translation group (deprecated)

               atTable OBJECT-TYPE
                       SYNTAX  SEQUENCE OF AtEntry
                       ACCESS  read-write
                       STATUS  deprecated
                       ::= { at 1 }

               atEntry OBJECT-TYPE
                       SYNTAX  AtEntry
                       ACCESS  read-write
                       STATUS  deprecated
                       ::= { atTable 1 }

               AtEntry ::= SEQUENCE {
                   atIfIndex
                       INTEGER,
                   atPhysAddress
                       OCTET STRING,
                   atNetAddress
                       NetworkAddress
               }

               atIfIndex OBJECT-TYPE
                       SYNTAX  INTEGER
                       ACCESS  read-write
                       STATUS  deprecated
                       ::= { atEntry 1 }

               atPhysAddress OBJECT-TYPE
                       SYNTAX  OCTET STRING
                       ACCESS  read-write
                       STATUS  deprecated
                       ::= { atEntry 2 }

               atNetAddress OBJECT-TYPE
                       SYNTAX  NetworkAddress
                       ACCESS  read-write
                       STATUS  deprecated
                       ::= { atEntry 3 }

               -- the IP group

               ipForwarding OBJECT-TYPE
                       SYNTAX  INTEGER {
                                   gateway(1), -- entity forwards
                                               -- datagrams
                                   host(2)     -- entity does NOT
                                               -- forward datagrams
                               }
                       ACCESS  read-write
                       STATUS  mandatory
                       ::= { ip 1 }

               ipDefaultTTL OBJECT-TYPE
                       SYNTAX  INTEGER
                       ACCESS  read-write
                       STATUS  mandatory
                       ::= { ip 2 }

               ipInReceives OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ip 3 }

               ipInHdrErrors OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ip 4 }

               ipInAddrErrors OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ip 5 }

               ipForwDatagrams OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory

                       ::= { ip 6 }

               ipInUnknownProtos OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ip 7 }

               ipInDiscards OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ip 8 }

               ipInDelivers OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ip 9 }

               ipOutRequests OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ip 10 }

               ipOutDiscards OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ip 11 }

               ipOutNoRoutes OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ip 12 }

               ipReasmTimeout OBJECT-TYPE
                       SYNTAX  INTEGER
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ip 13 }

               ipReasmReqds OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory

                       ::= { ip 14 }

               ipReasmOKs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ip 15 }

               ipReasmFails OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ip 16 }

               ipFragOKs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ip 17 }

               ipFragFails OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ip 18 }

               ipFragCreates OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ip 19 }

               -- the IP Interface table

               ipAddrTable OBJECT-TYPE
                       SYNTAX  SEQUENCE OF IpAddrEntry
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ip 20 }

               ipAddrEntry OBJECT-TYPE
                       SYNTAX  IpAddrEntry
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ipAddrTable 1 }

               IpAddrEntry ::= SEQUENCE {
                   ipAdEntAddr

                       IpAddress,
                   ipAdEntIfIndex
                       INTEGER,
                   ipAdEntNetMask
                       IpAddress,
                   ipAdEntBcastAddr
                       INTEGER,
                   ipAdEntReasmMaxSize
                       INTEGER (0..65535)
               }

               ipAdEntAddr OBJECT-TYPE
                       SYNTAX  IpAddress
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { ipAddrEntry 1 }

               ipAdEntIfIndex OBJECT-TYPE
                       SYNTAX  INTEGER
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { ipAddrEntry 2 }

               ipAdEntNetMask OBJECT-TYPE
                       SYNTAX  IpAddress
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { ipAddrEntry 3 }

               ipAdEntBcastAddr OBJECT-TYPE
                       SYNTAX  INTEGER
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ipAddrEntry 4 }

               ipAdEntReasmMaxSiz OBJECT-TYPE
                       SYNTAX  INTEGER (0..65535)
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ipAddrEntry 5 }

               -- the IP Routing table

               ipRoutingTable OBJECT-TYPE
                       SYNTAX  SEQUENCE OF IpRouteEntry
                       ACCESS  read-write
                       STATUS  mandatory
                       ::= { ip 21 }

               ipRouteEntry OBJECT-TYPE
                       SYNTAX  IpRouteEntry
                       ACCESS  read-write
                       STATUS  mandatory
                       ::= { ipRoutingTable 1 }

               IpRouteEntry ::= SEQUENCE {
                   ipRouteDest
                       IpAddress,
                   ipRouteIfIndex
                       INTEGER,
                   ipRouteMetric1
                       INTEGER,
                   ipRouteMetric2
                       INTEGER,
                   ipRouteMetric3
                       INTEGER,
                   ipRouteMetric4
                       INTEGER,
                   ipRouteNextHop
                       IpAddress,
                   ipRouteType
                       INTEGER,
                   ipRouteProto
                       INTEGER,
                   ipRouteAge
                       INTEGER,
                   ipRouteMask
                       IpAddress
               }

               ipRouteDest OBJECT-TYPE
                       SYNTAX  IpAddress
                       ACCESS  read-write
                       STATUS  mandatory
                       ::= { ipRouteEntry 1 }

               ipRouteIfIndex  OBJECT-TYPE
                       SYNTAX  INTEGER
                       ACCESS  read-write
                       STATUS  mandatory
                       ::= { ipRouteEntry 2 }

               ipRouteMetric1 OBJECT-TYPE
                       SYNTAX  INTEGER
                       ACCESS  read-write
                       STATUS  mandatory
                       ::= { ipRouteEntry 3 }

               ipRouteMetric2 OBJECT-TYPE
                       SYNTAX  INTEGER
                       ACCESS  read-write
                       STATUS  mandatory
                       ::= { ipRouteEntry 4 }

               ipRouteMetric3 OBJECT-TYPE
                       SYNTAX  INTEGER
                       ACCESS  read-write
                       STATUS  mandatory
                       ::= { ipRouteEntry 5 }

               ipRouteMetric4 OBJECT-TYPE
                       SYNTAX  INTEGER
                       ACCESS  read-write
                       STATUS  mandatory
                       ::= { ipRouteEntry 6 }

               ipRouteNextHop OBJECT-TYPE
                       SYNTAX  IpAddress
                       ACCESS  read-write
                       STATUS  mandatory
                       ::= { ipRouteEntry 7 }

               ipRouteType OBJECT-TYPE
                       SYNTAX  INTEGER {
                                   other(1),    -- none of the following

                                   invalid(2),  -- an invalidated route

                                                -- route to directly
                                   direct(3),   -- connected
                                                -- (sub-)network

                                                -- route to a non-local
                                   remote(4)    -- host/network/
                                                -- sub-network
                           }
                       ACCESS  read-write
                       STATUS  mandatory
                       ::= { ipRouteEntry 8 }

               ipRouteProto OBJECT-TYPE
                       SYNTAX  INTEGER {
                                   other(1),    -- none of the following

                                                -- non-protocol
                                                -- information

                                                --   e.g., manually
                                   local(2),    --   configured entries

                                                -- set via a network
                                   netmgmt(3),  --   management protocol

                                                -- obtained via ICMP,
                                   icmp(4),     --   e.g., Redirect

                                                -- the following are
                                                -- gateway routing
                                                -- protocols
                                   egp(5),
                                   ggp(6),
                                   hello(7),
                                   rip(8),
                                   is-is(9),
                                   es-is(10),
                                   ciscoIgrp(11),
                                   bbnSpfIgp(12),
                                   ospf(13)
                                   bgp(14)
                           }
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { ipRouteEntry 9 }

               ipRouteAge OBJECT-TYPE
                       SYNTAX  INTEGER
                       ACCESS  read-write
                       STATUS  mandatory
                       ::= { ipRouteEntry 10 }

               ipRouteMask OBJECT-TYPE
                       SYNTAX  IpAddress
                       ACCESS  read-write
                       STATUS  mandatory
                       ::= { ipRouteEntry 11 }

               -- the IP Address Translation tables

               ipNetToMediaTable OBJECT-TYPE
                       SYNTAX  SEQUENCE OF IpNetToMediaEntry
                       ACCESS  read-write
                       STATUS  mandatory
                       ::= { ip 22 }

               ipNetToMediaEntry OBJECT-TYPE

                       SYNTAX  IpNetToMediaEntry
                       ACCESS  read-write
                       STATUS  mandatory
                       ::= { ipNetToMediaTable 1 }

               IpNetToMediaEntry ::= SEQUENCE {
                   ipNetToMediaIfIndex
                       INTEGER,
                   ipNetToMediaPhysAddress
                       OCTET STRING,
                   ipNetToMediaNetAddress
                       IpAddress,
                   ipNetoToMediaType
                       INTEGER
               }

               ipNetToMediaIfIndex OBJECT-TYPE
                       SYNTAX  INTEGER
                       ACCESS  read-write
                       STATUS  mandatory
                       ::= { ipNetToMediaEntry 1 }

               ipNetToMediaPhysAddress OBJECT-TYPE
                       SYNTAX  OCTET STRING
                       ACCESS  read-write
                       STATUS  mandatory
                       ::= { ipNetToMediaEntry 2 }

               ipNetToMediaNetAddress OBJECT-TYPE
                       SYNTAX  IpAddress
                       ACCESS  read-write
                       STATUS  mandatory
                       ::= { ipNetToMediaEntry 3 }

               ipNetToMediaType OBJECT-TYPE
                       SYNTAX  INTEGER {
                                   other(1),   -- none of the following

                                   invalid(2), -- an invalidated mapping
                                   dynamic(3), -- connected (sub-)network

                                   static(4)
                           }
                       ACCESS  read-write
                       STATUS  mandatory
                       ::= { ipNetToMediaEntry 4 }

               -- the ICMP group

               icmpInMsgs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { icmp 1 }

               icmpInErrors OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { icmp 2 }

               icmpInDestUnreachs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { icmp 3 }

               icmpInTimeExcds OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { icmp 4 }

               icmpInParmProbs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { icmp 5 }

               icmpInSrcQuenchs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { icmp 6 }

               icmpInRedirects OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { icmp 7 }

               icmpInEchos OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory

                       ::= { icmp 8 }

               icmpInEchoReps OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { icmp 9 }

               icmpInTimestamps OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { icmp 10 }

               icmpInTimestampReps OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { icmp 11 }

               icmpInAddrMasks OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { icmp 12 }

               icmpInAddrMaskReps OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { icmp 13 }

               icmpOutMsgs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { icmp 14 }

               icmpOutErrors OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { icmp 15 }

               icmpOutDestUnreachs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory

                       ::= { icmp 16 }

               icmpOutTimeExcds OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { icmp 17 }

               icmpOutParmProbs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { icmp 18 }

               icmpOutSrcQuenchs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { icmp 19 }

               icmpOutRedirects OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { icmp 20 }

               icmpOutEchos OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { icmp 21 }

               icmpOutEchoReps OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { icmp 22 }

               icmpOutTimestamps OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { icmp 23 }

               icmpOutTimestampReps OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory

                       ::= { icmp 24 }

               icmpOutAddrMasks OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { icmp 25 }

               icmpOutAddrMaskReps OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { icmp 26 }

               -- the TCP group

               tcpRtoAlgorithm OBJECT-TYPE
                       SYNTAX  INTEGER {
                                   other(1),    -- none of the following
                                   constant(2), -- a constant rto
                                   rsre(3),     -- MIL-STD-1778,
                                                -- Appendix B
                                   vanj(4)      -- Van Jacobson's
                                                -- algorithm
                               }
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { tcp 1 }

               tcpRtoMin OBJECT-TYPE
                       SYNTAX  INTEGER
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { tcp 2 }

               tcpRtoMax OBJECT-TYPE
                       SYNTAX  INTEGER
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { tcp 3 }

               tcpMaxConn OBJECT-TYPE
                       SYNTAX  INTEGER
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { tcp 4 }

               tcpActiveOpens OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { tcp 5 }

               tcpPassiveOpens OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { tcp 6 }

               tcpAttemptFails OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { tcp 7 }

               tcpEstabResets OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { tcp 8 }

               tcpCurrEstab OBJECT-TYPE
                       SYNTAX  Gauge
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { tcp 9 }

               tcpInSegs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { tcp 10 }

               tcpOutSegs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { tcp 11 }

               tcpRetransSegs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { tcp 12 }

               -- the TCP connections table

               tcpConnTable OBJECT-TYPE
                       SYNTAX  SEQUENCE OF TcpConnEntry
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { tcp 13 }

               tcpConnEntry OBJECT-TYPE
                       SYNTAX  TcpConnEntry
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { tcpConnTable 1 }

               TcpConnEntry ::= SEQUENCE {
                   tcpConnState
                       INTEGER,
                   tcpConnLocalAddress
                       IpAddress,
                   tcpConnLocalPort
                       INTEGER (0..65535),
                   tcpConnRemAddress
                       IpAddress,
                   tcpConnRemPort
                       INTEGER (0..65535)
               }

               tcpConnState OBJECT-TYPE
                       SYNTAX  INTEGER {
                                   closed(1),
                                   listen(2),
                                   synSent(3),
                                   synReceived(4),
                                   established(5),
                                   finWait1(6),
                                   finWait2(7),
                                   closeWait(8),
                                   lastAck(9),
                                   closing(10),
                                   timeWait(11)
                               }
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { tcpConnEntry 1 }

               tcpConnLocalAddress OBJECT-TYPE
                       SYNTAX  IpAddress
                       ACCESS  read-only

                       STATUS  mandatory
                       ::= { tcpConnEntry 2 }

               tcpConnLocalPort OBJECT-TYPE
                       SYNTAX  INTEGER (0..65535)
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { tcpConnEntry 3 }

               tcpConnRemAddress OBJECT-TYPE
                       SYNTAX  IpAddress
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { tcpConnEntry 4 }

               tcpConnRemPort OBJECT-TYPE
                       SYNTAX  INTEGER (0..65535)
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { tcpConnEntry 5 }

               -- additional TCP variables

               tcpInErrs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { tcp 14 }

               tcpOutRsts OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { tcp 15 }

               -- the UDP group

               udpInDatagrams OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { udp 1 }

               udpNoPorts OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory

                       ::= { udp 2 }

               udpInErrors OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { udp 3 }

               udpOutDatagrams OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { udp 4 }

               -- the UDP listener table

               udpTable OBJECT-TYPE
                       SYNTAX  SEQUENCE OF UdpEntry
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { udp 5 }

               udpEntry OBJECT-TYPE
                       SYNTAX  UdpEntry
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { udpTable 1 }

               UdpEntry ::= SEQUENCE {
                   udpLocalAddress
                       IpAddress,
                   udpLocalPort
                       INTEGER (0..65535)
               }

               udpLocalAddress OBJECT-TYPE
                       SYNTAX  IpAddress
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { udpEntry 1 }

               udpLocalPort OBJECT-TYPE
                       SYNTAX  INTEGER (0..65535)
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { udpEntry 2 }

               -- the EGP group

               egpInMsgs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { egp 1 }

               egpInErrors OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { egp 2 }

               egpOutMsgs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { egp 3 }

               egpOutErrors OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { egp 4 }

               -- the EGP Neighbor table

               egpNeighTable OBJECT-TYPE
                       SYNTAX  SEQUENCE OF EgpNeighEntry
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { egp 5 }

               egpNeighEntry OBJECT-TYPE
                       SYNTAX  EgpNeighEntry
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { egpNeighTable 1 }

               EgpNeighEntry ::= SEQUENCE {
                   egpNeighState
                       INTEGER,
                   egpNeighAddr
                       IpAddress,
                   egpNeighAs
                       INTEGER,
                   egpNeighInMsgs

                       Counter,
                   egpNeighInErrs
                       Counter,
                   egpNeighOutMsgs
                       Counter,
                   egpNeighOutErrs
                       Counter,
                   egpNeighInErrMsgs
                       Counter,
                   egpNeighOutErrMsgs
                       Counter,
                   egpNeighStateUps
                       Counter,
                   egpNeighStateDowns
                       Counter,
                   egpNeighIntervalHello
                       INTEGER,
                   egpNeighIntervalPoll
                       INTEGER,
                   egpNeighMode
                       INTEGER,
                   egpNeighEventTrigger
                       INTEGER
               }

               egpNeighState OBJECT-TYPE
                       SYNTAX  INTEGER {
                                   idle(1),
                                   acquisition(2),
                                   down(3),
                                   up(4),
                                   cease(5)
                               }
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { egpNeighEntry 1 }

               egpNeighAddr OBJECT-TYPE
                       SYNTAX  IpAddress
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { egpNeighEntry 2 }

               egpNeighAs OBJECT-TYPE
                       SYNTAX  INTEGER
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { egpNeighEntry 3 }

               egpNeighInMsgs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { egpNeighEntry 4 }

               egpNeighInErrs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { egpNeighEntry 5 }

               egpNeighOutMsgs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { egpNeighEntry 6 }

               egpNeighOutErrs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { egpNeighEntry 7 }

               egpNeighInErrMsgs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { egpNeighEntry 8 }

               egpNeighOutErrMsgs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { egpNeighEntry 9 }

               egpNeighStateUps OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { egpNeighEntry 10 }

               egpNeighStateDowns OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { egpNeighEntry 11 }

               egpNeighIntervalHello OBJECT-TYPE
                       SYNTAX  INTEGER
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { egpNeighEntry 12 }

               egpNeighIntervalPoll OBJECT-TYPE
                       SYNTAX  INTEGER
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { egpNeighEntry 13 }

               egpNeighMode OBJECT-TYPE
                       SYNTAX  INTEGER {
                                   active(1),
                                   passive(2)
                               }
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { egpNeighEntry 14 }

               egpNeighEventTrigger OBJECT-TYPE
                       SYNTAX  INTEGER {
                                   start(1),
                                   stop(2)
                               }
                       ACCESS  read-write
                       STATUS  mandatory
                       ::= { egpNeighEntry 15 }

               -- additional EGP variables

               egpAs OBJECT-TYPE
                       SYNTAX  INTEGER
                       ACCESS  read-only
                       STATUS  mandatory
                       ::= { egp 6 }

               -- the Transmission group (empty at present)

               -- the SNMP group

               snmpInPkts OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 1 }

               snmpOutPkts OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 2 }

               snmpInBadVersions OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 3 }

               snmpInBadCommunityNames OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 4 }

               snmpInBadCommunityUses OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 5 }

               snmpInASNParseErrs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 6 }

               snmpInBadTypes OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 7 }

               snmpInTooBigs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 8 }

               snmpInNoSuchNames OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 9 }

               snmpInBadValues OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 10 }

               snmpInReadOnlys OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 11 }

               snmpInGenErrs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 12 }

               snmpInTotalReqVars OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 13 }

               snmpInTotalSetVars OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 14 }

               snmpInGetRequests OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 15 }

               snmpInGetNexts OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 16 }

               snmpInSetRequests OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 17 }

               snmpInGetResponses OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 18 }

               snmpInTraps OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 19 }

               snmpOutTooBigs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 20 }

               snmpOutNoSuchNames OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 21 }

               snmpOutBadValues OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 22 }

               snmpOutReadOnlys OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 23 }

               snmpOutGenErrs OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 24 }

               snmpOutGetRequests OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 25 }

               snmpOutGetNexts OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 26 }

               snmpOutSetRequests OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 27 }

               snmpOutGetResponses OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 28 }

               snmpOutTraps OBJECT-TYPE
                       SYNTAX  Counter
                       ACCESS  read-only
                       STATUS  mandatory
                       ::=  { snmp 29 }

               snmpEnableAuthTraps OBJECT-TYPE
                       SYNTAX  INTEGER {
                                   enabled(1),
                                   disabled(2)
                               }
                       ACCESS  read-write
                       STATUS  mandatory
                       ::=  { snmp 30 }

               END

7.  Identification of OBJECT instances for use with the SNMP

   The names for all object types in the MIB are defined explicitly
   either in the Internet-standard MIB or in other documents which
   conform to the naming conventions of the SMI.  The SMI requires that
   conformant management protocols define mechanisms for identifying
   individual instances of those object types for a particular network
   element.

   Each instance of any object type defined in the MIB is identified in
   SNMP operations by a unique name called its "variable name." In
   general, the name of an SNMP variable is an OBJECT IDENTIFIER of the
   form x.y, where x is the name of a non-aggregate object type defined

   in the MIB and y is an OBJECT IDENTIFIER fragment that, in a way
   specific to the named object type, identifies the desired instance.

   This naming strategy admits the fullest exploitation of the semantics
   of the powerful SNMP get-next operator, because it assigns names for
   related variables so as to be contiguous in the lexicographical
   ordering of all variable names known in the MIB.

   The type-specific naming of object instances is defined below for a
   number of classes of object types.  Instances of an object type to
   which none of the following naming conventions are applicable are
   named by OBJECT IDENTIFIERs of the form x.0, where x is the name of
   said object type in the MIB definition.

   For example, suppose one wanted to identify an instance of the
   variable sysDescr.  The object class for sysDescr is:

             iso org dod internet mgmt mib system sysDescr
              1   3   6     1      2    1    1       1

   Hence, the object type, x, would be 1.3.6.1.2.1.1.1 to which is
   appended an instance sub-identifier of 0.  That is, 1.3.6.1.2.1.1.1.0
   identifies the one and only instance of sysDescr.

7.1.  ifTable Object Type Names

   The name of a subnetwork interface, s, is the OBJECT IDENTIFIER value
   of the form i, where i has the value of that instance of the ifIndex
   object type associated with s.  For each object type, t, for which
   the defined name, n, has a prefix of ifEntry, an instance, i, of t is
   named by an OBJECT IDENTIFIER of the form n.s, where s is the name of
   the subnetwork interface about which i represents information.

   For example, suppose one wanted to identify the instance of the
   variable ifType associated with interface 2. Accordingly, ifType.2
   would identify the desired instance.

7.2.  atTable Object Type Names

   The name of an address translation entry, x, is an OBJECT IDENTIFIER
   of the form s.1.a.b.c.d, such that s is the value of that instance of
   the atIfIndex object type associated with x, the subidentifer "1"
   signifies the translation of an IP protocol address, and a.b.c.d is
   the IP address value (in the familiar "dot" notation) of that
   instance of the atNetAddress object type associated with x.

   For each object type, t, for which the defined name, n, has a prefix
   of atEntry, an instance, i, of t is named by an OBJECT IDENTIFIER of

   the form n.y, where y is the name of the address translation entry
   about which i represents information.

   For example, suppose one wanted to find the physical address of an
   entry in the address translation table (ARP cache) associated with an
   IP address of 89.1.1.42 and interface 3.  Accordingly,
   atPhysAddress.3.1.89.1.1.42 would identify the desired instance.

7.3.  ipAddrTable Object Type Names

   The name of an IP-addressable network element, x, is the OBJECT
   IDENTIFIER of the form a.b.c.d such that a.b.c.d is the value (in the
   familiar "dot" notation) of that instance of the ipAdEntAddr object
   type associated with x.

   For each object type, t, for which the defined name, n, has a prefix
   of ipAddrEntry, an instance, i, of t is named by an OBJECT IDENTIFIER
   of the form n.y, where y is the name of the IP- addressable network
   element about which i represents information.

   For example, suppose one wanted to find the network mask of an entry
   in the IP interface table associated with an IP address of 89.1.1.42.
   Accordingly, ipAdEntNetMask.89.1.1.42 would identify the desired
   instance.

   At the option of the agent, multiple entries for the same IP address
   may be visible.  To realize this, the agent, while required to return
   a single entry for an IP address, x, of the form n.y, may also return
   information about other entries for the same IP address using the
   form n.y.z, where z is a implementation-dependendent small, non-
   negative integer.  It is strongly recommended that the value of z
   correspond to the value of ipAddrIfIndex for that entry.

7.4.  ipRoutingTable Object Type Names

   The name of an IP route, x, is the OBJECT IDENTIFIER of the form
   a.b.c.d such that a.b.c.d is the value (in the familiar "dot"
   notation) of that instance of the ipRouteDest object type associated
   with x.

   For each object type, t, for which the defined name, n, has a prefix
   of ipRoutingEntry, an instance, i, of t is named by an OBJECT
   IDENTIFIER of the form n.y, where y is the name of the IP route about
   which i represents information.

   For example, suppose one wanted to find the next hop of an entry in
   the IP routing table associated  with the destination of 89.1.1.42.
   Accordingly, ipRouteNextHop.89.1.1.42 would identify the desired

   instance.

   At the option of the agent, multiple routes to the same destination
   may be visible.  To realize this, the agent, while required to return
   a single entry for an IP route, x, of the form n.y, may also return
   information about other routes to the same destination using the form
   n.y.z, where z is a implementation-dependendent small, non-negative
   integer.

7.5.  ipNetToMediaTable Object Type Names

   The name of a cached IP address, x, is an OBJECT IDENTIFIER of the
   form s.a.b.c.d, such that s is the value of that instance of the
   ipNetToMediaIfIndex object type associated with the entry and a.b.c.d
   is the value (in the familiar "dot" notation) of the
   ipNetToMediaNetAddress object type associated with x.

   For each object type, t, for which the defined name, n, has a prefix
   of ipNetToMediaEntry, an instance, i, of t is named by an OBJECT
   IDENTIFIER of the form n.y, where y is the name of the cached IP
   address about which i represents information.

   For example, suppose one wanted to find the media address of an entry
   in the address translation table associated with a IP address of
   192.52.180.1 and interface 3.  Accordingly,
   ipNetToMediaPhysAddress.3.192.52.180.1 would identify the desired
   instance.

7.6.  tcpConnTable Object Type Names

   The name of a TCP connection, x, is the OBJECT IDENTIFIER of the form
   a.b.c.d.e.f.g.h.i.j such that a.b.c.d is the value (in the familiar
   "dot" notation) of that instance of the tcpConnLocalAddress object
   type associated with x and such that f.g.h.i is the value (in the
   familiar "dot" notation) of that instance of the tcpConnRemoteAddress
   object type associated with x and such that e is the value of that
   instance of the tcpConnLocalPort object type associated with x and
   such that j is the value of that instance of the tcpConnRemotePort
   object type associated with x.

   For each object type, t, for which the defined name, n, has a prefix
   of  tcpConnEntry, an instance, i, of t is named by an OBJECT
   IDENTIFIER of the form n.y, where y is the name of the TCP connection
   about which i represents information.

   For example, suppose one wanted to find the state of a TCP connection
   between the local address of 89.1.1.42 on TCP port 21 and the remote
   address of 10.0.0.51 on TCP port 2059.  Accordingly,

   tcpConnState.89.1.1.42.21.10.0.0.51.2059 would identify the desired
   instance.

7.7.  udpTable Object Type Names

   The name of a UDP listener, x, is the OBJECT IDENTIFIER of the form
   a.b.c.d.e. such that a.b.c.d is the value (in the familiar "dot"
   notation) of that instance of the udpLocalAddress object type
   associated with x and such that e is the value of that instance of
   the udpLocalPort object type associated with x.

   For each object type, t, for which the defined name, n, has a prefix
   of udpEntry, an instance, i, of t is named by an OBJECT IDENTIFIER of
   the form n.y, where y is the name of the UDP listener about which i
   represents information.

   For example, suppose one wanted to determine if a UDP listener was
   present at the local address of 89.1.1.42 on UDP port 21.
   Accordingly, a successful retrieval of either
   udpLocalAddress.89.1.1.42.21 or udpLocalPort.89.1.1.42.21 would
   indicate this.

7.8.  egpNeighTable Object Type Names

   The name of an EGP neighbor, x, is the OBJECT IDENTIFIER of the form
   a.b.c.d such that a.b.c.d is the value (in the familiar "dot"
   notation) of that instance of the egpNeighAddr object type associated
   with x.

   For each object type, t, for which the defined name, n, has a prefix
   of egpNeighEntry, an instance, i, of t is named by an OBJECT
   IDENTIFIER of the form n.y, where y is the name of the EGP neighbor
   about which i represents information.

   For example, suppose one wanted to find the neighbor state for the IP
   address of 89.1.1.42.  Accordingly, egpNeighState.89.1.1.42 would
   identify the desired instance.

8.  Acknowledgements

   This document was produced by the SNMP Working Group:

               Karl Auerbach, Epilogue Technology
               David Bridgham, Epilogue Technology
               Brian Brown, Synoptics
               John Burress, Wellfleet
               Jeffrey D. Case, University of Tennessee at Knoxville
               James R. Davin, MIT-LCS

               Mark S. Fedor, PSI, Inc.
               Stan Froyd, ACC
               Satish Joshi, Synoptics
               Ken Key, University of Tennessee at Knoxville
               Gary Malkin, Proteon
               Randy Mayhew, University of Tennessee at Knoxville
               Keith McCloghrie, Hughes LAN Systems
               Marshall T. Rose, PSI, Inc. (chair)
               Greg Satz, cisco
               Martin Lee Schoffstall, PSI, Inc.
               Bob Stewart, Xyplex
               Geoff Thompson, Synoptics
               Bill Versteeg, Network Research Corporation
               Wengyik Yeong, PSI, Inc.

   In addition, the comments of the following individuals are also
   acknolwedged:

               Craig A. Finseth, Minnesota Supercomputer Center, Inc.
               Jeffrey C. Honig, Cornell University Theory Center
               Philip R. Karn, Bellcore
               David Waitzman, BBN

9.  References

   [1] Cerf, V., "IAB Recommendations for the Development of Internet
       Network Management Standards", RFC 1052, IAB, April 1988.

   [2] Rose, M., and K. McCloghrie, "Structure and Identification of
       Management Information for TCP/IP-based internets", RFC 1065,
       TWG, August 1988.

   [3] McCloghrie K., and M. Rose,"Management Information Base for
       Network Management of TCP/IP-based internets", RFC 1066, TWG,
       August 1988.

   [4] Cerf, V., "Report of the Second Ad Hoc Network Management Review
       Group", RFC 1109, IAB, August 1989.

   [5] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "A Simple
       Network Management Protocol (SNMP)", RFC 1098, University of
       Tennessee at Knoxville, NYSERNet, Inc., Rensselaer Polytechnic
       Institute, MIT Laboratory for Computer Science, April 1989.

   [6] Warrier, U., and L. Besaw, "Common Management Information
       Services and Protocol over TCP/IP (CMOT)", RFC 1095, Unisys
       Corporation, Hewlett-Packard, April 1989.

   [7] Postel, J., "Telnet Protocol Specification", RFC 854,
       USC/Information Sciences Institute, May 1983.

   [8] Satz, G., "Experimental MIB Objects for the CLNP", Internet
       Working Group Request for Comments draft.  Network Information
       Center, SRI International, Menlo Park, California, (in
       preparation).

   [9] Information processing systems - Open Systems Interconnection,
       "Specification of Abstract Syntax Notation One (ASN.1)",
       International Organization for Standardization, International
       Standard 8824, December 1987.

  [10] Information processing systems - Open Systems Interconnection,
       "Specification of Basic Encoding Rules for Abstract Notation One
       (ASN.1)", International Organization for Standardization.
       International Standard 8825, December 1987.

  [11] Jacobson, V., "Congestion Avoidance and Control", SIGCOMM 1988,
       Stanford, California.

  [12] Hagens, R., Hall, N., and M. Rose, "Use of the Internet as a
       subnetwork for experimentation with the OSI network layer",
       February, 1989.

  [13] Rose, M., and K. McCloghrie, "Structure and Identification of
       Management Information for TCP/IP-based Internets", RFC 1155,
       Performance Systems International and Hughes LAN Systems, May
       1990.

  [14] Case, J., Fedor, M.,  Schoffstall, M., and J. Davin, The Simple
       Network Management Protocol", RFC 1157, University of Tennessee
       at Knoxville, Performance Systems International, Performance
       Systems International, and the MIT Laboratory for Computer
       Science, May 1990.

10.  Security Considerations

   Security issues are not discussed in this memo.

11.  Author's Address:

   Marshall T. Rose
   PSI, Inc.
   PSI California Office
   P.O. Box 391776
   Mountain View, CA 94039

   Phone: (415) 961-3380

   Email: mrose@PSI.COM

 

User Contributions:

Comment about this RFC, ask questions, or add new information about this topic:

CAPTCHA