Skip to content
Snippets Groups Projects
WR-SWITCH-MIB.txt 88 KiB
Newer Older
WR-SWITCH-MIB DEFINITIONS ::= BEGIN

-- Original MIB, Bugs and swearing by Alessandro Rubini
-- MIB rewritten by Adam Wujek, BE-CO-HT, CERN

-- During development all unused/not implemented objects are commented out
-- to avoid later changes

-- IMPORTS: Include definitions from other mibs here
IMPORTS
        OBJECT-TYPE, Integer32, Unsigned32, Counter32, Counter64,
        MODULE-IDENTITY, enterprises          FROM SNMPv2-SMI
        DisplayString                         FROM SNMPv2-TC;

-- A brief description and update information about this mib.
-- (I follow the CamelCase to be sure I don't mistype. Who knows the rules...
    LAST-UPDATED "201807181400Z"
    ORGANIZATION "CERN"
    CONTACT-INFO "postal:   BE-CO-HT, CERN, Geneva
                  email:    ht-drivers@cern.ch
                 "
    DESCRIPTION  "White Rabbit Switch internal details
                 "
    REVISION     "201807181400Z"
    DESCRIPTION
        Add wrsStartCntLdap
        Add in wrsPortStatusTable:
         - wrsPortStatusSfpDom
         - wrsPortStatusSfpTemp
         - wrsPortStatusSfpVcc
         - wrsPortStatusSfpTxBias
         - wrsPortStatusSfpTxPower
         - wrsPortStatusSfpRxPower
    REVISION     "201602171600Z"
    DESCRIPTION
        "Use 64bit counters for pstats. Make wrsPstats* obsolete,
        use wrsPstatsHC* instead."

    REVISION     "201508121200Z"
    DESCRIPTION
        "First revision."
    ::= { cern 100 }

cern OBJECT IDENTIFIER ::= { enterprises 96 }

-- Define typical mib nodes
-- we'll prefix everything in this mib with wrs (White Rabbit Switch)
wrsScalar      OBJECT IDENTIFIER ::= { wrSwitchMIB 1 }
--wrsPstatsTable OBJECT IDENTIFIER ::= { wrSwitchMIB 2 }  == obsolete
--wrsPpsi        OBJECT IDENTIFIER ::= { wrSwitchMIB 3 }  == obsolete
--wrsVersion     OBJECT IDENTIFIER ::= { wrSwitchMIB 4 }  == obsolete
--wrsDate        OBJECT IDENTIFIER ::= { wrSwitchMIB 5 }  == obsolete
wrsStatus             OBJECT IDENTIFIER ::= { wrSwitchMIB 6 }
wrsExpertStatus       OBJECT IDENTIFIER ::= { wrSwitchMIB 7 }

-- define one stupid object for a start
wrsScalarOne   OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Integer incremented at every GET"
    ::= { wrsScalar 1 }
-- wrsGeneralStatusGroup (.6.1)
wrsGeneralStatusGroup      OBJECT IDENTIFIER ::= { wrsStatus 1 }

wrsMainSystemStatus OBJECT-TYPE
    SYNTAX         INTEGER {
                        na(0),
                        ok(1),
                        error(2),
                        warning(3),
                        warningNA(4),
                        bug(5)
    }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Grouped status of WRS switch
            ok - other objects in wrsGeneralStatusGroup are ok
            error - there is an error in wrsGeneralStatusGroup
            warning - there is a warning in wrsGeneralStatusGroup
            warningNA - there is N/A field in wrsGeneralStatusGroup
            bug - bug in checking conditions of wrsGeneralStatusGroup, please report"
    ::= { wrsGeneralStatusGroup 1 }

wrsOSStatus OBJECT-TYPE
    SYNTAX         INTEGER {
                        na(0),
                        ok(1),
                        error(2),
                        warning(3),
                        warningNA(4),
                        bug(5)
    }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Grouped status of wrsOSStatusGroup
            ok - values in wrsOSStatusGroup are ok
            error - there is an error in wrsOSStatusGroup
            warning - there is a warning in wrsOSStatusGroup
            warningNA - there is N/A field in wrsOSStatusGroup
            bug - bug in checking conditions of wrsOSStatusGroup, please report"
    ::= { wrsGeneralStatusGroup 2 }

wrsTimingStatus OBJECT-TYPE
    SYNTAX         INTEGER {
                        na(0),
                        ok(1),
                        error(2),
                        warning(3),
                        warningNA(4),
                        bug(5)
    }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Grouped status of wrsTimingStatusGroup
            ok - values in wrsTimingStatusGroup are ok
            error - there is an error in wrsTimingStatusGroup
            warning - there is a warning in wrsTimingStatusGroup
            warningNA - there is N/A field in wrsTimingStatusGroup
            bug - bug in checking conditions of wrsTimingStatusGroup, please report"
    ::= { wrsGeneralStatusGroup 3 }

wrsNetworkingStatus OBJECT-TYPE
    SYNTAX         INTEGER {
                        na(0),
                        ok(1),
                        error(2),
                        warning(3),
                        warningNA(4),
                        bug(5)
    }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Grouped status of wrsNetworkingStatusGroup
            ok - values in wrsNetworkingStatusGroup are ok
            error - there is an error in wrsNetworkingStatusGroup
            warning - there is a warning in wrsNetworkingStatusGroup
            warningNA - there is N/A field in wrsNetworkingStatusGroup
            bug - bug in checking conditions of wrsNetworkingStatusGroup, please report"
    ::= { wrsGeneralStatusGroup 4 }
-- wrsDetailedStatusesGroup (.6.2)
wrsDetailedStatusesGroup   OBJECT IDENTIFIER ::= { wrsStatus 2 }

-- wrsOSStatusGroup (.6.2.1)
wrsOSStatusGroup           OBJECT IDENTIFIER ::= { wrsDetailedStatusesGroup 1 }

wrsBootSuccessful OBJECT-TYPE
    SYNTAX         INTEGER {
                        na(0),
                        ok(1),
                        error(2),
                        warning(3),
                        warningNA(4),
                        bug(5)
    }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Grouped status of wrsBootStatusGroup, indicating whether boot was
            successful
            ok - values in wrsBootStatusGroup are correct
            error - there is an error in wrsBootStatusGroup
            warning - there is a warning in wrsBootStatusGroup
            warningNA - there is N/A field in wrsBootStatusGroup
            bug - bug in checking conditions of wrsBootStatusGroup, please report"
    ::= { wrsOSStatusGroup 1 }

wrsTemperatureWarning OBJECT-TYPE
    SYNTAX         INTEGER {
                        na(0),
                        thresholdNotSet(1),
                        temperatureOK(2),
                        temperatureTooHigh(3)
    }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Warning if temperature exceed threshold levels"
    ::= { wrsOSStatusGroup 2 }

wrsMemoryFreeLow OBJECT-TYPE
    SYNTAX         INTEGER {
                        na(0),
                        ok(1),
                        error(2),
                        warning(3),
                        warningNA(4)
    }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Status of free memory. Based on wrsMemoryGroup.
            Error - more than 80% memory used
            Warning - more than 50% memory used"
    ::= { wrsOSStatusGroup 3 }
wrsCpuLoadHigh OBJECT-TYPE
    SYNTAX         INTEGER {
                        na(0),
                        ok(1),
                        error(2),
                        warning(3)
    }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Status of CPU load. Based on average load in group wrsCpuLoad.
            Error - average CPU load is more than 3 for 1min, 2 for 5min or 1.5 for 15min
            Warning - average CPU load is more than 2 for 1min, 1.5 for 5min or 1 for 15min"
wrsDiskSpaceLow OBJECT-TYPE
    SYNTAX         INTEGER {
                        na(0),
                        ok(1),
                        error(2),
                        warning(3),
                        warningNA(4)
    }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Status of used disk space. Based on wrsDiskTable.
            Error - more than 90% of any disk is used
            Warning - more than 80% of any disk is used"
    ::= { wrsOSStatusGroup 5 }

-- wrsTimingStatusGroup (.6.2.2)
wrsTimingStatusGroup       OBJECT IDENTIFIER ::= { wrsDetailedStatusesGroup 2 }

wrsPTPStatus OBJECT-TYPE
    SYNTAX         INTEGER {
                        na(0),
                        ok(1),
                        error(2),
    }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Grouped status of PTP daemon based on values in wrsPtpDataTable
            ok - Correct values in wrsPtpDataTable
            error - error in wrsPtpDataTable
            firstRead - unable to calculate deltas in first read"
    ::= { wrsTimingStatusGroup 1 }

wrsSoftPLLStatus OBJECT-TYPE
    SYNTAX         INTEGER {
                        na(0),
                        ok(1),
                        error(2),
                        warning(3),
                        warningNA(4),
                        bug(5)
    }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Grouped status of Soft PLL based on values in wrsSpllState
            ok - values in wrsSpllState are correct
            error - there is an error in wrsSpllState
            warning - there is a warning in wrsSpllState
            warningNA - there is N/A field in wrsSpllState
            bug - bug in checking conditions of wrsSpllState, please report"
    ::= { wrsTimingStatusGroup 2 }
wrsSlaveLinksStatus OBJECT-TYPE
    SYNTAX         INTEGER {
                        na(0),
                        ok(1),
    }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Grouped status of slave link statuses
            ok - all links have proper status
            error - wrong link status of at least one link
            warningNA - there is N/A in one of object used to calculate this value"
wrsPTPFramesFlowing OBJECT-TYPE
    SYNTAX         INTEGER {
                        na(0),
                        ok(1),
                        error(2),
                        warningNA(4),
                        firstRead(6)
    }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Grouped status of TX and RX PTP packets flowing
            ok - when there are PTP packets flowing in both directions on all
                 wr ports that are up
            warningNA - there is N/A in one of object used to calculate this value
            error - no PTP packets flowing on at least one wr up port
            firstRead - cannot calculate value from only one read"
-- wrsNetworkingStatusGroup (.6.2.3)
wrsNetworkingStatusGroup   OBJECT IDENTIFIER ::= { wrsDetailedStatusesGroup 3 }

wrsSFPsStatus OBJECT-TYPE
    SYNTAX         INTEGER {
                        na(0),
                        ok(1),
                        error(2),
                        warning(3),
                        warningNA(4),
                        bug(5)
    }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Grouped status of SFPs
            ok - all SFPs are ok
            error - there is an error in SFP
            warningNA - there is N/A in one of object used to calculate this value
            bug - bug in checking conditions of SFPs, please report"
    ::= { wrsNetworkingStatusGroup 1 }

wrsEndpointStatus OBJECT-TYPE
    SYNTAX         INTEGER {
                        na(0),
    }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Grouped status of all endpoints
             ok - all endpoints are ok
             error - erro in at least one endpoint
             firstRead - cannot calculate value from only one read"
    ::= { wrsNetworkingStatusGroup 2 }

wrsSwcoreStatus OBJECT-TYPE
    SYNTAX         INTEGER {
                        na(0),
    }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Overall status of Soft Core.
             ok - correct Soft Core status
             error - erroneous Soft Core status
             firstRead - cannot calculate value from only one read"
    ::= { wrsNetworkingStatusGroup 3 }

wrsRTUStatus OBJECT-TYPE
    SYNTAX         INTEGER {
                        na(0),
    }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "RTU status
             ok - correct RTU status
             error - erroneous RTU status
             firstRead - cannot calculate value from only one read"
    ::= { wrsNetworkingStatusGroup 4 }

-- wrsVersionGroup (.6.3)
wrsVersionGroup            OBJECT IDENTIFIER ::= { wrsStatus 3 }

wrsVersionSwVersion            OBJECT-TYPE
    SYNTAX                     DisplayString (SIZE (0..32))
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "The software version, as returned from 'git describe' at build time"
    ::= { wrsVersionGroup 1 }

wrsVersionSwBuildBy            OBJECT-TYPE
    SYNTAX                     DisplayString (SIZE (0..32))
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "The software build by, as returned from 'git config --get-all user.name' at build time"
    ::= { wrsVersionGroup 2 }

wrsVersionSwBuildDate          OBJECT-TYPE
    SYNTAX                     DisplayString (SIZE (0..32))
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "The build date of the software, '__DATE__' at build time"
    ::= { wrsVersionGroup 3 }

wrsVersionBackplaneVersion     OBJECT-TYPE
    SYNTAX                     DisplayString (SIZE (0..32))
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "The hardware version of minibackplane PCB"
    ::= { wrsVersionGroup 4 }

wrsVersionFpgaType             OBJECT-TYPE
    SYNTAX                     DisplayString (SIZE (0..32))
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "The hardware type of FPGA"
    ::= { wrsVersionGroup 5 }

wrsVersionManufacturer         OBJECT-TYPE
    SYNTAX                     DisplayString (SIZE (0..32))
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "The name of the manufacturing company of the switch"
    ::= { wrsVersionGroup 6 }

wrsVersionSwitchSerialNumber   OBJECT-TYPE
    SYNTAX                     DisplayString (SIZE (0..32))
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "The serial number (or string) of the switch"
    ::= { wrsVersionGroup 7 }

wrsVersionScbVersion           OBJECT-TYPE
    SYNTAX                     DisplayString (SIZE (0..32))
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "The version of the SCB (switch's motherboard)"
    ::= { wrsVersionGroup 8 }

wrsVersionGwVersion            OBJECT-TYPE
    SYNTAX                     DisplayString (SIZE (0..32))
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "The version of gateware (FPGA bitstream)"
    ::= { wrsVersionGroup 9 }

wrsVersionGwBuild              OBJECT-TYPE
    SYNTAX                     DisplayString (SIZE (0..32))
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "The build ID of gateware (FPGA bitstream)"
    ::= { wrsVersionGroup 10 }

wrsVersionSwitchHdlCommitId    OBJECT-TYPE
    SYNTAX                     DisplayString (SIZE (0..32))
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "The gateware version: commit ID of wr_switch_hdl"
    ::= { wrsVersionGroup 11 }

wrsVersionGeneralCoresCommitId OBJECT-TYPE
    SYNTAX                     DisplayString (SIZE (0..32))
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "The gateware version: commit of general-cores"
    ::= { wrsVersionGroup 12 }

wrsVersionWrCoresCommitId      OBJECT-TYPE
    SYNTAX                     DisplayString (SIZE (0..32))
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "The gateware version: commit of wr-cores"
    ::= { wrsVersionGroup 13 }

wrsVersionLastUpdateDate      OBJECT-TYPE
    SYNTAX                     DisplayString (SIZE (0..32))
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "Date and time of last firmware update, this information may not be
        accurate, due to hard restarts or lack of proper time at update."
-- wrsOperationStatus (.7.1)
wrsOperationStatus      OBJECT IDENTIFIER ::= { wrsExpertStatus 1 }

-- wrsCurrentTimeGroup (.7.1.1)
wrsCurrentTimeGroup     OBJECT IDENTIFIER ::= { wrsOperationStatus 1 }

wrsDateTAI      OBJECT-TYPE
    SYNTAX      Counter64 -- actually integer, but it is unsigned so ok
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current time, in TAI seconds"
    ::= { wrsCurrentTimeGroup 1 }
wrsDateTAIString   OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current TAI time, printed as %y-%m-%d-%H:%M:%S (no time zone)"
    ::= { wrsCurrentTimeGroup 2 }

--wrsBootStatusGroup (.7.1.2)
wrsBootStatusGroup      OBJECT IDENTIFIER ::= { wrsOperationStatus 2 }

wrsBootCnt      OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of switch's boots since power-on"
    ::= { wrsBootStatusGroup 1 }

wrsRebootCnt     OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The number of soft reboots. This is incremented by the
        reboot system call. A healthy system should feature one
        soft-reboot less than total boots."
    ::= { wrsBootStatusGroup 2 }

wrsRestartReason  OBJECT-TYPE
    SYNTAX       INTEGER {
                        na(0),
                        error(1),
                        generalReset(2),
                        wakeUpReset(3),
                        watchdogReset(4),
                        softwareReset(5),
    }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
      "Reason of last switch restart.
       error(1) - unable to read restart reason or reset counters
       generalReset(2) -  Both VDDCORE and VDDBU rising (power-on)
       wakeUpReset(3) - VDDCORE rising
       watchdogReset(4) - Watchdog fault occurred
       softwareReset(5) - Processor reset required by the software (system reboot)
       userReset(6) -  NRST pin detected low (reset button)
       restartByMonit(7) - Restart caused by Monit, please check wrsRestartReasonMonit
                           for program that caused problems"
    ::= { wrsBootStatusGroup 3 }

wrsFaultIP OBJECT-TYPE
    SYNTAX         OCTET STRING (SIZE(4))
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
        "The fault address of the last panic. This is the instruction
        pointer normally printed by the stack backtrace. The register
        is zeroed at first boot and only modified within panic."
    ::= { wrsBootStatusGroup 4 }

wrsFaultLR OBJECT-TYPE
    SYNTAX         OCTET STRING (SIZE(4))
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
        "The link register register at last panic.
        This is usually the caller of the function that failed,
        but it may be a local register if the failing function
        saved lr to the stack and used it as a scratch register."
    ::= { wrsBootStatusGroup 5 }

wrsConfigSource  OBJECT-TYPE
    SYNTAX       INTEGER {
                        na(0),
                        error(1),
                        errorMinor(2),
                        local(3),
                        remote(4),
                        tryDhcp(5),
                        forceDhcp(6)
    }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Source of used dotconfig
        local - used dot-config was stored on the switch
        remote - dot-config retrieved from the network check the
                 wrsConfigSourceUrl for the path
        tryDhcp - try to get URL to the dot-config via DHCP, if DHCP retrieve
                  fail do not propagate error to the wrsBootSuccessful;
        forceDhcp - get URL to the dot-config via DHCP, if failed propagate error
                    to the wrsBootSuccessful
        errorMinor - cannot read the status file, problem is probably somewhere
                     else"
    ::= { wrsBootStatusGroup 6 }

wrsConfigSourceUrl   OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..128))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    ::= { wrsBootStatusGroup 7 }

