Snmp 科学记数法警告:命名编号'b10E-2';SMIv2中不得包含连字符

Snmp 科学记数法警告:命名编号'b10E-2';SMIv2中不得包含连字符,snmp,net-snmp,mib,Snmp,Net Snmp,Mib,我有带科学符号的整数字段。但我还有下一个警告: pThreshold OBJECT-TYPE SYNTAX INTEGER { b10E-2(2), b10E-3(3) } (4) warning: named number `b10E-2' must not include a hyphen in SMIv2 (4) warning: named number `b10E-3' must not include a hyphen in SMIv2

我有带科学符号的整数字段。但我还有下一个警告:

 pThreshold OBJECT-TYPE
        SYNTAX INTEGER { b10E-2(2), b10E-3(3) }
       (4) warning: named number `b10E-2' must not include a hyphen in SMIv2
       (4) warning: named number `b10E-3' must not include a hyphen in SMIv2
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "........"
            DEFVAL { b10E-3 }
           ::= { pGeneralEntry 3 }

出什么问题了?

您检查过SMIv2的标准了吗

根据RFC2578,当您声明
语法整数{b10E-2(2),b10E-3(3)}
时,您使用的是命名数字枚举

因此,作为标签,
b10E-2
b10E-3
显然是不合格的,因为它们根本不应该包含连字符


SMIv1确实允许连字符,但自从引入SMIv2以来,它已经过时了。因此,NET-SNMP警告您,您应该尝试删除连字符。

也许SNMP不喜欢科学符号?另外,是什么让你认为
b10E-2
是有效的科学符号
10E-2
-是,但启动
b
使其成为
b10E
标识符,后跟
-
。SNMP不关心符号,因为它在网络通信期间使用二进制编码(ASN.1)打包所有格式。然而,NetSNMP在mib中的表示法可能有一些限制。你试过用10进制表示你的数字吗?负指数也意味着一个浮点数,而不是整数;你确定这些是你想表达的数字吗?但是我怎么表达一个10E-9数字呢?0.000000001是唯一的方法吗?您想指定什么?SNMP仅为对象提供整数和有限的类型集。如果您想提供复杂的数据类型,您可以传递原始字节(通过八位字节字符串),或者定义有意义的字符串(也通过八位字节字符串)。请了解文本约定,