Owner's Manual

Events, Rules and Actions 847
calculated thusly: if the value of generic-trap field is `enterpriseSpecific', then the value used
is the concatenation of the enterprise field from the Trap-PDU with two additional sub-
identifiers, `0', and the value of the specific-trap field; otherwise, the value of the
corresponding trap defined in [6] is used. (For example, if the value of the generic-trap field is
`coldStart', then the coldStart trap [6] is used.) Then, one new binding is appended onto the
variable-bindings field: snmpTrapEnterprise.0 [6], which takes its value from the enterprise
field of the Trap-PDU. The destinations for the SNMPv2-Trap-PDU are determined in an
implementation-dependent fashion by the proxy agent.
This is not completely accurate. Many vendors defined a trap for SNMPv2 and then had to support
sending as SNMPv1 protocol. The assembly of v2 OID from v1 enterprise and specific is supposed
to include an extra `0'; enterpriseOID.0.specific. However, if a v2 trap is defined that has no '0' in it,
so it cannot be sent as v1 and converted back following the specifications
Send as proxy option
This application can forward a trap as though it came from device (sourceIP spoofing) or act as an
agent proxy according to the SNMP-COMMUNITY-MIB.
If not sending as proxy, we forward trap from application server cluster as an SNMPv2 notification
as though it is coming directly from the originating agent (device). This is common and desired
behavior in most cases. Some operating systems prevent packet spoofing as a security measure and
this forced us to make this behavior optional.
If sending as proxy, the trap is forwarded from application server cluster using the application server
IP as sourceIP. The relevant snippet from SNMP-COMMUNITY-MIB is the following:
--
-- The snmpTrapAddress and snmpTrapCommunity objects are included
-- in notifications that are forwarded by a proxy, which were
-- originally received as SNMPv1 Trap messages.
--
snmpTrapAddress OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
"The value of the agent-addr field of a Trap PDU which
is forwarded by a proxy forwarder application using
an SNMP version other than SNMPv1. The value of this
object SHOULD contain the value of the agent-addr field
from the original Trap PDU as generated by an SNMPv1