如 this post 中所述和 this note ,可以使用以下结构对 SNMP 中的嵌套表进行建模:
parentTable ... ::= { parentNode 1 } -- using index x
childTable ... ::= { parentNode 2 } -- using index x and y
即父表和子表注册在同一节点下(即在同一级别),这是我想要避免的事情(主要是因为它在此节点上有一个 OID,这在我的应用程序中是有问题的)处理)。
我的问题是:是否可以做完全相同的事情,唯一的区别是我在parentNode的子节点中注册子表?它看起来像这样:
subNode OBJECT IDENTIFIER ::= { parentNode 512 }
parentTable ... ::= { parentNode 1 } -- using index x
childTable ... ::= { subNode 1 } -- using index x and y
如果此语法有效,它是否具有与第一个版本相同的属性(删除 parentNode 中的原始数据也会删除 childNode 中相应的原始数据)?
最佳答案
详细说明请引用链接 https://sourceforge.net/p/net-snmp/mailman/message/24158139/
感谢chenyapu 引自优秀书籍理解 SNMP MIB(第 277 页):
The SNMP SMI does not allow a MIB writer to state that an object in a table is an array (an ASN.1 sequence). This restriction, known as "no table in a table" in the SNMP community, is a frequent source of frustration for beginning SNMP MIB designers.
关于nested - SNMP 嵌套表定义在父表下一级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30598525/