wrsRestartReasonMonit  OBJECT-TYPE
    SYNTAX         DisplayString (SIZE (0..32))
    MAX-ACCESS    read-only
    STATUS        current
        "Program's name which caused the monit to restart the switch due to too
         many crashes."
    ::= { wrsBootStatusGroup 8 }

wrsBootConfigStatus  OBJECT-TYPE
    SYNTAX       INTEGER {
                        na(0),
                        ok(1),
                        error(2),
                        downloadError(3),
                        checkError(4),
    }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Result of loading or downloading dot-config file
        ok - dot-config downloaded or loaded correctly
        downloadError - unable to download a file from a given source
        checkError - config file is not valid or too short (less than 200 characters).
        errorMinor - cannot read the status file, problem is probably somewhere else
        dhcpError - unable to get URL to dot-config via DHCP (only for forceDhcp)"
    ::= { wrsBootStatusGroup 9 }
wrsBootHwinfoReadout  OBJECT-TYPE
    SYNTAX       INTEGER {
                        na(0),
                        ok(1),
                        error(2),
                        errorMinor(3),
                        warning(4)
    }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Result of hwinfo readout
        ok - hwinfo readout successful
        error - hwinfo readout failed
        errorMinor - cannot read status file, problem is probably somewhere else
        warning - no hwinfo partition"
    ::= { wrsBootStatusGroup 10 }

