Software Development Kit (SDK) and API Discussions



Where do I find information on the NetApp SNMP MIBs and supported Data ONTAP versions?



The NetApp SNMP MIBs are at doc/mib directory. For more information, see the SDK help Getting started with the SDK > Version Matrix.


I have a somewhat related question, but specifically regarding querying the device for total disk space in a volume. I am running the following command in order to poll the device for total space used by a volume:

#> snmpwalk -c public -v 1 .

SNMPv2-SMI::enterprises.789. = INTEGER: -2147483648

But it comes back negative whenever the volume in question is over 2TB. Is this a known issue? Is there a work around? When or how can i fix this? It is causing some monitoring problems that i am trying to work around using perl, but so far i am not having any luck.



Until DOT 7.3, ONTAP only supports SNMP v1, and thus can only handle 32-bit values. So you'll find if you look at the MIB file that many values that need more bits are split between high order and low order bits. So to get the true value, you have to combine the 2 values to get the real value.

Starting in ONTAP 7.3, ONTAP supports SNMP v3 which supports larger values.


I am having the same issue where a volume >= 2TB is reporting as negative. I have switched to v3 and I still have the same issue.

What gives?

I have Data ONTAP Release 7.3 on a netapp 3140 with the latest mib for this OnTap version.

zenoss@ears-monitoring ~$ snmpwalk -v 3 -n "" -u USER -l authNoPriv -A PASSWORD FILER_HOST -a Md5
SNMPv2-SMI::enterprises.789. = INTEGER: -1349956220


PS I don't see how "combining the values" is a viable solution. What happens when we get to 4TB? or 8? How do we know many time we have rolled over.

PPS the base OID is SNMPv2-SMI, Could this hv e anything todo with it? Is there a seperate tree for v3?


You are looking at:

dfLowUsedKBytes .

If you support v3, you should be able to query the 64-bit value instead:

df64UsedKBytes .


If you want to continue using the low/high values for v1, here is the public report for a similar issue:

Some entries in the Quota Table of the SNMP MIB, including but not necessarily
limited to qrVKBytesLimit (snmp. are internally
defined as uint4, which is an unsigned 32 bit integer.
However the SNMP definition of INTEGER is a +- 2147483647 range.
So when the internal count exceeds 2147483647, the displayed value will show as
a negative number.
Post process the value to produce an unsigned 32 bit integer.
if (x < 0) x = 4294967296 + x
For file systems larger than 4TB the qrV2Table(. may be 
used. Starting with ONTAP 6.5 the qrV2Table splits the snmp variables into 
High 32bit and Low 32bit snmp INTEGERs.
The equation to combine these is:
if (Low >= 0) x = High * 2^32 + Low
if (Low < 0)  x = (High + 1) * 2^32 + Low


Changing the OID worked.



The MIBs are now moved out of SDK are not bundled as part of SDK.

Please refer to this post


Details of MIBs and traps supported in C-Mode is documented in KB article -

NetApp on Discord Image

We're on Discord, are you?

Live Chat, Watch Parties, and More!

Explore Banner

Meet Explore, NetApp’s digital sales platform

Engage digitally throughout the sales process, from product discovery to configuration, and handle all your post-purchase needs.

NetApp Insights to Action
I2A Banner