This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: SNMP lockup
On 2009-05-08, Sergei Gavrikov <sergei.gavrikov@gmail.com> wrote:
> If your guess is right...
It's not a guess.
The problem occurs when cyg_snmp_get_if() is called with if_num <= 0.
The loop takes 1-2 minutes to loop from -1, -2, back to 0,
causing the SNMP management thread to lock out all lower
priority threads while it's doing so.
> Can you walk here with/without tweaks when if_num=0
>
> repo/devo/ecos/packages/net/snmp/agent/current/src/mibgroup/mibII/interfaces.c:398
I don't understand what you're asking.
The SNMP manager is asking for the physical address for
interface 0, and things lock up for a couple minutes because
cyg_snmp_get_if() doesn't return. The same thing happens if
you ask for the interface name or any other attribute of
interface 0.
It also occurs if you ask for an attribute of an interface
number so large that it wraps into a negative number when
represented as a 2's compliment 32-bit int.
I'm surprised nobody else has run into this. I'm told all our
customers who have HP or Cisco SNMP managers have had to
disable SNMP support in our products to keep them from locking
up every few minutes.
--
Grant Edwards grante Yow! ... If I had heart
at failure right now,
visi.com I couldn't be a more
fortunate man!!
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss