beautypg.com

Compaq AAR04BCTE User Manual

Page 67

background image

eSNMP API Routines

esnmp_register2

When restarting the eSNMP protocol by calling

esnmp_init

, all MIB subtree

registrations are cleared. All MIB subtrees must be reregistered.

A MIB subtree is identified by the base MIB variable name and its corresponding
OID. This tuple represents the parent of all MIB variables that are contained in
the MIB subtree; for example, the MIB II

tcp

subtree has an OID of 1.3.6.1.2.1.6.

All elements subordinate to this (those that have the same first 7 identifiers) are
included in the subtree’s object table. A MIB subtree can also be a single MIB
object (a leaf node) or even a specific instance.

By registering a MIB subtree, the subagent indicates that it will process SNMP
requests for all MIB variables (or OIDs) within that MIB subtree’s region.
Therefore, a subagent should register the most fully qualified (longest) MIB
subtree that still contains its instrumented MIB variables.

A subagent using the

esnmp_register2

routine can register the same MIB

subtree for the local node and for a cluster. To register the MIB subtree
for both, you must call the

esnmp_register2

routine twice: once with the

ESNMP_REG_OPT_CLUSTER bit set in the options field and once with the
ESNMP_REG_OPT_CLUSTER bit clear in the options field. Alternatively, you
can register a MIB subtree for the cluster only or for the local node only, by
setting or clearing the ESNMP_REG_OPT_CLUSTER bit, respectively, in the
options field.

A subagent can also register MIB subtrees that overlap the OID range of
MIB subtrees that it previously registered or the OID ranges of MIB subtrees
registered by other subagents.

For example, consider the two subagents

os_mibs

and

gated

. The

os_mibs

subagent registers the

ip

MIB subtree (1.3.6.1.2.1.4), and the

gated

subagent

registers the

ipRouteEntry

MIB subtree (1.3.6.1.2.1.4.21.1). Both of these

registrations are made with the ESNMP_REG_OPT_CLUSTER bit set in the
options field. Requests for

ip

MIB variables within

ipRouteEntry

, such as

ipRouteIfIndex

(1.3.6.1.2.1.4.21.1.2), are passed to the

gated

subagent. Requests

for other

ip

variables, such as

ipNetToMediaIfIndex

(1.3.6.1.2.1.4.22.1.1), are

passed to the

os_mibs

subagent. If the

gated

subagent terminates or unregisters

the

ipRouteEntry

MIB subtree, subsequent requests for

ipRouteIfIndex

go to

the

os_mibs

subagent. This occurs because the

ip

MIB subtree, which includes

all

ipRouteEntry

MIB variables, is now the authoritative region of requests for

ipRouteIfIndex

.

Return Values

SNMP_LIB_OK

The

esnmp_register2

routine has completed

successfully.

ESNMP_LIB_BAD_REG

The

esnmp_init

routine has not been called, the

timeout

parameter is invalid, a registration slot

is not available, or this MIB subtree has already
been queued for registration. A message is also
in the log file.

ESNMP_LIB_LOST_
CONNECTION

The subagent lost communication with the
master agent.

Note that the return value indicates only the initiation of the request. The actual
status returned in the master agent’s response will be returned in a subsequent
call to the

esnmp_poll

routine in the

state

field.

eSNMP API Routines 5–9