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

     RP-MIBP2A04 DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, 
    enterprises             FROM SNMPv2-SMI
    Counter
                      FROM RFC1155-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
--    OBJECT-GROUP FROM SNMPv2-CONF;
   
                                 
rPMIB MODULE-IDENTITY
    LAST-UPDATED "011126000000Z"
    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 RP-MIB module for implementation in an RP supporting the RP 
             blocks RPMBHR, RPMMR and RP-OS (RIEX). This module is intended for
             the SCB-RP board mainly, but can be extended/reduced to fit other
             RPs too. The SCB-board can be in charge for the O&M part of up to
             32 slots and up to 8 fan units. SCB-RP also contains an ethernet
             switch device, supporting 26 slot positions as well as having
             ethernet connectivity to the outside. 
             This module includes objects for managing the SCB-RP 
             ethernet switch. Standard objects for this are mainly used, but 
             some proprietory switch managment objects are also included."
        ::={enterprises 193 85 1}

    ericsson    OBJECT IDENTIFIER ::= { enterprises 193 }
    ericsson-rp OBJECT IDENTIFIER ::= { ericsson 85 } 


-- The data groups of RP-MIB


          rPMBH     OBJECT IDENTIFIER ::={rPMIB 3}

          rPMM      OBJECT IDENTIFIER ::={rPMIB 4}

          rPOS      OBJECT IDENTIFIER ::={rPMIB 6}


rPGlobalChange OBJECT-TYPE
       SYNTAX       OCTET STRING(SIZE(4)) 
       MAX-ACCESS   read-write 
       STATUS       current    
       DESCRIPTION
           "rpGlobalChange is a global object for finding any type of unusual
            events (changes/alarms etc) that has happened in the RP. The manager
            should poll this object continously. Each bit of the string
            (4 bytes = 32 bits) represents one RP. When manager has seen this 
            event he is responible for setting the value to normal (Bit#=0) 
            again.
            This object (rPGlobalChange)represents the following objects of 
            this MIB module:
            rPSlotDataChange         
            rPPowerStatus            
            rPTemporaryPowFaultsNum
            rPPowerPathChange
            fanMIALEDSetRes
            fanDataorHWIStatus
            rPAddrInfo
            Most of the above objects also have trap equivalences (except 
            rPSlotDataChange). Neither of the above objects represent a state
            which is very common to changes.
            Bit#:
                 0 = No change (normal)
                 1 = event"
        ::={rPMIB 1}



rPBoardTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF RPBoardEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The conceptual (not real) table listing the LED-state and PROM-
             data of a board in the RP, by using the slot number as the index"
        ::={rPMBH 1}


rPBoardEntry OBJECT-TYPE
        SYNTAX      RPBoardEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
             "A conceptual (not real row) entry in the RPBoardTable. The 
              table is indexed by the slot number"
        INDEX       { rPSlotNumber }
        ::={rPBoardTable 1}
     
     
RPBoardEntry ::= SEQUENCE{
                          rPSlotNumber     INTEGER(1..32),--INTEGER(0..31), but does not like index 0  
                          rPBoardLEDState  INTEGER(0..1),  
                          rPHWIPromData    OCTET STRING(SIZE(1..255)),
                          rPSlotDataChange INTEGER}
                             

rPSlotNumber OBJECT-TYPE
        SYNTAX      INTEGER(1..32) --Does not like an index 0 in compilation
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Slot number is valid for numbers 
             1-32"
	 ::={rPBoardEntry 1}

rPBoardLEDState OBJECT-TYPE 
        SYNTAX      INTEGER(0..1)
        MAX-ACCESS  read-write
        STATUS      current    
        DESCRIPTION
            "MIA LED-state on a board 
             0 = off
             1 = on"
	::={rPBoardEntry 2}

rPHWIPromData OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1..255))
        MAX-ACCESS  read-only
        STATUS      current    
        DESCRIPTION
            "Up to 255 bytes HWI (HardWare Inventory) prom data for a board. 
             Usually less than 100 bytes(100 octets). The HWI string contains:
             Product number        (e.g: ROJ 208 323/1)
	     Product revision      (e.g: R1A)
	     Product name          (e.g: SCB-RP)
	     Date of manufactory   (e.g: 01W32)
	     Serial number         (e.g: TF1046465)"
	::={rPBoardEntry 3}
    
