--Ericsson DOC:NO 1559-CXA10967 Uen Rev R1A01

          GESBP2A04-MIB DEFINITIONS ::= BEGIN

          IMPORTS
            MODULE-IDENTITY, experimental, enterprises, OBJECT-TYPE
                       FROM SNMPv2-SMI      
	   Counter
                      FROM RFC1155-SMI;
--                 OBJECT-TYPE
--                          FROM RFC-1212;
--                TestAndIncr
--                        FROM SNMPv2-TC
--                  snmpModules, 
--                        FROM SNMPv2-SMI;
--  RowStatus is used for monitoring what access level a row in a table
--  with createble rows has from the manager's point of view. (The agent 
--  always has full access to own data). Here only fixed tables are used.
--  RowStatus			             FROM SNMPv2-TC

gESBMIB MODULE-IDENTITY
    LAST-UPDATED "011129000000Z"
    ORGANIZATION "Ericsson UAB"
    CONTACT-INFO
             "Per Holmgren
              Ericsson Utvecklings AB.
	          Gtalandsvgen 230
	          12525 lvsj
	          Sweden
	          Phone: +46 (0)8 727 1469
              E-Mail: per.holmgren@uab.ericsson.se"
    DESCRIPTION
            "The GESB-MIB module for implementation in a GESB switch.
             This module includes objects for managing the GESB 
             ethernet switch. Standard objects for this are mainly used, but 
             some proprietary switch managment objects are also included."
        ::={enterprises 193 85 2}


    ericsson    OBJECT IDENTIFIER ::= { enterprises 193 }
    ericsson-rp OBJECT IDENTIFIER ::= { ericsson 85 } 
    rPMIB       OBJECT IDENTIFIER ::= { ericsson-rp 1} 
    rPOS        OBJECT IDENTIFIER ::= { rPMIB 6}



reLoadBoard OBJECT-TYPE
       SYNTAX INTEGER(0..1)
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION"Writing a 1 to this object will cause the board on which
                   this SNMP agent resides on to initiate a re-load. It is 
                   recommended that extra precaution is made to make sure
                   that all necessary load-files are inluded in the new
                   load sequence, especially RIEXR (OS), INET (TCP/IP stack), 
                   IPLOADR and SNMP-agent should be re-loaded."
       ::= {rPOS 3}

--switchIfState-objects are designed to fit the Ericsson switches (SCB and GESB),
--and which do not fit in any standard MIB.


switchIfTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF InterfaceEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The conceptual (not real) table listing the proprietary objects
             for managing the switches"
        ::={rPMIB 8}

switchIfEntry OBJECT-TYPE
        SYNTAX      SwitchIfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
             "A conceptual (not real row) entry in the switchIfTable. 
	     The table is indexed by the port number plus 1. 
	     EXAMPLE: slot #4 -> port #5. 
	     The front ports are numbered 27-29:
             27 = 10/100 port
	     28 = 10/100 test port
	     29 = gigabit port"
        INDEX       { ifNumber }
        ::={switchIfTable 1}
        
SwitchIfEntry ::= SEQUENCE{ifNumber     INTEGER (1..29),
                     linkState           INTEGER {down(0), up(1)}, 
                     linkSpeed           INTEGER {other(0), tenMbps(1), hundredMbps(2), onegigaMbps(3)},
                     duplexMode          INTEGER {half(0), full(1)},
		     flowControl         INTEGER {disabled(0), enabled(1)},
		     negotiateLink       INTEGER (0..9),
		     hOLBPreventionState INTEGER{disabled(0), enabled(1)},
		     mirrorToPort        INTEGER}

ifNumber OBJECT-TYPE
        SYNTAX      INTEGER(1..29) --Does not like an index 0 in compilation
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Port number is valid for value 1-29, see interfaceEntry for more information"
	 ::={switchIfEntry 1}

linkState OBJECT-TYPE
       SYNTAX INTEGER {down(0),
                         up(1)}
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION"This object shows if the switch port is up(1) or down(0)."
       ::= {switchIfEntry 2}

linkSpeed OBJECT-TYPE
       SYNTAX INTEGER {other(0),
                     tenMbps(1),
                 hundredMbps(2),
                 onegigaMbps(3)}
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION"This objects shows what speed the switch port is running in. 
            0 = other mode/fault
            1 = 10Mbps mode 
            2 = 100Mbps mode
            3 = 1Gbps mode             
            If a link negotiation should be done then write a value to the 
            negotiateLink object"           
       ::= {switchIfEntry 3}

