[Armadillo:04773] armadillo210 net-snmpへの独自エージェント組み込みについて

路川徹也 email@hidden
2009年 11月 30日 (月) 11:52:27 JST


 路川と申します。

 現在、armadillo210のnet-snmpに独自のエージェントを組み込もうとしています。
 マネージャとしてTWSNMPを使用してGETを行うと通信は動作しているようなのですが、
まともな値が取得できません。
 デバッグ表示を見る限りでは、SNMPパケットへの送受信後に組み込んだエージェント部
への動作を呼び出していないようです。
 一応、agent/armadillo210 の設定を参考にしてやってみたのですが、他に何か設定が
必要なのでしょうか。

 以下に、今回修正した部分を書いてみましたので、よろしくお願いします。

開発環境
 atde2-20090324
 armadillo-210(userlandはatdeへnfsマウント)
 atmark-dist-20090318

変更点
 ・atmark-dist-20090318/user/net-snmp/default.configure を修正
   ・変更
	set_option "--disable-debugging" -> #set_option "--disable-debugging"
   ・以下を追加
	if [ "$CONFIG_USER_UCDSNMP_SNMPD_HOGE" = y ]; then
    		set_option "--with-openssl=/usr/arm-linux/lib"
		set_option "--with-mib-modules=hoge/hoge"
	fi

 ・atmark-dist-20090318/user/net-snmp/agent/mibgroup に追加
   ・hoge.hを作成。ファイルの内容は、

     config_require(hoge/hoge)

   ・ディレクトリ hoge を追加
   ・ファイル hoge/hoge.c, hoge/hoge.h を追加
     hoge/hoge.c, hoge/hoge.hは他のマシンでmib2cのucd-snmpモードで作成
     コンパイルは通るものとする

やった事
 ・HPを参照し、armadillo210のuserlandをnfsマウントできるように変更
 ・atmark-dist-20090318で make menuconfig
  Kernel/Library/Defaults Selection -> Customize Vendor/User Settingsをチェック
  Userland Configration -> Network Applications -> net-snmp, net-snmp/snmpd, net-snmp/snmpd/hoge をチェック
  変更を保存
 ・atmark-dist-20090318で make
 ・変更したuserlandをatdeのnfsに設定したディレクトリにmount
 ・armadillo210が起動後にコンソールからsnmpdを一旦killして、snmpd -c /etc/snmp/snmpd.conf -Lとして
  ログを表示するようにして起動
 ・TWSNMPからGETを行うと、
      snmpd/select: returned, count = 1
      trace: receive(): snmpd.c, 1098
      snmpd/select: select( numfds=6, ..., tvp=0xbef35dec)
      trace: receive(): snmpd.c, 1098
    と表示される。通常は、count = 0だが、count = 1に変化するので、受信はしている様子。
  hoge.cには、関数init_hogeとvar_hogeの先頭にDEBUGMSGTLが入っているので、正常に動作していれば、
  これが表示されると考えられる。

-- 




armadillo メーリングリストの案内