implementation of the SNMP protocol is strict in that software only sends or receives SNMP messages that conform to the SNMP standard. By default, software only accepts conforming SNMP messages. Unfortunately, not all SNMP implementations are as strict. The result is that programs may receive nonconforming SNMP messages.

In some cases, software can successfully interpret and handle nonconforming messages. If you set the SM_SNMP_BUG_COMPATIBLE environment variable, software will accept the nonconforming SNMP messages in two cases:

  • When the type of an SNMP variable is not the required type but the value can be unambiguously interpreted as the required type. An example is when a TimeTicks variable type is sent as an Unsigned32 or non-negative Integer32 variable.

  • When the type of an SNMP variable is inconsistent with the version of the SNMP protocol that delivers the message. An example is when a Counter64 variable is sent in a version 1 (v1) SNMP message.

    When the SM_SNMP_BUG_COMPATIBLE environment variable is set, any invalid SNMP message that is accepted by the software is logged at a warning level to pinpoint the source of the invalid SNMP message and to determine the reason why it is invalid.

    SM_SNMP_BUG_COMPATIBLE is a Boolean.