#864 when 'pass' is used, agen does not call next EXEC

proxy-override-etc
closed
agent (1103)
5
2013-01-25
2003-10-07
Konstantin
No

Hello,

If I have config:
pass .1.3.6.1.4.1.2021.257 /tmp/passtest
pass .1.3.6.1.4.1.2021.258 /tmp/passtest1

When the 'getnext' is called where EXEC(passtest)
returns 'End of MIB' then normally EXEC(passtest1)
should be called. But now snmpd returns
snmpModules.10.2.1.1.0, something which is out my
defined MIBs.

Though it works fine if next EXEC was passed by
'pass_persist' :
pass .1.3.6.1.4.1.2021.257 /tmp/passtest
pass_persist .1.3.6.1.4.1.2021.258 /tmp/pass_persisttest1

and vice versa, if from 'pass_persist' goes to 'pass'.

Regards
Konstantin

Discussion

  • Logged In: YES
    user_id=88697

    which version net-snmp ? which operating system ?
    which compiler used to build, or where was the
    package created/made available ?

    Thanks!
    -Mike Slifcak

     
  • Logged In: YES
    user_id=88697

    Please provide test programs passtest and passtest1.

    or, try net-snmp-5.1.1 and add comment to this bug report.

    Thank you,
    -Mike Slifcak

     
  • Konstantin
    Konstantin
    2004-05-04

     
    Attachments
  • Konstantin
    Konstantin
    2004-05-04

     
    Attachments
  • Konstantin
    Konstantin
    2004-05-04

     
    Attachments
  • Konstantin
    Konstantin
    2004-05-04

    Logged In: YES
    user_id=881866

    Hi Mike,

    I tried the net-snmp version 5.1.1 downloaded from your site
    and make the build on Linux(SuSE 8.2).
    And still the same behaviour.
    I attache 3 files:
    pass_persisttest1, pass_persisttest2, snmpd.conf

    The pass_persisttest files are examples from the ucd-snmp-4.2.6.

    Here is some result from the command line:

    snmpgetnext lapkal enterprises.2021.102
    enterprises.2021.256.1 = "life the universe and everything"

    snmpgetnext lapkal enterprises.2021.256.5
    enterprises.2021.256.6 = Gauge32: 42

    snmpgetnext lapkal enterprises.2021.256.6
    enterprises.8072.1.2.1.1.4.0.1.0.0 = ""

    snmpgetnext lapkal enterprises.2021.257
    enterprises.2021.257.1 = "life the universe and everything 2 "

    You can see at the last two command that getnext reaches the
    end of the branch ..256 it does not jump to branch ..257 ,
    but it goes to next registered MIB ..8072.
    Although pass_persisttest2 returns good value as you can see
    at the last command.
    I tried also to put some debug prints to see if
    pass_persisttest2 is called at all but unfotunately I did
    not see anything from pass_persisttest2.

    Thank you.
    Konstantin

     
  • Logged In: YES
    user_id=88697

    IThe attached patch works well for multiple pass_persist objects

    I've modified a clone of pass_persisttest1, but I'm not certain
    that it is a properly formed Perl instance of a "pass" program.
    Can you provide copies of the pass_test1 and pass_test2,
    so that I can completely understand the problem ?

     
  • allows mutiple pass_persist objects to be walked

     
  • Logged In: YES
    user_id=88697

    I've added test scripts that drop into /tmp/t1
    Unpack then invoke "run_pass N" N=1,2,3,4
    case 1 - both are "pass"
    case 2 - test1 is "pass", test2 is persist
    case 3 - both are "persist"
    case 4 - test1 is persist, test2 is pass

    All tests are Perl scripts
    Without the patch-81954-multi-persist-1,
    only run 2 and run 4 give satisfactory results.
    With patch-81954-multi-persist-1 applied,
    run 2, 3, and 4 give good result
    (good means both MIB trees are traversed
    every time snmpwalk is invoked)..

    This completely does not touch the problem that you describe,
    however, it may be instructive in its resolution.

     
  • test pass and/or pass_persist combinations

     
    Attachments
  • simple test for patch-multi-pass

     
  • Logged In: YES
    user_id=88697

    download test-multi-pass.tar.gz; the scripts and
    configuration files
    are designed to be run from the /tmp/t1 directory.
    Read the README. Once the agent is prepared, run
    /tmp/t1/run_pass 1. You should see similar results
    with run_pass 2 run_pass 3 run_pass 4

    Download and apply the patch-multi-pass patch to a copy of
    the source.
    configure, make, make install (kill the running agent first!)
    Repeat run_pass 1 .. 4 The results should be very similar
    to what the README describes.

     
  • patch to traverse multiple pass and pass_persist hier

     
    Attachments
  • Logged In: YES
    user_id=88697

    The patch was applied to provide feedback operationally.
    This patch is left pending, should it be determined that the
    patch should not be applied.

     
  • Logged In: YES
    user_id=88697

    Thanks for the bug report! We've fixed the problem in the
    5.1.x code branch and the main development tree,
    so it should be fixed in future releases of the net-snmp package.

     
  • Konstantin
    Konstantin
    2004-07-07

    Logged In: YES
    user_id=881866

    Hi Mike,
    I tried the patch and it works fine now :)
    Thanx,
    Konstnatin