I'm writing an SNMP agent and the MIB definition includes an OID of type Unsigned32.
The Unix implementation of the agent uses Net-SNMP and sets the OID as type ASN_UNSIGNED, since it doesn't have an ASN_UNSIGNED32. When I look at the GET response with Wireshark, it decodes it as a "Gauge32" value. That makes sense at first sight, because according to RFC 1902 Unsigned32 and Gauge32 are the same.
The Windows implementation is based on Windows' SnmpAPI.lib and sets the OID as ASN_UNSIGNED32 and when I look at the GET response with Wireshark, it decodes it as "Unsigned32". That looks even better to me.
How come the 2 implementations produce different results on the wire ?
Which is the correct version and how can I manage to get the same from both implementations ?