Issuing a single SNMP GET request that requests 10 variables is more efficient than issuing 10 GET requests each requesting a single variable. The SNMP poller consolidates as many variables as possible into a single SNMP GET request. The consolidation is not restricted to variables from the same SNMP table. Polling consolidation continually adapts to changes in the MIB variable poll list.
Upon encountering a nonfatal error during polling consolidation, the SNMP poller responds differently to an SNMPv1 agent than to an SNMPv2c or v3 agent for the following reason: Where an SNMPv1 agent stops processing a request upon encountering an error, an SNMPv2c or v3 agent continues processing a request upon encountering an error. An SNMPv2c or v3 agent handles errors on a per-OID basis.
If a nonfatal error is encountered by an SNMPv1 agent during a GET request seeking multiple variables, the SNMP poller suspends the polling of the affected variable. It suspends polling to prevent reduced performance of the SNMPv1 agent, since continuous polling of the affected variable would require the resending of the remainder of the request after receiving the error. The SNMP poller continues to poll the unaffected variables. (An example of an affected variable is one that has become unavailable due to a configuration change.) This behavior enables the SNMP poller to operate efficiently with an SNMPv1 agent during unexpected changes to a device’s configuration.
In contrast, if a nonfatal error is encountered by an SNMPv2c or v3 agent during a GET request seeking multiple variables, the SNMP poller continues the polling of the affected variable as well as the unaffected variables.