Description

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.

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.

Symptoms

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# 

Solution

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.