On Fri, May 08, 2009 at 10:38:24PM +0000, Grant Edwards wrote: > On 2009-05-08, Sergei Gavrikov <[email protected]> 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.
Then fix it. > > > 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 [snip] > 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. I was just googling +'ifPhysAddress.0' It seems you are not alone :-) http://mtsc.moxa.com:8888/Software/DN/NPort/Firmware/NPort%205000/NPort%205600/ver3.2/VERSION.TXT <quote> ver3.1 (2006/05/16) 3. Fixed the problem that querying NPort by SNMP Software would cause NPort stop replying ethernet packet while querying "GET iso.3.6.1.2.1.2.2.1.6.0", which is resolved as "GET iso.org.dod.internet.mgmt.mib-2.interface.ifTable.ifEntry.ifPhysAddress.0". </quote> UCD-SNMP had a lot of holes. eCos UCD-SNMP implementation has even more holes :-( Good luck! Sergei -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
