Mapping 在具有两个键索引的MIB表中,如何使用名称作为res id而不是索引

Mapping 在具有两个键索引的MIB表中,如何使用名称作为res id而不是索引,mapping,command-line-interface,snmp,mib,Mapping,Command Line Interface,Snmp,Mib,[问题描述] 我定义了一个带有两个索引的MIB表,该表如下所示: TerminationEntry OBJECT-TYPE SYNTAX TerminationEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An entry in the terminationTable ." INDEX {ifIndex, TkId} ::= {terminationTable 1} Tkname和TkId映射表是: TkMappingEn

[问题描述]
我定义了一个带有两个索引的MIB表,该表如下所示:

TerminationEntry OBJECT-TYPE
SYNTAX TerminationEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"An entry in the terminationTable ."
INDEX {ifIndex, TkId}
::= {terminationTable 1}
Tkname和TkId映射表是:

TkMappingEntry::=
    SEQUENCE            
    {
        tkMappingName            OCTET STRING,
        tkMappingId              INTEGER
    }
在CLI中,我定义了两个res id映射到这两个索引。对于TkId,用户应该输入TkName,TkName可以映射到TkId。CLI XML如下所示:

TerminationEntry OBJECT-TYPE
SYNTAX TerminationEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"An entry in the terminationTable ."
INDEX {ifIndex, TkId}
::= {terminationTable 1}

终端端口的唯一内部标识符
Tk的名字。
...
但是在测试期间,我发现当我输入一个未显示的TkName时,会调用下一个空闲字段,空闲索引存储在节点tknext中。但它并没有转移到终结者那里。因此,我的CLI命令失败,并且在CLI上出现错误:引用的实例不存在

[注意]
请帮助检查代码,并帮助我找到名称/id映射失败的原因。顺便说一下,我在signle index MIB表中尝试了name/id映射,没有问题。我不知道为什么两个索引MIB表中的同一代码会失败。

在field name=“index”中,应该删除访问“CommandFieldDefinition::mayBeReadDuringCreate_c”。
在创建节点期间,CLi应仅调用“下一个空闲”字段