SNMP MIB显示提示或单位-哪一个优先?

SNMP MIB显示提示或单位-哪一个优先?,snmp,mib,Snmp,Mib,我正在编写一个MIB和一个SNMP代理。我似乎被显示提示和单位之间的明显冲突弄糊涂了。NMS最好有一个显示提示,还是了解单位 这个问题的背景如下:MIB中的一个对象是mPowerVoltage: FixedDiv10 ::= TEXTUAL-CONVENTION DISPLAY-HINT "d-1" STATUS current DESCRIPTION "Fixed point, one decimal" SYNTAX Integer32

我正在编写一个MIB和一个SNMP代理。我似乎被显示提示和单位之间的明显冲突弄糊涂了。NMS最好有一个显示提示,还是了解单位

这个问题的背景如下: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在整数32中传输为108。这就是我将单位设为“V/10”的动机,并将物体描述为以伏特为单位的电源电压。但是,当我使用snmpget时,我得到:

snmpget  -c public -v 1 -m -MY-MIB 192.168.1.3  mPowerVoltage.1
MY-MIB::mPowerVoltage.1 = INTEGER: 10.8 V/10
这确实是我所说的,但显然是错误的

但我很难把单位改成“V”?因此,问题是,我应该删除DISPLAY-HINT,还是应该删除单元


Baard

据我所知,它们是两种不同的东西,所以两者都不需要谨慎

DISPLAY-HINT告诉调用者如何放置小数点,因此在您的示例中,它将108的“在线”值打印为10.8

“单位”只是在数字后面追加的一点文本,与您键入的数字完全相同。在这种情况下,您肯定应该将单位改为“V”,因为您已经告诉呼叫者用V除以10来显示数字

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