2010-08-25 17 views
2

En utilisant net-snmp, code de table généré par mib2c -c mib2c.iterate.conf fooBarTable, puis fortement piraté.net-snmp: forcez la table pour avoir xxEntry valeur de 2 au lieu de 1

Malheureusement, la table est définie avec une entrée de 2 au lieu de la normale 1. (Je n'ai pas fait cela, j'essaie de faire correspondre cela à une situation existante.) La MIB ressemble à ceci:

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 } 

Lorsque vous enregistrez la table avec net-snmp, vous donne juste un OID comme » ..., 1,8" (c.-à fooBarTable, mais non l'entrée). Net-snmp ajoute implicitement le .1 à l'OID de la table, puis aux colonnes, indices, etc.

Existe-t-il un moyen semi-supporté pour forcer cette valeur d'entrée à 2? (C'est-à-dire sans avoir à pirater les bits des objets qui sont passés au gestionnaire.)

Répondre

2

Non, désolé: il n'y a pas de moyen supporté pour cela. En partie parce que le MIB que vous regardez n'est pas légal sous SMIv2. Pour l'implémenter, vous devez soit changer plusieurs points dans le répertoire agent/helper (en commençant par la ligne 328 de table.c et probablement d'autres endroits), soit implémenter une table entièrement à partir de zéro sans utiliser les modules auxiliaires à tout.

Mais rien de mib2c ne vous permet de résoudre cela pour vous.