In a testing (non-production) environment, users may find that some Simple Network Management Protocol (SNMP) MIBs are unavailable for invoking with the show snmp mib walk command.
show snmp mib walk
This article clarifies this is because a part of the SNMP MIBs is served by the " smihelperd " process, which does not run when no configuration is present under the [snmp] hierarchy.
smihelperd
[snmp]
It may happen that during some local testing, a part of the SNMP MIBs is unavailable for invoking with the show snmp mib walk command:
Example
user@mx960-re0> show snmp mib walk ascii jnxPfeMemory [edit] user@mx960-re0#
A part of the SNMP MIBs is served by the smihelperd process, which does not run when no configuration is present under the [snmp] hierarchy. As a result, when there is a blank SNMP configuration, these MIBs are not available.
On the other hand, any configuration (even traceoptions) triggers smihelperd to start and makes all previously missing MIBs available:
[edit] user@mx960-re0# show snmp [edit] user@mx960-re0# run show snmp mib walk ascii jnxPfeMemory [edit] user@mx960-re0# run show system processes | match smihelperd [edit] user@mx960-re0# set snmp traceoptions flag pdu [edit] user@mx960-re0# commit commit complete [edit] user@mx960-re0# run show system processes | match smihelperd 19555 - S 0:00.03 /usr/sbin/smihelperd -N [edit] user@mx960-re0# run show snmp mib walk ascii jnxPfeMemory jnxPfeMemoryUkernFreePercent.0 = 88 jnxPfeMemoryForwardingPercentFree.0.0.1 = 88 jnxPfeMemoryForwardingPercentFree.0.0.2 = 99 jnxPfeMemoryForwardingPercentFree.0.1.1 = 89 jnxPfeMemoryForwardingPercentFree.0.1.2 = 99
The issue is unlikely to appear in a production environment as in order to pull SNMP MIBs remotely, some minimal SNMP configuration is required.