SNMP engine update automation processing

To enable SNMP engine update automation, you must turn on NHtppd and assign an available port using the following properties in the snmp.props file:

NHttpd.EnableHTTP        : TRUE
NHttpd.ListeningPort     :  <any available port>

When enabled, SNMP engine update automation performs the following actions:

  1. When inconsistencies in engine boot or engine time are detected, the probe rejects the trap and sends an SNMPUSM ProbeWatch message containing the values of engineboot and enginetime from the cache and the remote device.
  2. The SNMPUSM ProbeWatch message gets processed by the mttrapd.snmpwatch.rules file and forwarded to the ObjectServer.
  3. The ProbeWatch insertion triggers mttrapd_set_engine_correction to issue the command to the PA which in turn executes mttrapd_Nhttp_SnmpActions.pl.
  4. mttrapd_Nhttp_SnmpActions.pl sends the set_engine_correction command with engine information using HTTP bidirection to the probe rules engine.
  5. mttrapd.bidir.rules processes the set_engine_correction command mapping the error type to its corresponding remedy action. Typically, the remedy calls the update_engine() probe rules function to update engineboot or enginetime in the probe cache.

Note: Two traps may be required to update both the engine boot and time issue.

The probe will accept any engine boot and engine time which is more than the cached engine boot and engine time. That is, the engine boot and time correction only gets triggered when either the remote engine boot is lesser than the cached engine boot, or the remote engine time is less than the cached engine time.

If the remote engine boot is less than the cached engine boot, the error reported will be: err:Remote boot count invalid

If the remote engine time is less than the cached engine time of more than 150s, the error reported will be: err:Message too old

So whether it takes one trap or two traps to correct the engine boot and time issue depends on what cached values the probe has and the current values the device has.

The following table shows whether one or two traps are required to correct the engine boot and time issue.
Table 1. Examples

Cached boot

Cached time

Remote boot

Remote time

# of traps to correct issue

100

0

0

1

1 (For err:Remote boot count invalid)

100

20800

0

20

2 (1st time for err:Remote boot count invalid.", 2nd time for "err:Message too old)

100

80090

100

0

1 (For err:Message too old)

100

1000

200

1001

1 (For err:Remote boot count invalid)

100

30000

101

30001

0 (No error here, as engine boot count is meant to be incremented when engine time reaches it maximum possible value.)