rPSlotDataChange OBJECT-TYPE        
        SYNTAX      INTEGER
        MAX-ACCESS  read-only 
        STATUS      current    
        DESCRIPTION
            "rPSlotDataChange informs about changes in a slot position.
             Bit #1-0: Board code
                       0 = Not used    
                       1 = No board
                       2 = New board
                       3 = Fault
             Bit #3-2: Not used
             Bit #7-3: Fault code, valid if board code is 3
                       0 = Missing EOT
                       1 = Invalid checksum
                       2 = Other fault
                    3-15 = Not used"
       	::={rPBoardEntry 4}

gEMBoardHWReset OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION"Writing a value to this object will cause a HW reset of
            the board specified. The reset will be initiated by writing
            on the I^2C-bus (M-bus) in the GEM-backplane causing a reset
            of the appointed board's DC/DC converter.
            Example: Writing 3 (dec) will cause a HW-reset of the board in
            slot position #3. If the board in slot position #3 does
            not support this type of reset in HW then the board is not 
            restarted. There is never an acknowledgment to this request,
            which means that resetting a board is a 'best effort'
            approach. 
            Value range 0-31.
            NOTE: It is only possible to reset one board at a time."
        ::= {rPMBH 2}

rPPowerStateA OBJECT-TYPE
        SYNTAX      INTEGER(1..2) 
        MAX-ACCESS  read-only 
        STATUS      obsolete    
        DESCRIPTION
            "State of power A 
             1 = No fault 
             2 = Permanent fault"
        ::= {rPMM 3}

rPTemporaryPowFaultsNumA OBJECT-TYPE
        SYNTAX      INTEGER(0..255) 
        MAX-ACCESS  read-only 
        STATUS      obsolete    
        DESCRIPTION
            "Total number of temporary faults on power A since last restart of  
             RPMMR"
        ::={rPMM 4}

rPPowerStateB OBJECT-TYPE
        SYNTAX      INTEGER(1..2) 
        MAX-ACCESS  read-only 
        STATUS      obsolete    
        DESCRIPTION
            "State of power B 
             1 = No fault 
             2 = Permanent fault"
        ::={rPMM 5}

rPTemporaryPowFaultsNumB OBJECT-TYPE
        SYNTAX      INTEGER(0..255) 
        MAX-ACCESS  read-only 
        STATUS      obsolete    
        DESCRIPTION
            "Total number of temporary faults on power B since last restart of 
             RPMMR"
        ::={rPMM 6}
   
rPPowerStatus OBJECT-TYPE
        SYNTAX      INTEGER(1..3) 
        MAX-ACCESS  read-only 
        STATUS      obsolete    
        DESCRIPTION
            "rPPowerStatus is to be changed when a change in power 
             status is detected 
             1 = No fault 
             2 = Permanent fault 
             3 = Temporary fault"
        ::={rPMM 8}

rPTemporaryPowFaultsNum OBJECT-TYPE
        SYNTAX      INTEGER(0..255) 
        MAX-ACCESS  read-only 
        STATUS      obsolete    
        DESCRIPTION
            "Number of temporary power faults since last trap sent is a 1 byte 
             integer. This value SHOULD be zeroed after trap has been sent. 
             (If counter32: However, a Counter32 is not read for its value but 
             rather the difference between two readings.)
             Is only valid when rPPowerStatus is set permanent (2) or 
             temporary (3)"
        ::= {rPMM 9}

