Chelsio SNMP agent v1.1
-----------------------


================================================================================
Supported Linux kernels
================================================================================
This release of the Chelsio SNMP agent supports the following
Redhat Enterprise Linux 5 update 2 kernel (RHEL5.2, 2.6.18-92.el5),
Redhat Enterprise Linux 5 update 3 kernel (RHEL5.3, 2.6.18-128.el5),
Suse Linux Enterprise Server 10 SP2 kernel (SLES10.2, 2.6.16.60-0.21)



================================================================================
Installation of Chelsio SNMP Agent chelsio-snmpd
================================================================================

The SNMP agent must be installed by the root user.

* Prerequisites:
1) Chelsio Cards with driver version >=1.1 (1.2 for RHEL5 U3). Please remove
old driver if any exists.
2) net-snmp with version >=5.3.0 which will be acting as the Master agent.
3) pci-utils version >=2.2


* Install the Chelsio SNMP agent using rpm.
$ rpm -ivh chelsio-snmp-rhel5-1.1-1.x86_64.rpm ( RHEL 5 64 bit)
$ rpm -ivh chelsio-snmp-rhel5-1.1-1.i386.rpm ( RHEL 5 32 bit)
$ rpm -ivh chelsio-snmp-sles10-1.1-1.i586.rpm ( SLES 10 SP2 32bit)
$ rpm -ivh chelsio-snmp-sles10-1.1-1.x86_64.rpm ( SLES 10 SP2 64bit)


* After installing the package,
1) The agent will be installed in /etc/init.d with name chelsio-snmpd
2) The subagents will be installed in /opt/Chelsio/chelsio-snmp-agent/bin
directory
3) The Chelsio SNMP MIB will be installed in /usr/share/snmp/mibs
directory, and it will be also installed in /opt/Chelsio/
chelsio-snmp-agent/MIB directory.


* Please make sure that before running subagents, the master-agent(snmpd) and
trap receiver(snmptrapd) are started, if not please start
$ /etc/init.d/snmpd start
$ /etc/init.d/snmptrapd start

* Please start the subagents
$ /etc/init.d/chelsio-snmpd start


================================================================================
Operations
There are three simple requests/commands in SNMP protocol:

1. Get, Get Next, Get Bulk:
-> Get request is used to get the value of one or more MIB variables.
-> Get Next request is used to read values sequentially, often used
to read through a table of values.
-> Get-Bulk which is included in SNMPv2c is used to get multiple rows
at a time.

2. Set:
Set is used to update one or more MIB variables.

3. Trap:
To send unsolicited events/alarms as SNMP traps.


The chelsio-snmpd supports all 3 commands.

With chelsio-snmpd,
* Query the Driver, PCI, TOE parameters, Port Address, IP stats,
TCP stats, MAC stats.

* Set some of the values of TOE driver, offload parameters and
MTU of a port.

* Generate traps for the TxRx errors (TxPauseFrames, TxUnderrun,
RxPauseFrames, RxFCSErrors, RxSymbolErrors, RxJabberErrors,
RxLengthErrors, RxDrops, TxExtUnderrun, RxShortErrors, RxFIFOoverflow)
and linkstate (up/down).

Traps are classified into 3 catagories: Minor Traps, Major Traps and
Critical Traps, based on number of errors occured.

If (errors are in range 1-9)
Send minor trap
Elseif (errors are in range 10-99)
Send major trap
Else /* error > 99 */
Send critical trap

An example trap message:

CHCARD-MIB::chCardMajorAlarm CHCARD-MIB::chCardTrapSource.0 = STRING:
localhost.abc.com CHCARD-MIB::chCardTrapDate.0 = STRING: Thu
Feb 12 12:47:45 2009 CHCARD-MIB::chCardTrapMsg.0 = STRING: eth0:
10 Rx_FIFO_Overflow in 100000 Rx_frames


================================================================================
ERRATA:

* Set values exceeding the 32-bit integer range are truncated to their
nearest accommodable value(2^31-1 for +ve values and -2^31 for -ve values)
by the snmpset command on 32-bit machines.

* SNMP version 1/2c will not restrict a non-root user setting the values of
the rw-parameters if the rwcommunity name is disclosed.