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