rPPowPathChange OBJECT-TYPE
        SYNTAX      INTEGER(1..2) 
        MAX-ACCESS  read-only 
        STATUS      obsolete    
        DESCRIPTION
            "Power path change is an integer which informs the manager 
             which path that had a power change
             1 = A
             2 = B"
        ::={rPMM 10}
                    
fanDataTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF FanDataEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Table (conceptual) containing up to 8 fanDataEntries"
        ::={rPMM 11}
                             
fanDataEntry OBJECT-TYPE
        SYNTAX      FanDataEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "A conceptual row containing the fan unit number as index and air 
             temp, LED state, read result, communication error details and 
             alarm information as relevant data for each fan. The table also
             includes status information about HWI data and data status 
             for the fan"
        INDEX {fanUnitNumberInd}
        ::={fanDataTable 1}   
 
FanDataEntry ::= SEQUENCE {
                           fanUnitNumberInd   INTEGER(1..8),
                           fanReadResult      INTEGER(0..4),
                           fanCommErrorDet    INTEGER(0..3),
                           fanAlarmInfo       OCTET STRING(SIZE(2)),
                           fanAirTemp         OCTET STRING(SIZE(2)),
                           fanMIALEDState     INTEGER (0..3),
                           fanDataStatus      INTEGER(0..3),
                           fanHWIStatus       INTEGER(0..3),
                           fanHWIReadRes      INTEGER(0..5),
                           fanHWIPromData     OCTET STRING(SIZE(1..255))}  

fanUnitNumberInd OBJECT-TYPE
        SYNTAX      INTEGER(1..8)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "fanUnitNumber is a number representing fan 1-8. This object 
             represents the indexing of the fanDataTable"
	 ::={fanDataEntry 1}

fanReadResult OBJECT-TYPE
        SYNTAX      INTEGER(0..4) 
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Read result is an integer informing how well data collection has 
              been made from a fan
                 0 = Successfully read fan data (Fan alarm information, fan air    
                     temperature and fan MIA LED state)
                 1 = Not used
                 2 = Fan fault, no fan connected
                 3 = Fan fault, communication error
                 4 = Requested fan unit is out of range
             5-255 = Not used"
        ::={fanDataEntry 2}

fanCommErrorDet OBJECT-TYPE
        SYNTAX      INTEGER(0..3) 
        MAX-ACCESS  read-only 
        STATUS      current    
        DESCRIPTION
            "Communication error details. An addition to the previously read 
             result if there was a communications error (fanReadResult == 3).
                 0 = Framing error
                 1 = Checksum error
                 2 = Protocol error
                 3 = Addressing mode error
             4-255 = Not used"
        ::={fanDataEntry 3}

fanAlarmInfo OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(2)) 
        MAX-ACCESS  read-only 
        STATUS      current    
        DESCRIPTION
            "Two bytes: The first byte mirrors fanReadResult (integer 0-4) and 
             the second byte represents the fan alarm information (0*00 - 0*ff). 
             Fan alarm information is a 1 byte string about the physical state 
             of a fan, where each bit out of the one byte describes a state. 
             Is only valid if fanReadResult is 0.
            BYTE no. 2:
             B0: 0 = Temperature < 65*C
                 1 = Temperature > 65*C
             B1: 0 = Temperature < 55*C
                 1 = Temperature > 55*C
             B2: 0 = Temperature sensor working
                 1 = Temperature sensor out of range
             B3: 0 = Motor current OK
                 1 = Motor current out of range
             B4: 0 = Fan internal communication OK
                 1 = Fan internal communication error
             B5: 0 = Fan motor regulation OK
                 1 = Fan motor regulation error
             B6: 0 = Power branch A (-48) OK
                 1 = Power branch A (-48) error
             B7: 0 = Power branch B (-48) OK
                 1 = Power branch B (-48) error"
        ::={fanDataEntry 4}

