SNMP MIB DISPLAY-HINT或UNITS - 哪一个优先?

时间:2013-02-19 08:11:20

标签: snmp mib

我正在编写MIB和SNMP代理。我似乎对DISPLAY-HINT和UNITS之间明显的冲突感到困惑。 NMS是否更适合拥有DISPLAY-HINT或UNITS的知识?

此问题的背景如下:MIB中的一个对象是mPowerVoltage:

FixedDiv10 ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d-1"
    STATUS       current
    DESCRIPTION  "Fixed point, one decimal"
    SYNTAX       Integer32

mPowerVoltage OBJECT-TYPE
    SYNTAX       FixedDiv10
    UNITS        "V/10"
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION "Power Voltage in desiVolts"
    ::= { mPowerEntry 2 }  -- an entry in a table with integer index

我理解的值在线上的实际传输,例如10.8 V在Integer32中传输为108。这是我将UNITS设置为“V / 10”的动机,并将对象描述为desiVolts中的电源电压。但是,当我使用snmpget时,我得到:

snmpget  -c public -v 1 -m -MY-MIB 192.168.1.3  mPowerVoltage.1
MY-MIB::mPowerVoltage.1 = INTEGER: 10.8 V/10

这确实是我指定的,但显然是错误的。

但我很难将UNITS改为“V”?因此,问题是,我应该删除DISPLAY-HINT,还是应该删除UNITS?

作何感想

1 个答案:

答案 0 :(得分:1)

据我所知,它们是两个不同的东西,所以两者都没有预见性。

DISPLAY-HINT告诉调用者如何放置小数点 - 所以在你的例子中,它打印出“线上”值108为10.8。

UNITS只是在数字之后附加的一些文本,与您输入的完全相同。在这种情况下,你肯定应该将单位改为“V”,因为你已告诉来电者用V除以10来显示数字。

然而,一个是文本约定的一部分似乎有点不一致,而另一个是对象定义的一部分。