wrsBootLoadFPGA  OBJECT-TYPE
    SYNTAX       INTEGER {
                        na(0),
                        ok(1),
                        error(2),
                        errorMinor(3),
                        fileNotFound(4)
    }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Result of loading FPGA
        ok - FPGA loaded successfully
        error - loading failed
        errorMinor - cannot read status file, problem is probably somewhere else
        fileNotFound - file to be loaded not found"
    ::= { wrsBootStatusGroup 11 }

wrsBootLoadLM32  OBJECT-TYPE
    SYNTAX       INTEGER {
                        na(0),
                        ok(1),
                        error(2),
                        errorMinor(3),
                        fileNotFound(4)
    }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Result of loading LM32
        ok - LM32 loaded successfully
        error - loading failed
        errorMinor - cannot read status file, problem is probably somewhere else
        fileNotFound - file to be loaded not found"
    ::= { wrsBootStatusGroup 12 }

wrsBootKernelModulesMissing  OBJECT-TYPE
    SYNTAX       INTEGER {
                        allKernelModulesPresent(0)
    }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Checking if all desired kernel modules are loaded.
        allKernelModulesPresent - all modules loaded
        other numbers represent number of modules not loaded
        other errors (like unable to open /proc/modules) are reported as maximum number of missing modules"
    ::= { wrsBootStatusGroup 13 }