fanAirTemp OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(2)) 
        MAX-ACCESS  read-only 
        STATUS      current    
        DESCRIPTION
            "Two bytes: First byte mirrors fanReadResult (integer 0-4)
             and the second byte represents fan air temperature (integer 
             0-138). This states the temperature in the fan air. 
             Is only valid if fanReadResult is 0.  
              BYTE no. 2:
               0-104 = Plus (0*C to 104*C)
             128-138 = Minus (-1*C to -10*C)"
        ::={fanDataEntry 5}

fanMIALEDState OBJECT-TYPE
        SYNTAX      INTEGER(0..3) 
        MAX-ACCESS  read-write 
        STATUS      current    
        DESCRIPTION
            "Fan MIA LED state. Is only usable if fanReadResult is 0.
             When fanMIALEDstate is changed by the manager the agent will
             transmit the order to RPMM. RPMM will send back
             an attempt to change the LED. The attempt is
             stored in fanMIALEDSetRes.  
                 0 = LED off
                 1 = Slow flash
                 2 = Fast flash
                 3 = LED on
             4-255 = Not used"
        ::={fanDataEntry 6}
  
fanDataStatus OBJECT-TYPE
        SYNTAX      INTEGER(0..3) 
        MAX-ACCESS  read-only 
        STATUS      current    
        DESCRIPTION
            "Fan Data status is an integer. It represents the fan status 
             in regards of data availability.
                0 = Fan connected, fan data available
                1 = Not used
                2 = Fan fault, no fan connected
                3 = Fan fault, communication error
             4-255 = Not used"
        ::={fanDataEntry 7}

fanHWIStatus OBJECT-TYPE
        SYNTAX      INTEGER(0..3) 
        MAX-ACCESS  read-only 
        STATUS      current    
        DESCRIPTION
            "Fan HWI status is a 1 byte integer. It represents the fan status 
             in regards of HWI data availability.
                0 = Fan connected, HWI data available
                1 = Not used
                2 = HWI fault, no fan connected
                3 = HWI fault, communication error
            4-255 = Not used"
        ::={fanDataEntry 8}

fanHWIReadRes OBJECT-TYPE
        SYNTAX      INTEGER(0..5) 
        MAX-ACCESS  read-only  
        STATUS      current    
        DESCRIPTION
            "Fan and HWI read result is a 1 byte integer
                 0 = Successful read, all data read
                 1 = Successful read, more data to read
                 *SHOULDNT BE NECESSARY, can read all at once*
                 2 = HWI fault, no fan connected
                 3 = HWI fault, communication error
                 4 = The requested fan unit is out of range
                 5 = The requested data is out of range
             6-255 = Not used"
        ::={fanDataEntry 9}

fanHWIPromData OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1..255)) 
        MAX-ACCESS  read-only 
        STATUS      current    
        DESCRIPTION
            "The sequential HWI prom data"
        ::={fanDataEntry 10}
        
fanMIALEDSetRes OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(8))
        MAX-ACCESS  read-only 
        STATUS      current    
        DESCRIPTION
            "This object does not guarantee that the LED is really set for the
            intended fan unit. It only indicates that the regional program will 
            make a best effort (Regional program programmed that way!). 
            However this object indicates that there might 
            be a fan problem. Each byte represents one fan unit. Each byte can
            have values 0-5.
            NOTE: This is a single object that is used for all fan units.
            Byte#: 
             0 = Setting of LED will be executed
             1 = Not used
             2 = Fan fault, no fan connected
             3 = Fan fault, communication error
             4 = Requested fan unit is out of range
             5 = Invalid MIA LED state requested"
	  ::={rPMM 14}
                          
fanDataorHWIStatus OBJECT-TYPE
        SYNTAX      INTEGER(0..255)
        MAX-ACCESS  read-write 
        STATUS      current    
        DESCRIPTION
            "An eight bit data. Each bit represents one fan unit. This
             object can be polled by the manager to find out that some 
             kind of fan unit problem has occurred (data communication
             or HWI status). When fault the agent sets the bit in question
             and is then seen by the manager by polling. The manager
             is then responsible for resetting the bit for that fan unit.
             0*00 = normal
             0*01 = fault in fan unit one
              .
              .
             0*80 = fault in fan unit eight
             Example: 0*0C (00001010) means fault in both fan unit 2 and 4."
	 ::={rPMM 16}