duplexMode OBJECT-TYPE
       SYNTAX INTEGER {half(0),
                       full(1)}
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION"This object tells if the switch port is in simplex or duplex 
            mode.
            1 = Half duplex
            0 = Full duplex"
       ::= {switchIfEntry 4}

flowControl OBJECT-TYPE
       SYNTAX INTEGER {disabled(0),
                        enabled(1)}
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION"This object shows if the switch port currently uses flow control.
            0 = flow control disabled
            1 = flow control enabled"
       ::= {switchIfEntry 5}

negotiateLink OBJECT-TYPE
       SYNTAX INTEGER (0..9)
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION"Writing this object will negotiate this port's link to your 
            own preferences when it comes to speed, duplex and flow 
            control mode. It is also possibe to negotiate the link in 
            a normal way, which means that the link is negotiated
            to work as fast as possible. It is not possible to use
            flow control in a half-duplex mode.
            Below the categories are diveded into:
            Speed(Mbps)/duplex-mode(Half-Full)/flow control(ON-OFF)
            
	    0 = renegotiate the link as best as possible.
            1 = renegotiate the link. 10/Half/OFF
            2 = renegotiate the link. 10/Full/OFF
            3 = renegotiate the link. 10/Full/ON
            4 = renegotiate the link. 100/Half/OFF
            5 = renegotiate the link. 100/Full/OFF
            6 = renegotiate the link. 100/Full/ON
            7 = renegotiate the link. 1000/Half/OFF
            8 = renegotiate the link. 1000/Full/OFF
            9 = renegotiate the link. 1000/Full/ON"
        ::= {switchIfEntry 6}

