私はMIBからSNMPマネージャとシミュレートされたSNMPエージェントを作成しています(マネージャをテストするため)。私はマネージャーが行を追加/削除できるはずの、以下のようなテーブルを持っています。 RowStatusを使用してこれを行う通常の方法は何ですか? RowStatusが最初に設定されていますか?他のOIDをPDUに含めることはできますか?RowStatusの使い方は?
私の最初の使用例は、起動時にテーブルが空であることです。したがって、私がこのようなSET PDUを送信した場合:
createStuffEntry.1.1.1 = 1
createStuffEntry.2.1.1 = 1
createStuffEntry.3.1.1 = 99
createStuffEntry.4.1.1 = "Dustbunnies"
createStuffEntry.5.1.1 = 5
以下の定義に該当するはずですか? cRowStatusを省略した場合、どうなりますか?
createStuffTable OBJECT-TYPE
SYNTAX SEQUENCE OF CreateStuffEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A table for creating stuff."
::= { parentGroup 1 }
createStuffEntry OBJECT-TYPE
SYNTAX CreateStuffEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"An entry for building a stuff to create."
INDEX { cPlanID, cID }
::= { createStuffTable 1 }
CreateStuffEntry ::=
SEQUENCE {
cPlanID
INTEGER,
cID
INTEGER,
cTemplateID
INTEGER,
cStuffName
DisplayString,
cRowStatus
RowStatus
}
cPlanID OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The plan ID (cpPlanID)"
::= { createStuffEntry 1 }
cID OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The table entry index."
::= { createStuffEntry 2 }
cTemplateID OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The ID of the stuff template to create this stuff from."
::= { createStuffEntry 3 }
cStuffName OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The stuff name."
::= { createStuffEntry 4 }
cRowStatus OBJECT-TYPE
SYNTAX RowStatus
ACCESS read-write
STATUS current
DESCRIPTION
"This OID uses six main statuses:
active(1) is in use and available in stuffTable
notinService(2) it is present but not yet created
notReady(3) it is present but missing info
createAndGo(4) create stuff in stuffTable. Row will be
added to this table if necessary.
createAndWait(5) add stuff row to this table
destroy(6) will remove the stuff row
This OID is used to add/remove rows for stuff creation.
It can also be used to determine if a stuff has been
created successfully."
::= { createStuffEntry 5 }
注これはと同様の定義されたタイプのようなRowStatusを用いてSMI V1がMIBは、hereに記載されています。したがって、ここで述べるのではなく、読み込み作成を暗示します。
#2では、エージェントは、行ステータス変数がPDUに最初にロードされることを期待していますか?それは問題だろうか? –
** **重要ではありませんが、私が長年にわたって学んだことの1つは、ルールに従わないコードを書いて、そうしてはならないと期待しているということです。だから...私はそれを最初に置くだろう。何人かのエージェントがそれを期待しているからだ。 –
私はNortelのSNMPエージェントに対処しなければなりませんでした。これはスカラーオブジェクトと円柱オブジェクトとエンタープライズATMスイッチを停止させる可能性のあるシスコのエージェントを区別できませんでした。 SNMPはかなりシンプルで、実装者がRFCを実際に読んでいる人はほとんどいません。 –