wrsBootUserspaceDaemonsMissing  OBJECT-TYPE
    SYNTAX       INTEGER {
                        allDaemonsPresent(0)
    }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Checking if all desired daemons are running.
        allDaemonsPresent - all daemons running
        other numbers represent number of daemons not running
        other errors (can be: unable to run ps command or problem with multiple process instances) 
        are reported as maximum number of missing modules"
    ::= { wrsBootStatusGroup 14 }

wrsGwWatchdogTimeouts  OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Number of times the watchdog has restarted the HDL module responsible
        for the Ethernet switching process."
    ::= { wrsBootStatusGroup 15 }

wrsFwUpdateStatus  OBJECT-TYPE
    SYNTAX       INTEGER {
                        na(0),
                        ok(1),
                        checksumError(2)
    }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Status of the last firmware update.
        ok - Update successful
        checksumError - firmware checksum error"
    ::= { wrsBootStatusGroup 16 }

wrsCustomBootScriptSource OBJECT-TYPE
    SYNTAX       INTEGER {
                        na(0),
                        error(1),
                        errorMinor(2),
                        local(3),
                        remote(4),
                        disabled(5)
    }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Source of the custom boot script
        local - used custom boot script was stored on the switch
        remote - custom boot script was retrieved from the network; check the
                 wrsCustomBootScriptSourceUrl for the path
        disabled - do not run custom boot script
        errorMinor - cannot read the status file, problem is probably somewhere
                     else"
    ::= { wrsBootStatusGroup 17 }

