snmpwalk无法使用“access-for-notify”项目走路表

时间:2012-04-03 15:55:58

标签: c snmp net-snmp mib

我有一个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 }

如果我尝试单独查询任何剩余项目(snmpgetsnmpgetnextsnmpset),一切正常,但当我尝试snmpwalk或{{ 1}},我收到一条错误,指出“未知列或不可读”。

我尝试改为“不可访问”,但它没有改变任何内容。

为什么net-snmp会尝试迭代“accessible-for-notify”项? 我该怎么办?


编辑:

在我的snmptable函数中,项目正在以这种方式初始化:

init_awOduChannelTable()

我把它改为:

tblnfo->min_column = 1;
tblnfo->max_column = 5;

所以现在它按照@rbelli的建议跳过了“access-for-notify”列。

感谢。

1 个答案:

答案 0 :(得分:1)

您可以将代码更改为从第2列而不是第1列开始。您可以将min_column中的值struct netsnmp_table_registration_info更改为值2.如果您需要更精细的调整,则可以更改netsnmp_column_info *valid_columns;字段,并说每列有效的列。