Some traps are failing with following error with sysUpTime missing from traps pdu:
SNMP-EPARSER-Mangled or incorrect packet; parsing aborted and data discarded; in file "/work/redcurrent/DMT-<VERSION>/10/smarts/snmp/lib/SNMP_Parser.c" at line 1339
All Supported Smarts releases
These errors come when the trap does not follow RFC - 1448 (External Link: rfc1448) .
RFC 1448 states for SNMPv2 traps:
So for SNMPv2-Trap PDU, the1st and 2nd varbinds are pre-defined:
In this instance the mangled trap did not start with sysupTIme which is mandatory,
Example of mangled trap:
: VarBindList ->
35: VarBind -> SEQUENCE (0x30), 23 bytes:
37: OBJ-ID (0x06), 10 bytes == ".1.3.6.1.6.3.1.1.4.1.0" #snmpTrapOID
49: OBJ-ID (0x06), 9 bytes == "<snmpTrapOID Returned Value>"
for the ones with no error you can see
29: VarBindList ->
SEQUENCE (0x30), 238 bytes:
32: VarBind -> SEQUENCE (0x30), 16 bytes:
34: OBJ-ID (0x06), 8 bytes == ".1.3.6.1.2.1.1.3.0" #sysUpTime
44: TIME-TICKS (0x43), 4 bytes == <sysUpTime Returned Value>
Smarts is working as designed as it conforms to RFC 1448.
Hence this needs to be evaluated with the Device Vendor to ensure the traps sent by the device adhere to RFC 1448