wrsCustomBootScriptSourceUrl OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..128))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Url to the custom boot script"
    ::= { wrsBootStatusGroup 18 }


wrsCustomBootScriptStatus OBJECT-TYPE
    SYNTAX       INTEGER {
                        na(0),
                        ok(1),
                        failed(2),
                        wrongSrc(3),
                        downloadError(4),
                        disabled(5),
                        error(6),
                        errorMinor(7)
    }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The result of execution of the custom boot script
        ok - custom boot script executed successfully
        failed - custom boot script failed during execution
        wrongSrc - no valid source of the custom boot script present in dot-config
        downloadError - unable to download a file from a given source
        disabled - do not run custom boot script
        error - unsupported status
        errorMinor - cannot read the status file, problem is probably somewhere else"
    ::= { wrsBootStatusGroup 19 }

wrsAuxClkSetStatus             OBJECT-TYPE
    SYNTAX                     INTEGER {
                                   na(0),
                                   ok(1),
                                   failed(2),
                                   disabled(3),
                                   error(4),
                                   errorMinor(5)
                               }
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "Result of setting up auxclk on connector clk2
        ok - successful set pu of the auxclk
        failed - error while setting up the auxclk
        disabled - the setting up of the auxclk disabled in dot-config
        error - unsuported status
        errorMinor - cannot read the status file, the problem is probably
                     somewhere else"
    ::= { wrsBootStatusGroup 20 }

