在下面的示例MIB条目中:
--
-- Logging configuration
--
nsLoggingTable OBJECT-TYPE
SYNTAX SEQUENCE OF NsLoggingEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of individual logging output destinations, used to control
where various levels of output from the agent should be directed."
::= { nsConfigLogging 1 }
nsLoggingEntry OBJECT-TYPE
SYNTAX NsLoggingEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A conceptual row within the logging table."
INDEX { nsLogLevel, IMPLIED nsLogToken }
::= { nsLoggingTable 1 }
NsLoggingEntry ::= SEQUENCE {
nsLogLevel INTEGER,
nsLogToken DisplayString,
nsLogType INTEGER,
nsLogMaxLevel INTEGER,
nsLogStatus RowStatus
}在这里,RowStatus条目是NsLoggingEntry中的最后一个条目,可以将这个RowStatus条目放在NsLoggingEntry的任何地方(例如,在"nsLogToken DisplayString“之后)
发布于 2012-05-01 15:48:50
将条目nsLogStatus RowStatus移动到NsLoggingEntry序列中的不同位置是可能的,但是您需要更新列对象的顺序,以匹配序列的顺序。
为了提供更多细节,NsLoggingEntry ::= SEQUENCE定义了将在nsLoggingTable中组成条目的列。MIB文件应该对每一列都有进一步的定义,
nsLogStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-only
STATUS current
DESCRIPTION "<Some great description of this column>"
::= { nsLoggingEntry 5 }该定义的关键部分是::= { nsLoggingEntry 5 }行,它断言nsLogStatus将是nsLoggingTable行中的第五列。如果更改了NsLoggingEntry序列的顺序,则应确保各个列定义遵循该顺序。
例如,如果您更改了命令,
NsLoggingEntry ::= SEQUENCE {
nsLogLevel INTEGER,
nsLogToken DisplayString,
nsLogStatus RowStatus,
nsLogType INTEGER,
nsLogMaxLevel INTEGER
}每个列的OID分配应该变成,
nsLogLevel ::= { nsLoggingEntry 1 }
nsLogToken ::= { nsLoggingEntry 2 }
nsLogStatus ::= { nsLoggingEntry 3 }
nsLogType ::= { nsLoggingEntry 4 }
nsLogMaxLevel ::= { nsLoggingEntry 5 }还有一件事要记住:表的索引应该是序列中的第一列,所以nsLogLevel应该保持在它当前的位置,nsLogToken也一样。
https://stackoverflow.com/questions/10379219
复制相似问题