snmpwalk не может ходить по столу с элементом «доступно для уведомления» - PullRequest
1 голос
/ 03 апреля 2012

У меня есть MIB, где 3 таблицы содержат элементы первого элемента, помеченные как «доступные для уведомления», например:

    -- 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 или snmptable, я получаю сообщение об ошибке " неизвестный столбец или не читаемый ".

Я попытался изменить на «недоступный», но ничего не изменилось.

Почему net-snmp пытается перебирать элементы, доступные для уведомления? Что я должен сделать, чтобы исправить?


EDIT:

В моей функции init_awOduChannelTable() элементы инициализировались следующим образом:

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

Я изменил его на:

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

Так что теперь он пропускает столбец «доступно для уведомления», как предлагает @ rbelli.

Спасибо.

1 Ответ

1 голос
/ 03 апреля 2012

Вы можете изменить код для запуска в столбце 2 вместо столбца 1. Вы можете изменить значение min_column в struct netsnmp_table_registration_info на значение 2. А если вам нужна более точная настройка, вы можете изменить netsnmp_column_info *valid_columns; поле и говорит столбец на столбец, который является действительным.

...