wrsThrottlingSetStatus         OBJECT-TYPE
    SYNTAX                     INTEGER {
                                   na(0),
                                   ok(1),
                                   failed(2),
                                   disabled(3),
                                   error(4),
                                   errorMinor(5)
                               }
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "Result of setting up a limit on the Rx bandwidth of the traffic that
        goes from WR ports to Linux.
        ok - successful set up of the throttling
        failed - error while setting up the throttling
        disabled - the setting up of the throttling disabled in dot-config
        error - unsuported status
        errorMinor - cannot read the status file, the problem is probably
                     somewhere else"
    ::= { wrsBootStatusGroup 21 }

wrsVlansSetStatus              OBJECT-TYPE
    SYNTAX                     INTEGER {
                                   na(0),
                                   ok(1),
                                   failed(2),
                                   disabled(3),
                                   error(4),
                                   errorMinor(5)
                               }
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "Result of setting up VLANs
        ok - successful set up of VLANs
        failed - error while setting up VLANs
        disabled - the setting up of VLANs disabled in dot-config
        error - unsuported status
        errorMinor - cannot read the status file, the problem is probably
                     somewhere else"
    ::= { wrsBootStatusGroup 22 }

-- wrsTemperatureGroup (.7.1.3)
wrsTemperatureGroup     OBJECT IDENTIFIER ::= { wrsOperationStatus 3 }

