2010-08-25 90 views
2

使用net-snmp,表代码由mib2c -c mib2c.iterate.conf fooBarTable生成,然后严重黑客入侵。net-snmp:强制表的xxEntry值为2而不是1

不幸的是,表格是用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,但不包括Entry)。 Net-snmp隐式地将.1添加到表格OID,然后是列,索引等。

是否有半支持的方法来强制该输入值为2? (也就是说,不需要从传入处理程序的对象中盗取位)。

回答

2

不,对不起:没有支持的方式来执行此操作。部分原因是您在SMIv2下正在盯着的MIB不合法。

要实现它,您需要更改agent/helper目录中的多个位置(从table.c的第328行开始并可能位于其他位置),或者完全从头开始实施表,而不使用帮助器模块所有。

但是没有任何mib2c会给你解决这个问题。

相关问题