A class for performing SNMP V2 queries on Foundry devices

copyright | Copyright (c) 2013, Open Source Solutions Limited, Dublin, Ireland
author | Barry O'Donovan

### Methods

## Get the device's chassis temperature

    actualTemperature() : int

> "Temperature of the chassis. Each unit is 0.5 degrees Celcius. > Only management module built with temperature sensor hardware > is applicable. For those non-applicable management module, it > returns no-such-name."

### Returns

`int`The device's chassis temperature

## Get the device's CPU utilisation - 1 min average

    cpu1minUtilisation() : int

### Returns

`int`The device's CPU utilisation - 1 min average

## Get the device's CPU utilisation - 1 sec average

    cpu1secUtilisation() : int

### Returns

`int`The device's CPU utilisation - 1 sec average

## Get the device's CPU utilisation - 5 sec average

    cpu5secUtilisation() : int

### Returns

`int`The device's CPU utilisation - 5 sec average

## Get the descriptions of the chassis' fans

    fanDescriptions() : array

### Returns

`array`Descriptions of the chassis' fans

## Get the device's fan states

    fanStates(boolean $translate = false) : array

see |

### Parameters

#### $translate

`boolean`

If true, return the string representation via self::$FAN_STATES

### Returns

`array`The device's fan states

## Get the SNMP instance

    getSNMP() : \OSS_SNMP\SNMP

### Returns

`\OSS_SNMP\SNMP`Instance of the SNMP object

## Is the device buffers adequate

    isBufferShortage() : bool

### Returns

`bool`Buffers adequate

## Are the device's DMAs in good condition?

    isDMAFailure() : bool

### Returns

`bool`DMAs in failure condition?

## Does the device have any excessive collision, FCS errors, alignment warning etc.

    isExcessiveError() : bool

### Returns

`bool`Does the device have any excessive collision, FCS errors, alignment warning etc.

## Are the device queues in overflow?

    isQueueOverflow() : bool

### Returns

`bool`Queues in overflow

## Does the device have a resource low warning?

    isResourceLow() : bool

### Returns

`bool`Does the device have a resource low warning?

## Get the device's dynamic memory available / free (bytes)

    memoryFree() : int

### Returns

`int`The device's dynamic memory available / free (bytes)

## Get the device's total memory capacity (bytes)

    memoryTotal() : int

### Returns

`int`The device's total memory capacity (bytes)

## Get the device's dynamic memory utilisation (percentage)

    memoryUtilisation() : int

> "The system dynamic memory utilization, in unit of percentage"

### Returns

`int`The device's dynamic memory usage utilisation

## Get the descriptions of the chassis' PSUs

    psuDescriptions() : array

### Returns

`array`Descriptions of the chassis' PSUs

## Get the device's PSU states

    psuStates(boolean $translate = false) : array

see |

### Parameters

#### $translate

`boolean`

If true, return the string representation via self::$PSU_STATES

### Returns

`array`The device's PSU states

## Get the device's serial number

    serialNumber() : string

> The serial number of the chassis. If the > serial number is unknown or unavailable then > the value should be a zero length string.

see |

### Returns

`string`The chassis serial number

## Set the SNMP instance

    setSNMP(\OSS_SNMP\SNMP $snmp) : \OSS_SNMP\MIB

### Parameters

#### $snmp

`\OSS_SNMP\SNMP`

the SNMP instance

### Returns

`\OSS_SNMP\MIB`An instance of this class for fluent interfaces

## Get the device's chassis shutdown temperature

    shutdownTemperature() : int

> "Actual temperature higher than this threshold value will shutdown > a partial of the switch hardware to cool down the system. Each unit > is 0.5 degrees Celcius. Only management module built with temperature > sensor hardware is applicable. For those non-applicable management > module, it returns no-such-name"

### Returns

`int`The device's chassis shutdown temperature

## Get the device's chassis temperature warning threshold

    warningTemperature() : int

> "Actual temperature higher than this threshold value will trigger > the switch to send a temperature warning trap. Each unit is 0.5 > degrees Celcius. Only management module built with temperature > sensor hardware is applicable. For those non-applicable management > module, it returns no-such-name."

### Returns

`int`The device's chassis temperature warning threshold

### Properties

## Text representation of fan states

    $FAN_STATES : array

### Default