hOLBPreventionState OBJECT-TYPE
        SYNTAX INTEGER{disabled(0),
                        enabled(1)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION"This object shows if Head-of-Line-Blocking Prevention is enabled/disabled 
            for a particular switch port. Head-of-Line-Blocking means that a slow port
            slows down faster ports during heavy multicast/broadcast traffic.
            0 = Head-of-Line-Blocking Prevention disabled
            1 = Head-of-Line-Blocking Prevention enabled"
        ::= {switchIfEntry 8}

mirrorToPort OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION"This object shows to which switch port the traffic is mirrored. 
            This is shown in a bit format.
            Example:
                    0000 0000 0000 0000 0000 0000 0010 0000
            means that the traffic from this port is mirrored to switch port 
	    #5.
            Optimally only one port should be mirrored to another port a time,
            but it is possible (but not recommended) to mirror several
            ports to one. If several ports are mirrored then there
            is no guarantee that the frames will be in a time line
            order between the mirrored switch ports.
            0 is the normal value of this object during normal operation of 
	    all ports."
        ::= {switchIfEntry 9}



      --Below are the object that for the GESB are defined as experimental
      --so far. Som of them are placed under a legitimate OID already.

       etherSwitchMIB OBJECT IDENTIFIER ::= { experimental 1 }


       etherSwitchMIBObjects OBJECT IDENTIFIER ::= { etherSwitchMIB 1 }

       switchRegisterResetMode OBJECT-TYPE
           SYNTAX     INTEGER
           MAX-ACCESS     read-write
           STATUS     current
	   DESCRIPTION "The value of this object shows if counters
                       should auto reset to zero or not on a counter read.
                       1 = Enable reset
                       0 = Disable reset"
	   ::= {etherSwitchMIBObjects 1}

       switchTable OBJECT-TYPE
	   SYNTAX     SEQUENCE OF SwitchEntry
	   MAX-ACCESS     not-accessible
	   STATUS     current
	   DESCRIPTION "This table contains information on ethernet ports on
	                an ethernet switch"
	   ::= {etherSwitchMIBObjects 2}

       switchEntry OBJECT-TYPE
           SYNTAX     SwitchEntry
           MAX-ACCESS     not-accessible
           STATUS     current
           DESCRIPTION "Switch settings for a particular phy. ethernet
	                port."
           INDEX       { switchTableIndex }
           ::= {switchTable 1 }

       SwitchEntry ::=
           SEQUENCE {
               switchTableIndex                    INTEGER,
               ifNegotiationCapability             INTEGER,
               ifNextPageCapability                INTEGER,
               ifLinkStatus        		   INTEGER,
               ifPauseFrameReceive                 INTEGER,
               ifPauseFrameTransmit                INTEGER,
               ifMasterOrSlave                     INTEGER,
               ifDuplexMode                        INTEGER,
               ifInteruptMode                      INTEGER,
               ifSwitchSpeed                       INTEGER,
               ifTransmitMode                      INTEGER,
               ifReceiveMode                       INTEGER,
               ifQuality                           INTEGER }

       switchTableIndex OBJECT-TYPE
           SYNTAX      INTEGER
           MAX-ACCESS      read-only
           STATUS      current
           DESCRIPTION "An index value that uniquely identifies an
                       interface on a switch."
	   ::= { switchEntry 1 }

       ifNegotiationCapability OBJECT-TYPE
           SYNTAX      INTEGER
           MAX-ACCESS      read-only
           STATUS      current
           DESCRIPTION "Is 1 when the link partner is 
	                known to have auto-negotiation capability. Before 
                        any auto-negotiation information is exchanged, 
			or if the link partner doesn't comply with IEEE 
                        auto-negotiation, otherwise 0."
	   ::= { switchEntry 2 }
       
       ifNextPageCapability OBJECT-TYPE
           SYNTAX      INTEGER
           MAX-ACCESS      read-only
           STATUS      current
           DESCRIPTION "Is 1 when the link partner needs to transmit Next Page
                        information, otherwise 0"
	   ::= { switchEntry 3 }
       
       ifLinkStatus OBJECT-TYPE
           SYNTAX      INTEGER
           MAX-ACCESS      read-only
           STATUS      current
           DESCRIPTION "Is 1 when the link status is good, otherwise 0"
	   ::= { switchEntry 4 }       

       ifPauseFrameReceive OBJECT-TYPE
           SYNTAX      INTEGER
           MAX-ACCESS      read-only
           STATUS      current
           DESCRIPTION "1 = Enable pause receive
                        0 = Disable pause receive"
	   ::= { switchEntry 5 }
       
       ifPauseFrameTransmit OBJECT-TYPE
           SYNTAX      INTEGER
           MAX-ACCESS      read-only
           STATUS      current
           DESCRIPTION "1 = Enable pause transmit
                        0 = Disable pause transmit"
	   ::= { switchEntry 6 }
       
       ifMasterOrSlave OBJECT-TYPE
           SYNTAX      INTEGER
           MAX-ACCESS      read-only
           STATUS      current
           DESCRIPTION "1 = Master
                        0 = Slave"
	   ::= { switchEntry 7 }

       ifDuplexMode   OBJECT-TYPE
           SYNTAX      INTEGER
           MAX-ACCESS      read-only
           STATUS      current
           DESCRIPTION "1 = Half duplex
	                0 = Full duplex"
	   ::= { switchEntry 8 }

       ifInteruptMode OBJECT-TYPE
           SYNTAX      INTEGER
           MAX-ACCESS      read-only
           STATUS      current
           DESCRIPTION "1 = Not interrupt mode
	                0 = Interrupt mode"
	   ::= { switchEntry 9 }

       ifSwitchSpeed OBJECT-TYPE
           SYNTAX      INTEGER
           MAX-ACCESS      read-only
           STATUS      current
           DESCRIPTION "3 = Gigabit mode
                        2 = 100Mbps mode
                        1 = 10Mbps mode
                        0 = Other mode/fault"
	   ::= { switchEntry 10 }

       ifTransmitMode OBJECT-TYPE
           SYNTAX      INTEGER
           MAX-ACCESS      read-only
           STATUS      current
           DESCRIPTION "1 = Not transmitting
                        0 = Transmitting"
	   ::= { switchEntry 11 }

       ifReceiveMode OBJECT-TYPE
           SYNTAX      INTEGER
           MAX-ACCESS      read-only
           STATUS      current
           DESCRIPTION "1 = Not receiving
                        0 = Receiving"
	   ::= { switchEntry 12 }

       ifQuality OBJECT-TYPE
           SYNTAX      INTEGER
           MAX-ACCESS      read-only
           STATUS       current
           DESCRIPTION "0 = Not quality
                        1 = Good quality"
	   ::= { switchEntry 13 }

END


--RFC1213

-- This is no longer just rfc1213, it also includes objects
-- from the snmpv2 mib-ii follow on for testing purposes

          RFC1213-MIB DEFINITIONS ::= BEGIN

          IMPORTS
              OBJECT-TYPE
                       FROM SNMPv2-SMI                     
              mgmt, Counter,
                          TimeTicks
                      FROM RFC1155-SMI;
--                 OBJECT-TYPE
--                          FROM RFC-1212;
--                TestAndIncr
--                        FROM SNMPv2-TC
--                  snmpModules
--                        FROM SNMPv2-SMI;


          --  This MIB module uses the extended OBJECT-TYPE macro as
          --  defined in [14];


          --  MIB-II (same prefix as MIB-I)

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

          -- textual conventions

          DisplayString ::=
              OCTET STRING
          -- This data type is used to model textual information taken
          -- from the NVT ASCII character set.  By convention, objects
          -- with this syntax are declared as having
          --
          --      SIZE (0..255)

          --PhysAddress ::=
          --    OCTET STRING
          -- This data type is used to model media addresses.  For many
          -- types of media, this will be in a binary representation.
          -- For example, an ethernet address would be represented as
          -- a string of 6 octets.


          -- groups in 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 }

          -- historical (some say hysterical)
          -- cmot      OBJECT IDENTIFIER ::= { mib-2 9 }

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

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

          -- the System group

          -- Implementation of the System group is mandatory for all
          -- systems.  If an agent is not configured to have a value
          -- for any of these variables, a string of length 0 is
          -- returned.

          sysDescr OBJECT-TYPE
              SYNTAX  DisplayString (SIZE (0..255))
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "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."
              ::= { system 1 }

          sysObjectID OBJECT-TYPE
              SYNTAX  OBJECT IDENTIFIER
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "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'."
              ::= { system 2 }

          sysUpTime OBJECT-TYPE
              SYNTAX  TimeTicks
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The time (in hundredths of a second) since the
                      network management portion of the system was last
                      re-initialized."
              ::= { system 3 }

          sysContact OBJECT-TYPE
              SYNTAX  DisplayString (SIZE (0..255))
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "The textual identification of the contact person
                      for this managed node, together with information
                      on how to contact this person."
              ::= { system 4 }

          sysName OBJECT-TYPE
              SYNTAX  DisplayString (SIZE (0..255))
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "An administratively-assigned name for this
                      managed node.  By convention, this is the node's
                      fully-qualified domain name."
              ::= { system 5 }

          sysLocation OBJECT-TYPE
              SYNTAX  DisplayString (SIZE (0..255))
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "The physical location of this node (e.g.,
                      `telephone closet, 3rd floor')."
              ::= { system 6 }

          sysServices OBJECT-TYPE
              SYNTAX  INTEGER (0..127)
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "A value which indicates the set of services that
                      this entity primarily 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 primarily 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., IP gateways)
                               4  end-to-end  (e.g., IP hosts)
                               7  applications (e.g., mail relays)

                      For systems including OSI protocols, layers 5 and
                      6 may also be counted."
              ::= { system 7 }

         
          -- 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 station.  In particular, it should be
          -- observed that the objects below refer to an SNMP entity,
          -- and there may be several SNMP entities residing on a
          -- managed node (e.g., if the node is hosting acting as
          -- a management station).

          snmpInPkts OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number of Messages delivered to the
                      SNMP entity from the transport service."
              ::= { snmp 1 }

          snmpOutPkts OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number of SNMP Messages which were
                      passed from the SNMP protocol entity to the
                      transport service."
              ::= { snmp 2 }

          snmpInBadVersions OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number of SNMP Messages which were
                      delivered to the SNMP protocol entity and were for
                      an unsupported SNMP version."
              ::= { snmp 3 }

          snmpInBadCommunityNames OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number of SNMP Messages delivered to
                      the SNMP protocol entity which used a SNMP
                      community name not known to said entity."
              ::= { snmp 4 }

          snmpInBadCommunityUses OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number of SNMP Messages delivered to
                      the SNMP protocol entity which represented an SNMP
                      operation which was not allowed by the SNMP
                      community named in the Message."
              ::= { snmp 5 }

          snmpInASNParseErrs OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number of ASN.1 or BER errors
                      encountered by the SNMP protocol entity when
                      decoding received SNMP Messages."
              ::= { snmp 6 }
          -- { snmp 7 } is not used

          snmpInTooBigs OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number of SNMP PDUs which were
                      delivered to the SNMP protocol entity and for
                      which the value of the error-status field is
                      `tooBig'."
              ::= { snmp 8 }

          snmpInNoSuchNames OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number of SNMP PDUs which were
                      delivered to the SNMP protocol entity and for
                      which the value of the error-status field is
                      `noSuchName'."
              ::= { snmp 9 }

          snmpInBadValues OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number of SNMP PDUs which were
                      delivered to the SNMP protocol entity and for
                      which the value of the error-status field is
                      `badValue'."
              ::= { snmp 10 }

          snmpInReadOnlys OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number valid SNMP PDUs which were
                      delivered to the SNMP protocol entity and for
                      which the value of the error-status field is
                      `readOnly'.  It should be noted that it is a
                      protocol error to generate an SNMP PDU which
                      contains the value `readOnly' in the error-status
                      field, as such this object is provided as a means
                      of detecting incorrect implementations of the
                      SNMP."
              ::= { snmp 11 }

          snmpInGenErrs OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number of SNMP PDUs which were
                      delivered to the SNMP protocol entity and for
                      which the value of the error-status field is
                      `genErr'."
              ::= { snmp 12 }

          snmpInTotalReqVars OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "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."
              ::= { snmp 13 }

          snmpInTotalSetVars OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "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."
              ::= { snmp 14 }

          snmpInGetRequests OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number of SNMP Get-Request PDUs which
                      have been accepted and processed by the SNMP
                      protocol entity."
              ::= { snmp 15 }

          snmpInGetNexts OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number of SNMP Get-Next PDUs which have
                      been accepted and processed by the SNMP protocol
                      entity."
              ::= { snmp 16 }

          snmpInSetRequests OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number of SNMP Set-Request PDUs which
                      have been accepted and processed by the SNMP
                      protocol entity."
              ::= { snmp 17 }

          snmpInGetResponses OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number of SNMP Get-Response PDUs which
                      have been accepted and processed by the SNMP
                      protocol entity."
              ::= { snmp 18 }

          snmpInTraps OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number of SNMP Trap PDUs which have
                      been accepted and processed by the SNMP protocol
                      entity."
              ::= { snmp 19 }

          snmpOutTooBigs OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number of SNMP PDUs which were
                      generated by the SNMP protocol entity and for
                      which the value of the error-status field is
                      `tooBig.'"
              ::= { snmp 20 }
          snmpOutNoSuchNames OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number of SNMP PDUs which were
                      generated by the SNMP protocol entity and for
                      which the value of the error-status is
                      `noSuchName'."
              ::= { snmp 21 }

          snmpOutBadValues OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number of SNMP PDUs which were
                      generated by the SNMP protocol entity and for
                      which the value of the error-status field is
                      `badValue'."
              ::= { snmp 22 }

          -- { snmp 23 } is not used

          snmpOutGenErrs OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number of SNMP PDUs which were
                      generated by the SNMP protocol entity and for
                      which the value of the error-status field is
                      `genErr'."
              ::= { snmp 24 }

          snmpOutGetRequests OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number of SNMP Get-Request PDUs which
                      have been generated by the SNMP protocol entity."
              ::= { snmp 25 }

          snmpOutGetNexts OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number of SNMP Get-Next PDUs which have
                      been generated by the SNMP protocol entity."
              ::= { snmp 26 }

          snmpOutSetRequests OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number of SNMP Set-Request PDUs which
                      have been generated by the SNMP protocol entity."
              ::= { snmp 27 }

          snmpOutGetResponses OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number of SNMP Get-Response PDUs which
                      have been generated by the SNMP protocol entity."
              ::= { snmp 28 }

          snmpOutTraps OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The total number of SNMP Trap PDUs which have
                      been generated by the SNMP protocol entity."
              ::= { snmp 29 }

          snmpEnableAuthenTraps OBJECT-TYPE
              SYNTAX  INTEGER { enabled(1), disabled(2) }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Indicates whether the SNMP agent process is
                      permitted to generate authentication-failure
                      traps.  The value of this object overrides any
                      configuration information; as such, it provides a
                      means whereby all authentication-failure traps may
                      be disabled.

                      Note that it is strongly recommended that this
                      object be stored in non-volatile memory so that it
                      remains constant between re-initializations of the
                      network management system."
              ::= { snmp 30 }       


 
          -- The interfaces group

         ifTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF IfEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "A list of interface entries.  The number of
                      entries is given by the value of ifNumber."
              ::= { interfaces 2 }

          ifEntry OBJECT-TYPE
              SYNTAX  IfEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "An interface entry containing objects at the
                      subnetwork layer and below for a particular
                      interface."
              INDEX   { ifIndex }
              ::= { ifTable 1 }

          IfEntry ::=
              SEQUENCE {
                  ifIndex
                      INTEGER,	
		  ifInUcastPkts
                      Counter,
		  ifInDiscards
                      Counter,
                  ifOutDiscards
                      Counter,
                  ifOutErrors
                      Counter
	       }

          ifIndex OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "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."
              ::= { ifEntry 1 }

          ifInUcastPkts OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The number of subnetwork-unicast packets
                      delivered to a higher-layer protocol."
              ::= { ifEntry 11 }

          ifInDiscards OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The number of inbound packets which were chosen
                      to be discarded even though no errors had been
                      detected to prevent their being deliverable to a
                      higher-layer protocol.  One possible reason for
                      discarding such a packet could be to free up
                      buffer space."
              ::= { ifEntry 13 }

          ifOutDiscards OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The number of outbound packets which were chosen
                      to be discarded even though no errors had been
                      detected to prevent their being transmitted.  One
                      possible reason for discarding such a packet could
                      be to free up buffer space."
              ::= { ifEntry 19 }

          ifOutErrors OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The number of outbound packets that could not be
                      transmitted because of errors."
              ::= { ifEntry 20 }

           
          -- The ip group
 
          ipInHdrErrors OBJECT-TYPE
              SYNTAX  Counter
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "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."
              ::= { ip 4 }


--RFC1757

          --  Remote Network Monitoring MIB

              rmon    OBJECT IDENTIFIER ::= { mib-2 16 }


              -- textual conventions

              --OwnerString ::= DisplayString
              -- This data type is used to model an administratively
              -- assigned name of the owner of a resource. This
              -- information is taken from the NVT ASCII character
              -- set.  It is suggested that this name contain one or
              -- more of the following: IP address, management station
              -- name, network manager's name, location, or phone
              -- number.
              -- In some cases the agent itself will be the owner of
              -- an entry.  In these cases, this string shall be set
              -- to a string starting with 'monitor'.
              --
              -- SNMP access control is articulated entirely in terms
              -- of the contents of MIB views; access to a particular
              -- SNMP object instance depends only upon its presence
              -- or absence in a particular MIB view and never upon
              -- its value or the value of related object instances.
              -- Thus, objects of this type afford resolution of
              -- resource contention only among cooperating managers;
              -- they realize no access control function with respect
              -- to uncooperative parties.
              --
              -- By convention, objects with this syntax are declared as
              -- having
              --
              --      SIZE (0..127)

              --EntryStatus ::= INTEGER
              --           { valid(1),
              --             createRequest(2),
              --             underCreation(3),
              --             invalid(4)
              --           }
              -- The status of a table entry.
              --
              -- Setting this object to the value invalid(4) has the
              -- effect of invalidating the corresponding entry.
              -- That is, it effectively disassociates 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 currently not in use.  Proper
              -- interpretation of such entries requires examination
              -- of the relevant EntryStatus object.
              --
              -- An existing instance of this object cannot be set to
              -- createRequest(2).  This object may only be set to
              -- createRequest(2) when this instance is created.  When
              -- this object is created, the agent may wish to create
              -- supplemental object instances with default values
              -- to complete a conceptual row in this table.  Because
              -- the creation of these default objects is entirely at
              -- the option of the agent, the manager must not assume
              -- that any will be created, but may make use of any that
              -- are created. Immediately after completing the create
              -- operation, the agent must set this object to
              -- underCreation(3).
              --
              -- When in the underCreation(3) state, an entry is
              -- allowed to exist in a possibly incomplete, possibly
              -- inconsistent state, usually to allow it to be
              -- modified in mutiple PDUs.  When in this state, an
              -- entry is not fully active.  Entries shall exist in
              -- the underCreation(3) state until the management
              -- station is finished configuring the entry and sets
              -- this object to valid(1) or aborts, setting this
              -- object to invalid(4).  If the agent determines that
              -- an entry has been in the underCreation(3) state for
              -- an abnormally long time, it may decide that the
              -- management station has crashed.  If the agent makes
              -- this decision, it may set this object to invalid(4)
              -- to reclaim the entry.  A prudent agent will
              -- understand that the management station may need to
              -- wait for human input and will allow for that
              -- possibility in its determination of this abnormally
              -- long period.
              --
              -- An entry in the valid(1) state is fully configured and
              -- consistent and fully represents the configuration or
              -- operation such a row is intended to represent.  For
              -- example, it could be a statistical function that is
              -- configured and active, or a filter that is available
              -- in the list of filters processed by the packet capture
              -- process.
              --
              -- A manager is restricted to changing the state of an
              -- entry in the following ways:
              --
              --                       create   under
              --      To:       valid  Request  Creation  invalid
              -- From:
              -- valid             OK       NO        OK       OK
              -- createRequest    N/A      N/A       N/A      N/A
              -- underCreation     OK       NO        OK       OK
              -- invalid           NO       NO        NO       OK
              -- nonExistent       NO       OK        NO       OK
              --
              -- In the table above, it is not applicable to move the
              -- state from the createRequest state to any other
              -- state because the manager will never find the
              -- variable in that state.  The nonExistent state is
              -- not a value of the enumeration, rather it means that
              -- the entryStatus variable does not exist at all.
              --
              -- An agent may allow an entryStatus variable to change
              -- state in additional ways, so long as the semantics
              -- of the states are followed.  This allowance is made
              -- to ease the implementation of the agent and is made
              -- despite the fact that managers should never
              -- excercise these additional state transitions.


              statistics        OBJECT IDENTIFIER ::= { rmon 1 }
            

          etherStatsTable OBJECT-TYPE
              SYNTAX SEQUENCE OF EtherStatsEntry
              MAX-ACCESS not-accessible
              STATUS current
              DESCRIPTION
                  "A list of Ethernet statistics entries."
              ::= { statistics 1 }

          etherStatsEntry OBJECT-TYPE
              SYNTAX EtherStatsEntry
              MAX-ACCESS not-accessible
              STATUS current
              DESCRIPTION
                  "A collection of statistics kept for a particular
                  Ethernet interface.  As an example, an instance of the
                  etherStatsPkts object might be named etherStatsPkts.1"
              INDEX { etherStatsIndex }
              ::= { etherStatsTable 1 }

          EtherStatsEntry ::= SEQUENCE {
              etherStatsIndex                    INTEGER (1..65535),
              etherStatsDropEvents               Counter,
              etherStatsOctets                   Counter,
	      etherStatsBroadcastPkts            Counter,	
	      etherStatsMulticastPkts            Counter,            
	      etherStatsUndersizePkts            Counter,
              etherStatsOversizePkts             Counter,
              etherStatsFragments                Counter,
              etherStatsJabbers                  Counter,
              etherStatsPkts64Octets             Counter,
              etherStatsPkts65to127Octets        Counter,
              etherStatsPkts128to255Octets       Counter,
              etherStatsPkts256to511Octets       Counter,
              etherStatsPkts512to1023Octets      Counter,
              etherStatsPkts1024to1518Octets     Counter
           }

          etherStatsIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The value of this object uniquely identifies this
                  etherStats entry."
              ::= { etherStatsEntry 1 }

      
          etherStatsDropEvents OBJECT-TYPE
              SYNTAX Counter
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The total number of events in which packets
                  were dropped by the probe due to lack of resources.
                  Note that this number is not necessarily the number of
                  packets dropped; it is just the number of times this
                  condition has been detected."
              ::= { etherStatsEntry 3 }

          etherStatsOctets OBJECT-TYPE
              SYNTAX Counter
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The total number of octets of data (including
                  those in bad packets) received on the
                  network (excluding framing bits but including
                  FCS octets).

                  This object can be used as a reasonable estimate of
                  ethernet utilization.  If greater precision is
                  desired, the etherStatsPkts and etherStatsOctets
                  objects should be sampled before and after a common
                  interval.  The differences in the sampled values are
                  Pkts and Octets, respectively, and the number of
                  seconds in the interval is Interval.  These values
                  are used to calculate the Utilization as follows:

                                   Pkts * (9.6 + 6.4) + (Octets * .8)
                   Utilization = -------------------------------------
                                           Interval * 10,000

                  The result of this equation is the value Utilization
                  which is the percent utilization of the ethernet
                  segment on a scale of 0 to 100 percent."
              ::= { etherStatsEntry 4 }

	  etherStatsBroadcastPkts OBJECT-TYPE
              SYNTAX Counter
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The total number of good packets received that were
                  directed to the broadcast address.  Note that this
                  does not include multicast packets."
              ::= { etherStatsEntry 6 }

          etherStatsMulticastPkts OBJECT-TYPE
              SYNTAX Counter
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The total number of good packets received that were
                  directed to a multicast address.  Note that this
                  number does not include packets directed to the
                  broadcast address."
              ::= { etherStatsEntry 7 }	
          
	  etherStatsUndersizePkts OBJECT-TYPE
              SYNTAX Counter
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The total number of packets received that were
                  less than 64 octets long (excluding framing bits,
                  but including FCS octets) and were otherwise well
                  formed."
              ::= { etherStatsEntry 9 }

          etherStatsOversizePkts OBJECT-TYPE
              SYNTAX Counter
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The total number of packets received that were
                  longer than 1518 octets (excluding framing bits,
                  but including FCS octets) and were otherwise
                  well formed."
              ::= { etherStatsEntry 10 }

          etherStatsFragments OBJECT-TYPE
              SYNTAX Counter
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The total number of packets received that were less
                  than 64 octets in length (excluding framing bits but
                  including FCS octets) and had either a bad Frame
                  Check Sequence (FCS) with an integral number of
                  octets (FCS Error) or a bad FCS with a non-integral
                  number of octets (Alignment Error).

                  Note that it is entirely normal for
                  etherStatsFragments to increment.  This is because
                  it counts both runts (which are normal occurrences
                  due to collisions) and noise hits."
              ::= { etherStatsEntry 11 }

          etherStatsJabbers OBJECT-TYPE
              SYNTAX Counter
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The total number of packets received that were
                  longer than 1518 octets (excluding framing bits,
                  but including FCS octets), and had either a bad
                  Frame Check Sequence (FCS) with an integral number
                  of octets (FCS Error) or a bad FCS with a
                  non-integral number of octets (Alignment Error).

                  Note that this definition of jabber is different
                  than the definition in IEEE-802.3 section 8.2.1.5
                  (10BASE5) and section 10.3.1.4 (10BASE2).  These
                  documents define jabber as the condition where any
                  packet exceeds 20 ms.  The allowed range to detect
                  jabber is between 20 ms and 150 ms."
              ::= { etherStatsEntry 12 }

      
          etherStatsPkts64Octets OBJECT-TYPE
              SYNTAX Counter
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The total number of packets (including bad
                  packets) received that were 64 octets in length
                  (excluding framing bits but including FCS octets)."
              ::= { etherStatsEntry 14 }

          etherStatsPkts65to127Octets OBJECT-TYPE
              SYNTAX Counter
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The total number of packets (including bad
                  packets) received that were between
                  65 and 127 octets in length inclusive
                  (excluding framing bits but including FCS octets)."
              ::= { etherStatsEntry 15 }

          etherStatsPkts128to255Octets OBJECT-TYPE
              SYNTAX Counter
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The total number of packets (including bad
                  packets) received that were between
                  128 and 255 octets in length inclusive
                  (excluding framing bits but including FCS octets)."
              ::= { etherStatsEntry 16 }

          etherStatsPkts256to511Octets OBJECT-TYPE
              SYNTAX Counter
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The total number of packets (including bad
                  packets) received that were between
                  256 and 511 octets in length inclusive
                  (excluding framing bits but including FCS octets)."
              ::= { etherStatsEntry 17 }

          etherStatsPkts512to1023Octets OBJECT-TYPE
              SYNTAX Counter
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The total number of packets (including bad
                  packets) received that were between
                  512 and 1023 octets in length inclusive
                  (excluding framing bits but including FCS octets)."
              ::= { etherStatsEntry 18 }

          etherStatsPkts1024to1518Octets OBJECT-TYPE
              SYNTAX Counter
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The total number of packets (including bad
                  packets) received that were between
                  1024 and 1518 octets in length inclusive
                  (excluding framing bits but including FCS octets)."
              ::= { etherStatsEntry 19 }

END





