[AGENT++] Problem using net-snmp as subagent (Error in packet)

Frank Fock fock at agentpp.com
Sat Feb 3 13:47:26 CET 2007


Hi Johnny,

Sorry, my comments were mistakable. In addition to
NET_SNMP_WORKAROUNDS you will need also
to change MAX_AGENTX_REPETITIONS to 1
because the NET-SNMP AgentX subagent still (v5.4) cannot
process AgentX GETBULK PDUs correctly:

// Set this to 1 if the AgentX++ master agent should talk to
// NET-SNMP 4.2.1 (this subagent handles GETBULK with more
// than one repetition incorrectly)
#define MAX_AGENTX_REPETITIONS    100

If this still does not help then you could try to reduce the modules
in the NET-SNMP sub-agent to your absolutely minimum, since
some modules have their own bugs and do strange things
when encoding their values.

There other MIB-II (at least part of them) implementations
for AGENT++ from third parties. I know that GPlicity.com
once offered them, but currently I do not know if and how
these modules are still available.

Best regards,
Frank

Johnny Ljunggren wrote:
> Hi
>
> It seems that NET_SNMP_WORKAROUNDS is enabled by default, so I have it
> activated. Luckily I'm not running on a 64bit system, but I'm a bit
> worried anyway.
> Do you think it would be possible to pay someone with a deeper knowledge
> about this to fix it?
> Is net-snmp the only way to get mib-II on linux?
> Where should I start to try to solve this? (apart from contacting the
> net-snmp ml, which I already did)
>
> Johnny
>
>
> Frank Fock wrote:
>   
>> Hi,
>>
>> Have you activated the NET-SNMP work-arounds in
>> agent++_def.h? The NET-SNMP AgentX implementation
>> has many bugs. For some of them, I had implemented
>> work-arounds that can be activated in AGENT++.
>>
>> I have reported those bugs to NET-SNMP.org but they
>> seem not to be able to fix them for about four years
>> now. When you run the NET-SNMP subagent on a 64bit
>> machine, things get even worse.
>>
>> Best regards,
>> Frank
>>
>> Johnny Ljunggren wrote:
>>     
>>> Hello
>>>
>>> I've made a master AgentX that uses net-snmp as subagent to provide
>>> mib-II
>>> information. I get a general failure if I try to get some of the OIDs.
>>> This only occurs when running net-snmp as subagent, because it will
>>> return
>>> the whole tree if running standalone.
>>>
>>> # snmpwalk -v 2c -c public localhost
>>> <snip some output>
>>> IF-MIB::ifOutQLen.2 = Gauge32: 0
>>> IF-MIB::ifOutQLen.3 = Gauge32: 0
>>> Error in packet.
>>> Reason: (genError) A general failure occured
>>> Failed object: IF-MIB::ifOutQLen.3
>>>
>>> # snmpwalk -v 2c -c public localhost IF-MIB::ifOutQLen.3
>>> Error in packet.
>>> Reason: (genError) A general failure occured
>>> Failed object: IF-MIB::ifOutQLen.3
>>>
>>> My agent outputs this:
>>> 20070202.22:25:53: 567: (1)ERROR  : MasterAgentXMib: invalid AgentX
>>> response
>>> (sd)(sid)(tid)(req-vbs)(resp-vbs): (15), (1), (96), (1), (0)
>>>
>>> I've tried using the plain master agent from the examples directory, and
>>> net-snmp 5.3.1 and 5.4 but the results are the same.
>>>
>>> I'd appreciate some help on resolving this issue.
>>> Where will the problem likely be?
>>> What are the usual reasons for this?
>>> Are there any other implementations of mib-II that I can use instead of
>>> net-snmp?
>>>
>>> best regards
>>>       
>> --
>> AGENT++
>> http://www.agentpp.com
>> http://www.mibexplorer.com
>> http://www.mibdesigner.com
>>
>>
>>     
>
>
>   


-- 
AGENT++
http://www.agentpp.com
http://www.mibexplorer.com
http://www.mibdesigner.com





More information about the AGENTPP mailing list