我一直在我所在的公司受命对公司生成的MIB进行更改。那就是它驻留在私有子树下。
MIB有一个表,表中定义了几个对象。
他们想要重命名对象之一的名称。
示例:
TableEntry :: = SEQUENCE {
亚达亚达
旧名称Integer32
}
我可以只编辑MIB文档以使用新名称吗?还是我需要弃用OldName并为新名称添加新条目和对象?
TableEntry :: = SEQUENCE { 亚达亚达 OldName Integer32, NewName Integer32 }
在NMS上,看起来像在OldName上的GET不会为该表返回任何此类对象,这似乎更困难。
答案 0 :(得分:1)
对象名称纯粹供人类使用(或供人类使用的任何工具,例如MIB编译器或IDE)。 SNMP协议仅处理OID。
因此,最糟糕的事情是弃用并添加一个新条目,此后 您将破坏所有依赖旧OID的应用程序。
您的解决方案是用NewName替换OldName,而不是将其添加到SEQUENCE。
如果您想安全起见,可以添加OBJECT IDENTIFIER子句, 在您的示例中,在您定义之后,该OID的第二名称等效 NewName,例如。
NewName OBJECT-TYPE
...
::= { tableentry N }
-- N is a decimal number
您可以添加
OldName OBJECT IDENTIFIER ::= { tableentry N }