wrsTempFPGA OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "FPGA temperature"
    ::= { wrsTemperatureGroup 1 }

wrsTempPLL OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "PLL temperature"
    ::= { wrsTemperatureGroup 2 }

wrsTempPSL OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Power Supply Left (PSL) temperature"
    ::= { wrsTemperatureGroup 3 }

wrsTempPSR OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Power Supply Right (PSR) temperature"
    ::= { wrsTemperatureGroup 4 }

wrsTempThresholdFPGA OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Threshold level for FPGA temperature"
    ::= { wrsTemperatureGroup 5 }

wrsTempThresholdPLL OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Threshold level for PLL temperature"
    ::= { wrsTemperatureGroup 6 }

wrsTempThresholdPSL OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Threshold level for Power Supply Left (PSL) temperature"
    ::= { wrsTemperatureGroup 7 }

wrsTempThresholdPSR OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Threshold level for Power Supply Right (PSR) temperature"
    ::= { wrsTemperatureGroup 8 }
-- wrsMemoryGroup (.7.1.4)
wrsMemoryGroup     OBJECT IDENTIFIER ::= { wrsOperationStatus 4 }

wrsMemoryTotal OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Ram size in kB"
    ::= { wrsMemoryGroup 1 }

wrsMemoryUsed OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Used RAM in kB (Cache and buffers are not counted)"
    ::= { wrsMemoryGroup 2 }

wrsMemoryUsedPerc OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Percentage of used RAM"
    ::= { wrsMemoryGroup 3 }

wrsMemoryFree OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Free RAM in kB"
    ::= { wrsMemoryGroup 4 }

-- wrsCpuLoadGroup (.7.1.5)
wrsCpuLoadGroup     OBJECT IDENTIFIER ::= { wrsOperationStatus 5 }

wrsCPULoadAvg1min OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Load average over 1min multiplied by 100"
    ::= { wrsCpuLoadGroup 1 }

wrsCPULoadAvg5min OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Load average over 5min multiplied by 100"