Как се определя индексът на таблицата?

Гледам MIB файла на VMWare и те имат следната структура (очевидно съкратена):

vmwVmTable OBJECT-TYPE SYNTAX      
    SEQUENCE OF VmwVmEntry 
    ....

vmwVmEntry OBJECT-TYPE 
    SYNTAX VmwVmEntry 
    ....
VmwVmEntry ::= SEQUENCE { vmwVmIdx  Integer32, ... 

vmwVmIdx OBJECT-TYPE 
    SYNTAX Integer32 (0..65535) 
    MAX-ACCESS  not-accessible

Така че vmwVmIdx е индексът в таблицата, но е маркиран като недостъпен. И разбира се, ако го поискате, нищо не се връща. И така, как се определя индексът към таблицата? Виждал съм приложения, които могат да показват тази таблица, но как?

Дали всички приложения просто разглеждат последното цяло число на OID за всеки обект, който е извлечен, и приемат, че това е индексът? И ако случаят е такъв, как се съгласува с моя друг донякъде свързан въпрос?


person DougN    schedule 09.10.2012    source източник


Отговори (1)


След извършване на известно проучване се счита за най-добра практика да направите колоната на индекса недостъпна. Така че наистина взимате само последния бит от OID и го използвате за индекса.

По този начин, когато разглеждате записи в таблица, добавяте table.entryName. По-долу ще имате имената на колоните (и следователно трябва да имате MIB, за да знаете това, което трябваше да знаете, че така или иначе гледате таблица).

След като имате table.entryName.columnName, вижте какви записи имате по-долу. Каквото и да имате след това за OID на всяка извлечена стойност, е индексът.

person DougN    schedule 09.10.2012