rPPowerStateA1 OBJECT-TYPE
        SYNTAX INTEGER {ok(1),
                        fault(2)}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION"State of power A1. Here A means the left side of GEM, and
                    1 means the LOWER power connector on SCB. 
                    1 = OK 
                    2 = fault"
         ::= {rPMM 17}

rPPowerStateA2 OBJECT-TYPE
        SYNTAX INTEGER {ok(1),
                        fault(2)}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION"State of power A2. Here A means the left side of GEM, and
                    2 means the UPPER power connector on SCB. 
                    1 = OK 
                    2 = fault"
        ::= {rPMM 18}

rPPowerStateB1 OBJECT-TYPE
        SYNTAX INTEGER {ok(1),
                        fault(2)}
        MAX-ACCESS read-only
        STATUS current
	DESCRIPTION"State of power B1. Here B means the right side of GEM, and
                    1 means the LOWER power connector on SCB. 
                    1 = OK 
                    2 = fault"
        ::= {rPMM 19}

rPPowerStateB2 OBJECT-TYPE
         SYNTAX INTEGER {ok(1),
                         fault(2)}
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION"State of power B2. Here B means the right side of GEM, and
                     2 means the UPPER power connector on SCB.
                     1 = OK 
                     2 = fault"
         ::= {rPMM 20}

extAlarmPortState OBJECT-TYPE
         SYNTAX INTEGER {low(0),
                         high(1)}
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION"This object shows the current state of the External Alarm 
                     Port on the SCB. The normal state of this port, i.e when 
                     nothing is plugged into it, is LOW. 
                     Other states that are considered normal during operation
                     when this port is used should be handled on a higher 
                     level.
                     0 = LOW
                     1 = HIGH"
         ::= {rPMM 21}



rPOSMagAddr    OBJECT IDENTIFIER ::= {rPOS 2}


rPAddrInfo OBJECT-TYPE
        SYNTAX      INTEGER(0..1)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object is changed by the agent when the RP makes an 
             address update.This object is polled by the manager. When 
             the manager reads an update (==1) he must reset it to normal 
             (=0) again. The manager can then get all address objects from
             the RP to find out what is wrong. This object is meant to
             prevent extensive polling from the managing side. The idea
             is to find out that some type of address change has occurred.
             no_change = 0 (normal)
             change    = 1 (unusual RP address event)"
	  ::={rPOSMagAddr 2}


rPSubAddr OBJECT-TYPE
        SYNTAX      INTEGER(0..255)
        MAX-ACCESS  read-only
        STATUS      obsolete
        DESCRIPTION
            "Subrack address from backplane (plug) is a 1 byte string.
             This is a magazine address.
                B4: SP
             B3-B0: SA3-SA0"
        ::={rPOSMagAddr 3}

rPBoardAddr OBJECT-TYPE
        SYNTAX      INTEGER(0..255)
        MAX-ACCESS  read-only
        STATUS      obsolete
        DESCRIPTION
            "Board address from backplane
                B6: BP
             B5-B0: BA5-BA0"
        ::={rPOSMagAddr 4}

rPSubAddrMem OBJECT-TYPE
        SYNTAX      INTEGER(0..255)
        MAX-ACCESS  read-only
        STATUS      obsolete
        DESCRIPTION
            "rPSubAddrMem from memory is a 1 byte string
	    B3-B0: SA3-SA0
               B4: SP"
        ::={rPOSMagAddr 5}

rPBoardAddrMem OBJECT-TYPE
        SYNTAX      INTEGER(0..255)
        MAX-ACCESS  read-only
        STATUS      obsolete
        DESCRIPTION
            "rPBoardAddrMem from memory is a 1 byte string
               B5-B0: BA5-BA0
                  B6: BP"
	::={rPOSMagAddr 6}

