パススルー制御で値を返すとき、出力内容はsnmpdでキャッシュされる。
同じOIDで問い合わせたときは、プログラムは起動されずキャッシュが出力される。
違うOIDで問い合わせたときは、キャッシュはクリアされる。キャッシュは30秒間保持される。
したがってsnmpgetで連続アクセスしても、プログラムは30秒に一度しか起動されない。
snmpwalkで値を表示したときは ほかのOIDでの問い合わせがあるので毎回プログラムが起動される。
The cache is hardcoded into the routine 'get_exec_output()'
Re: pass command problem (cache problem)
(in the file agent/mibgroup/util_funcs.c).
プログラム中にじかに書かれているので設定ファイル等での変更は不可能、ということらしい。