`array(self::FAN_STATE_OTHER => 'other', self::FAN_STATE_NORMAL => 'normal', self::FAN_STATE_FAILURE => 'failure')`
Static

see |

## Text representation of PSU states

    $PSU_STATES : array

### Default

`array(self::PSU_STATE_OTHER => 'other', self::PSU_STATE_NORMAL => 'normal', self::PSU_STATE_FAILURE => 'failure')`
Static

see |

## Instance for the SNMP object

    $_snmp

### Default

`null`

### Constants

## Constant for possible value of chassis fan state - failure (3)

    FAN_STATE_FAILURE = 3

see |

## Constant for possible value of chassis fan state - normal (2)

    FAN_STATE_NORMAL = 2

see |

## Constant for possible value of chassis fan state - other (1)

    FAN_STATE_OTHER = 1

see |

## OID_ACTUAL_TEMPERATURE

    OID_ACTUAL_TEMPERATURE = '.1.3.6.1.4.1.1991.1.1.1.1.18.0'

## OID_CPU_1MIN_UTILISATION

    OID_CPU_1MIN_UTILISATION = '.1.3.6.1.4.1.1991.1.1.2.1.52.0'

## OID_CPU_1SEC_UTILISATION

    OID_CPU_1SEC_UTILISATION = '.1.3.6.1.4.1.1991.1.1.2.1.50.0'

## OID_CPU_5SEC_UTILISATION

    OID_CPU_5SEC_UTILISATION = '.1.3.6.1.4.1.1991.1.1.2.1.51.0'

## OID_FAN_DESCRIPTION

    OID_FAN_DESCRIPTION = '.1.3.6.1.4.1.1991.1.1.1.3.1.1.2'

## OID_FAN_STATE

    OID_FAN_STATE = '.1.3.6.1.4.1.1991.1.1.1.3.1.1.3'

## OID_GLOBAL_BUFFER_SHORTAGE

    OID_GLOBAL_BUFFER_SHORTAGE = '.1.3.6.1.4.1.1991.1.1.2.1.31.0'

## OID_GLOBAL_DMA_FAILURE

    OID_GLOBAL_DMA_FAILURE = '.1.3.6.1.4.1.1991.1.1.2.1.32.0'

## OID_GLOBAL_EXCESSIVE_ERROR

    OID_GLOBAL_EXCESSIVE_ERROR = '.1.3.6.1.4.1.1991.1.1.2.1.34.0'

## OID_GLOBAL_QUEUE_OVERFLOW

    OID_GLOBAL_QUEUE_OVERFLOW = '.1.3.6.1.4.1.1991.1.1.2.1.30.0'

## OID_GLOBAL_RESOURCE_LOW

    OID_GLOBAL_RESOURCE_LOW = '.1.3.6.1.4.1.1991.1.1.2.1.33.0'

## OID_MEMORY_FREE

    OID_MEMORY_FREE = '.1.3.6.1.4.1.1991.1.1.2.1.55.0'

## OID_MEMORY_TOTAL

    OID_MEMORY_TOTAL = '.1.3.6.1.4.1.1991.1.1.2.1.54.0'

## OID_MEMORY_UTILISATION

    OID_MEMORY_UTILISATION = '.1.3.6.1.4.1.1991.1.1.2.1.53.0'

## OID_PSU_DESCRIPTION

    OID_PSU_DESCRIPTION = '.1.3.6.1.4.1.1991.1.1.1.2.1.1.2'

## OID_PSU_STATE

    OID_PSU_STATE = '.1.3.6.1.4.1.1991.1.1.1.2.1.1.3'

## OID_SERIAL_NUMBER

    OID_SERIAL_NUMBER = '.1.3.6.1.4.1.1991.1.1.1.1.2.0'

## OID_SHUTDOWN_TEMPERATURE

    OID_SHUTDOWN_TEMPERATURE = '.1.3.6.1.4.1.1991.1.1.1.1.20.0'

## OID_WARNING_TEMPERATURE

    OID_WARNING_TEMPERATURE = '.1.3.6.1.4.1.1991.1.1.1.1.19.0'

## Constant for possible value of chassis PSU state - failure (3)

    PSU_STATE_FAILURE = 3

see |

## Constant for possible value of chassis PSU state - normal (2)

    PSU_STATE_NORMAL = 2

see |

## Constant for possible value of chassis PSU state - other (1)

    PSU_STATE_OTHER = 1

see |