rPLogicIndAddrHW OBJECT-TYPE
        SYNTAX      INTEGER(0..255)
        MAX-ACCESS  read-only
        STATUS      obsolete
        DESCRIPTION
            "Logical individual address from HW register is a 1 byte string
             B4-B0: Individual address 
                B5: Enable/disable bit"
        ::={rPOSMagAddr 7}

rPLogicIndAddrMem OBJECT-TYPE
        SYNTAX      INTEGER(0..255)
        MAX-ACCESS  read-only
        STATUS      obsolete
        DESCRIPTION
                   "Logical individual address from memory is a 1 byte string
                    "
        ::={rPOSMagAddr 8}

rPLogicGroupAddrHW OBJECT-TYPE
        SYNTAX      INTEGER(0..255)
        MAX-ACCESS  read-only
        STATUS      obsolete
        DESCRIPTION
                   "Logical group address from HW register. Is not used.
                    B4-B0: Group address
                       B5: Enable/disable bit"
         ::={rPOSMagAddr 9}

rPLogicGroupAddrMem OBJECT-TYPE
        SYNTAX      INTEGER(0..255)
        MAX-ACCESS  read-only
        STATUS      obsolete
        DESCRIPTION
                   "Logical group address from memory is a 1 byte string.
                    Is not used either"
        ::={rPOSMagAddr 10}

magAddrPhysPlug0 OBJECT-TYPE
        SYNTAX INTEGER(0..31)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION"The present value of the GEM magazine address plug #0,
                    the top plug (AP0). This object includes the value
                    AND the extra parity bit of the plug.
                    The number 31 indicates that the plug is missing.
                    BIT #3-0: Value
                    BIT #5  : Parity"
       ::= {rPOSMagAddr 11}

magAddrMemPlug0 OBJECT-TYPE
       SYNTAX INTEGER(0..31)
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION"The next last value of the GEM magazine address 
	           plug #0. This object includes the value, 0-15, 
		   AND the extra parity bit of the plug.
                   The number 31 indicates that the plug was missing.
                   BIT #3-0: Value
                   BIT #5  : Parity"       
       ::= {rPOSMagAddr 12}

magAddrPhysPlug1 OBJECT-TYPE
        SYNTAX INTEGER(0..31)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION"The present value of the GEM magazine address plug #1,
                    the top plug (AP1). This object includes the value
                    AND the extra parity bit of the plug.
                    The number 31 indicates that the plug is missing.
                    BIT #3-0: Value
                    BIT #5  : Parity"
	::= {rPOSMagAddr 13}

magAddrMemPlug1 OBJECT-TYPE
       SYNTAX INTEGER(0..31)
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION"The next last value of the GEM magazine address 
	           plug #1. This object includes the value, 0-15, 
		   AND the extra parity bit of the plug.
                   The number 31 indicates that the plug was missing.
		   BIT #3-0: Value
                   BIT #5  : Parity"
       ::= {rPOSMagAddr 14}

magAddrPhysPlug3 OBJECT-TYPE
       SYNTAX INTEGER(0..31)
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION"The present value of the GEM magazine address plug #3,
                   the top plug (AP3). This object includes the value
                   AND the extra parity bit of the plug.
                   The number 31 indicates that the plug is missing.
                   BIT #3-0: Value
                   BIT #5  : Parity"
       ::= {rPOSMagAddr 15}

magAddrMemPlug3 OBJECT-TYPE
       SYNTAX INTEGER(0..31)
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION"The next last value of the GEM magazine address 
	           plug #3. This object includes the value, 0-15, 
		   AND the extra parity bit of the plug.
                   The number 31 indicates that the plug was missing.
                   BIT #3-0: Value
                   BIT #5  : Parity"
       ::= {rPOSMagAddr 16}

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), onegigabps(3)},
                     duplexMode          INTEGER {half(0), full(1)},
		     flowControl         INTEGER {disabled(0), enabled(1)},
		     negotiateLink       INTEGER (0..9),
		     hOLBMode            INTEGER {automatic(0), manual(1)},
		     hOLBPreventionState INTEGER{disabled(0), enabled(1)},
		     mirrorToPort        INTEGER,
		     goodBytesRX         Counter,
		     goodBytesTX         Counter,
		     goodFramesRX        Counter,
		     goodFramesTX        Counter}

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),
                 onegigabps(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}

