net-snmp: заставить таблицу иметь значение xxEntry 2 вместо 1 - PullRequest
2 голосов
/ 26 августа 2010

Использование net-snmp, код таблицы, сгенерированный mib2c -c mib2c.iterate.conf fooBarTable и затем сильно взломанный.

К сожалению, таблица определена с записью 2 вместо обычной 1. (Я этого не делал,Я пытаюсь вписать это в существующую ситуацию.) MIB выглядит примерно так:

fooBarTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF FooBarEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION    "blah"
    ::= { fooMIBObjects 8 }

fooBarEntry OBJECT-TYPE
    SYNTAX          FooBarEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "Stuff."
    INDEX { ifIndex }
    ::= { fooBarTable 2 }

Когда вы регистрируете таблицу с помощью net-snmp, вы просто даете ей OID вроде "..., 1,8 "(т.е. до fooBarTable, но не включая запись).Net-snmp неявно привязывает .1 к OID таблицы, а затем к столбцам, индексам и т. Д.

Есть ли частично поддерживаемый способ принудительно установить значение этого входа равным 2?(Т.е. не прибегая к взлому битов из объектов, которые передаются в обработчик.)

1 Ответ

2 голосов
/ 20 октября 2010

Нет, извините: нет поддерживаемого способа сделать это.Частично потому, что MIB, на который вы смотрите, недопустим в SMIv2.

Чтобы реализовать его, вам нужно либо изменить несколько мест в каталоге agent / helper (начиная со строки 328 таблицы table.c).и, возможно, в других местах) или реализовать таблицу с нуля, не используя вспомогательные модули вообще.

Но ничего, что дает mib2c, не решит это за вас.

...