我的任务是在我工作的公司对公司生成的MIB进行更改。这就是说,它生活在私有子树下。
MIB有一个表,表中定义了几个对象。他们想要重命名其中一个对象的名称。示例:
TableEntry ::=序列{ yada,yada OldName Integer32 }
我可以只编辑MIB文档以使用新名称吗?或者我是否需要废弃OldName并为新名称添加新的条目和对象?
TableEntry ::=序列{ yada,yada OldName Integer32,NewName Integer32 }
似乎这在网管系统上会更难,因为OldName上的GET不会为这个表返回这样的对象。
发布于 2019-03-23 01:47:44
对象名称仅供人类使用(或供人类使用的任何工具使用,如MIB编译器或IDE)。SNMP协议仅处理OID。
因此,最糟糕的做法是弃用并添加一个新条目,因为这样会破坏所有依赖旧OID的应用程序。
您的解决方案是用NewName替换OldName,而不是将其添加到序列中。
如果你想安全起见,你可以添加一个对象标识符子句,在你的示例中,在你的NewName定义之后,添加一个对象标识符子句,使该OID的第二个名称等价,例如。
NewName OBJECT-TYPE
...
::= { tableentry N }
-- N is a decimal number你可以添加
OldName OBJECT IDENTIFIER ::= { tableentry N }https://stackoverflow.com/questions/55302584
复制相似问题