hOLBMode OBJECT-TYPE
        SYNTAX INTEGER {automatic(0),
                           manual(1)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION"This object tells if the Head-of-Line-Blocking Prevention control 
            is in manual or automatic mode. When in automatic mode then 
            Head-of-Line-Blocking prevention is always enabled on a 10Mbps 
            after a maximum of 5 seconds. If this function is not used on 
            a slow link then broadcost traffic might slow down faster ports 
            on this switch.
            NOTE: Enabling this function makes the port drop packets during 
                  heavy traffic.
            0 = automatic (normal)
            1 = manual"
        ::= {switchIfEntry 7}

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}

goodBytesRX OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION"The number of good bytes received to this switch port"
        ::= {interfaceEntry 10}

goodBytesTX OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION"The number of good bytes sent from this switch port"
        ::= {interfaceEntry 11}

goodFramesRX OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION"The number of good frames received to this switch port"
        ::= {interfaceEntry 12}

goodFramesTX OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION"The number of good frames sent from this switch port"
        ::= {interfaceEntry 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 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}

          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 }

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

--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,
             etherStatsPkts                     Counter,
             etherStatsBroadcastPkts            Counter,
             etherStatsMulticastPkts            Counter,
             etherStatsCRCAlignErrors           Counter,
             etherStatsUndersizePkts            Counter,
             etherStatsOversizePkts             Counter,
             etherStatsFragments                Counter,
             etherStatsJabbers                  Counter,
             etherStatsCollisions               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 }

           etherStatsPkts OBJECT-TYPE
              SYNTAX Counter
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The total number of packets (including bad packets,
                  broadcast packets, and multicast packets) received."
              ::= { etherStatsEntry 5 }
          
          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 }	  

          etherStatsCRCAlignErrors OBJECT-TYPE
              SYNTAX Counter
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The total number of packets received that
                  had a length (excluding framing bits, but
                  including FCS octets) of between 64 and 1518
                  octets, inclusive, but but 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)."
              ::= { etherStatsEntry 8 }

          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 }


           etherStatsCollisions OBJECT-TYPE
              SYNTAX Counter
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The best estimate of the total number of collisions
                  on this Ethernet segment.

                  The value returned will depend on the location of
                  the RMON probe. Section 8.2.1.3 (10BASE-5) and
                  section 10.3.1.3 (10BASE-2) of IEEE standard 802.3
                  states that a station must detect a collision, in
                  the receive mode, if three or more stations are
                  transmitting simultaneously.  A repeater port must
                  detect a collision when two or more stations are
                  transmitting simultaneously.  Thus a probe placed on
                  a repeater port could record more collisions than a
                  probe connected to a station on the same segment
                  would.

                  Probe location plays a much smaller role when
                  considering 10BASE-T.  14.2.1.4 (10BASE-T) of IEEE
                  standard 802.3 defines a collision as the
                  simultaneous presence of signals on the DO and RD
                  circuits (transmitting and receiving at the same
                  time).  A 10BASE-T station can only detect
                  collisions when it is transmitting.  Thus probes
                  placed on a station and a repeater, should report
                  the same number of collisions.

                  Note also that an RMON probe inside a repeater
                  should ideally report collisions between the
                  repeater and one or more other hosts (transmit
                  collisions as defined by IEEE 802.3k) plus receiver
                  collisions observed on any coax segments to which
                  the repeater is connected."
              ::= { etherStatsEntry 13 }
      
          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
