3

私は SNMP エージェントを実装していますが、「t11ZsZoneMemberIndex」オブジェクト (以下を参照) の値がどのように選択され、誰が値の一意性を強制するかについて、私の理解が正しいかどうかはわかりません。

私の理解では、SNMP マネージャーは「t11ZsZoneMemberIndex」オブジェクトの値を選択し、それを SET 操作の VarBind の「name」フィールドで使用します。SNMP エージェントは、SET を受信すると、「t11ZsZoneMemberIndex」値の一意性を強制します。これは正しいです?そうでない場合、なぜですか?

MIB テーブルは、RowStatus オブジェクトを持つ SMIv2 です。他の指標の値がどこから導出されるかを理解しています。

t11ZsZoneMemberTable OBJECT-TYPE

    SYNTAX SEQUENCE OF T11ZsZoneMemberEntry
    MAX-ACCESS not-accessible
::= { t11ZsConfiguration 6 }

t11ZsZoneMemberEntry OBJECT-TYPE

    SYNTAX T11ZsZoneMemberEntry
    MAX-ACCESS not-accessible
INDEX { fcmInstanceIndex, fcmSwitchIndex,
    t11ZsServerFabricIndex, t11ZsZoneMemberParentType,
    t11ZsZoneMemberParentIndex, t11ZsZoneMemberIndex }

::= { t11ZsZoneMemberTable 1 }

T11ZsZoneMemberEntry ::= SEQUENCE {

    t11ZsZoneMemberParentType INTEGER,
    t11ZsZoneMemberParentIndex Unsigned32,
    t11ZsZoneMemberIndex Unsigned32,
    t11ZsZoneMemberFormat T11ZsZoneMemberType,
    t11ZsZoneMemberID OCTET STRING,
    t11ZsZoneMemberRowStatus RowStatus
}

t11ZsZoneMemberParentType OBJECT-TYPE

    SYNTAX INTEGER {
        zone(1), -- member belongs to a Zone
        alias(2) -- member belongs to a Zone Alias
    }
    MAX-ACCESS not-accessible
::= { t11ZsZoneMemberEntry 1 }

t11ZsZoneMemberParentIndex OBJECT-TYPE

    SYNTAX Unsigned32 (1..4294967295)
    MAX-ACCESS not-accessible
::= { t11ZsZoneMemberEntry 2 }

t11ZsZoneMemberIndex OBJECT-TYPE

    SYNTAX Unsigned32 (1..4294967295)
    MAX-ACCESS not-accessible
    DESCRIPTION
        "An index value that uniquely identifies this Zone
        Member amongst all Zone Members in the Zone Set
        database of a particular Fabric on a particular switch."
::= { t11ZsZoneMemberEntry 3 }

t11ZsZoneMemberFormat OBJECT-TYPE

    SYNTAX T11ZsZoneMemberType
    MAX-ACCESS read-create
::= { t11ZsZoneMemberEntry 4 }

t11ZsZoneMemberID OBJECT-TYPE

    SYNTAX OCTET STRING (SIZE (1..255))
    MAX-ACCESS read-create
::= { t11ZsZoneMemberEntry 5 }

t11ZsZoneMemberRowStatus OBJECT-TYPE

    SYNTAX RowStatus
    MAX-ACCESS read-create
::= { t11ZsZoneMemberEntry 6 }
4

1 に答える 1

2

はい、そうです。ただし、もう少し複雑です。SNMP の要件は、MIB インデックスのセット全体をまとめたときに一意でなければならないというものです。したがって、上記の MIB には 6 つのインデックスがあるため、テーブル内の各行は、これらの 6 つの値のすべての組み合わせに対して 1 つの行を持つことができます。つまり、技術的には、別のインデックス値が異なる限り、t11ZsZoneMemberIndex の値が重複する可能性があります。

t11ZsZoneMemberIndex がそれ自体で一意であるという要件がある場合、MIB は実際にはそのように定義され、MIB INDEX リスト内の単一かつ唯一のオブジェクトになっている必要があります。インデックス自体に複数の一意のインデックスを追加する必要はありません (帯域幅の無駄です)。

しかし、複数の一意のインスタンスがあり、マネージャーが SET を実行するときにそれらが競合する可能性がある場合は、はい... SET 要求を拒否し、送信されるデータが内部と互換性がない場合にエラーを返すのはマネージャー次第です。何が受け入れられるかという概念。

于 2011-11-11T16:14:07.333 に答える