1
0
-1

We are using a box which is running netsnmp v5.7.2 as snmpagent. The interfaces in the box have speed as 10Gbps. The ifSpeed is mentioned as Gaugae which is basically a 32 bit value which can't accommodate the value as 10Gbps. The RFC mentions that in such cases the tool shall rely on the ifHighSpeed to report the interface speed which is correctly populated in my case. It seems that NMIS is ignoring the ifHighSpeed parameter of the interface mib (rfc2233). What are the expectations from NMIS tool for such cases? I am using NMIS 8.6.7G version of NMIS. Any pointers about this?


Can it be related to the contents of models-install/Model-net-snmp.nmis file? I downloaded the NMIS source code and see the following for ifSpeed:

'ifSpeed' => {

'oid' => 'ifSpeed',

'title' => 'Bandwidth',

'replace' => {

'10000000' => '100000000',

},

To me it seems that for net-snmp the NMIS tool is referring to this file for interpreting the data sent by the agent and it rounds off the data to 1Gbps?

For other vendors like Cisco the entry seems to consider the ifHighSpeed as following are the extracts from one Cisco specific file:

'ifSpeed' => {

'oid' => 'ifSpeed',

'title' => ' Bandwidth'

},


It would be helpful if I can get some pointers about how to interpret these nmis files?

    CommentAdd your comment...

    1 answer

    1.  
      1
      0
      -1

      You are correct, this is being done in the section of the model file you have identified.  If you'd like to use the ifHighSpeed oid then change the oid accordingly.   I suspect you'll need to leverage the replace function.  The mapping of oid name to the oid number is done in /usr/local/nmis8/mibs/nmis_mibs.oid.

      [root@opmantek models]# egrep 'ifSpeed|ifHighSpeed' /usr/local/nmis8/mibs/nmis_mibs.oid 
      "ifHighSpeed"           "1.3.6.1.2.1.31.1.1.1.15"
      "ifSpeed"               "1.3.6.1.2.1.2.2.1.5"

      Remember that anytime a model is altered a node update will need to be executed in order to see the change in the node. 

      /usr/local/nmis8/bin/nmis.pl force=true type=update node=<node_name>



      1. Sandeep Malik

        Thanks for your reply Cristopher. Let me try to re-phrase the issue. Please see the snippet from the mibs/traps/IF-MIB.my

        ifSpeed OBJECT-TYPE

        SYNTAX Gauge32

        MAX-ACCESS read-only

        STATUS current

        DESCRIPTION

        "An estimate of the interface's current bandwidth in bits

        per second. For interfaces which do not vary in bandwidth

        or for those where no accurate estimation can be made, this

        object should contain the nominal bandwidth. If the

        bandwidth of the interface is greater than the maximum value

        reportable by this object then this object should report its

        maximum value (4,294,967,295) and ifHighSpeed must be used

        to report the interace's speed. For a sub-layer which has

        no concept of bandwidth, this object should be zero."

        ::= { ifEntry 5 }

        Please see the highlighted text. It says if the box is having an interface whose speed can't be reported in ifSpeed, in that case, the box shall send maximum value and ifHighSpeed MUST be used to report the interface's speed. As per SNMP, the ifHighSpeed shall have the value reported as a multiple of millions bits per second. So for a 10Gbps link the box shall do the following:

        Send maximum value (4,294,967,295) in ifSpeed

        Send 10000 in ifHighSpeed

        Now our box is doing the same and this we can verify using the snmpget as well as snmpwalk. But when we try to see the node in the NMIS GUI, it always show 1Gbps.

        However, if we see the node from Cisco, the speed is shown as 10Gbps.

        Due to this, I was suspecting if there is any change required from configuration point of view in NMIS for net-snmp agents? If I just ask the NMIS to use the ifHighSpeed by replacing the oids, it would start reporting the speed as 10kbps considering 10000 been reported in the ifHighSpeed.

      CommentAdd your comment...