我有一个MIB,其中3个表包含标记为“accessible-for-notify”的第一个元素项,如:
-- 1.3.6.1.4.1.3979.7.4.3.2.2.1
awOduChannelTable OBJECT-TYPE
SYNTAX SEQUENCE OF AwOduChannelEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Description."
::= { awOduChannels 1 }
-- 1.3.6.1.4.1.3979.7.4.3.2.2.1.1
awOduChannelEntry OBJECT-TYPE
SYNTAX AwOduChannelEntry
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
"Description."
INDEX { awTopRadioIndex, awOduIndex, awOduChannelIndex }
::= { awOduChannelTable 1 }
如果我尝试单独查询任何剩余项目(snmpget
,snmpgetnext
或snmpset
),一切正常,但当我尝试snmpwalk
或{{ 1}},我收到一条错误,指出“未知列或不可读”。
我尝试改为“不可访问”,但它没有改变任何内容。
为什么net-snmp会尝试迭代“accessible-for-notify”项? 我该怎么办?
编辑:
在我的snmptable
函数中,项目正在以这种方式初始化:
init_awOduChannelTable()
我把它改为:
tblnfo->min_column = 1;
tblnfo->max_column = 5;
所以现在它按照@rbelli的建议跳过了“access-for-notify”列。
感谢。
答案 0 :(得分:1)
您可以将代码更改为从第2列而不是第1列开始。您可以将min_column
中的值struct netsnmp_table_registration_info
更改为值2.如果您需要更精细的调整,则可以更改netsnmp_column_info *valid_columns;
字段,并说每列有效的列。