123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541 |
-
-
-
-
-
-
-
- Network Working Group Editors of this version:
- Request for Comments: 2578 K. McCloghrie
- STD: 58 Cisco Systems
- Obsoletes: 1902 D. Perkins
- Category: Standards Track SNMPinfo
- J. Schoenwaelder
- TU Braunschweig
- Authors of previous version:
- J. Case
- SNMP Research
- K. McCloghrie
- Cisco Systems
- M. Rose
- First Virtual Holdings
- S. Waldbusser
- International Network Services
- April 1999
-
-
- Structure of Management Information Version 2 (SMIv2)
-
-
- Status of this Memo
-
- This document specifies an Internet standards track protocol for the
- Internet community, and requests discussion and suggestions for
- improvements. Please refer to the current edition of the "Internet
- Official Protocol Standards" (STD 1) for the standardization state
- and status of this protocol. Distribution of this memo is unlimited.
-
- Copyright Notice
-
- Copyright (C) The Internet Society (1999). All Rights Reserved.
-
-
- Table of Contents
-
- 1 Introduction .................................................3
- 1.1 A Note on Terminology ......................................4
- 2 Definitions ..................................................4
- 2.1 The MODULE-IDENTITY macro ..................................5
- 2.2 Object Names and Syntaxes ..................................5
- 2.3 The OBJECT-TYPE macro ......................................8
- 2.5 The NOTIFICATION-TYPE macro ...............................10
- 2.6 Administrative Identifiers ................................11
- 3 Information Modules .........................................11
- 3.1 Macro Invocation ..........................................12
- 3.1.1 Textual Values and Strings ..............................13
-
-
- McCloghrie, et al. Standards Track [Page 1]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- 3.2 IMPORTing Symbols .........................................14
- 3.3 Exporting Symbols .........................................14
- 3.4 ASN.1 Comments ............................................14
- 3.5 OBJECT IDENTIFIER values ..................................15
- 3.6 OBJECT IDENTIFIER usage ...................................15
- 3.7 Reserved Keywords .........................................16
- 4 Naming Hierarchy ............................................16
- 5 Mapping of the MODULE-IDENTITY macro ........................17
- 5.1 Mapping of the LAST-UPDATED clause ........................17
- 5.2 Mapping of the ORGANIZATION clause ........................17
- 5.3 Mapping of the CONTACT-INFO clause ........................18
- 5.4 Mapping of the DESCRIPTION clause .........................18
- 5.5 Mapping of the REVISION clause ............................18
- 5.5.1 Mapping of the DESCRIPTION sub-clause ...................18
- 5.6 Mapping of the MODULE-IDENTITY value ......................18
- 5.7 Usage Example .............................................18
- 6 Mapping of the OBJECT-IDENTITY macro ........................19
- 6.1 Mapping of the STATUS clause ..............................19
- 6.2 Mapping of the DESCRIPTION clause .........................20
- 6.3 Mapping of the REFERENCE clause ...........................20
- 6.4 Mapping of the OBJECT-IDENTITY value ......................20
- 6.5 Usage Example .............................................20
- 7 Mapping of the OBJECT-TYPE macro ............................20
- 7.1 Mapping of the SYNTAX clause ..............................21
- 7.1.1 Integer32 and INTEGER ...................................21
- 7.1.2 OCTET STRING ............................................21
- 7.1.3 OBJECT IDENTIFIER .......................................22
- 7.1.4 The BITS construct ......................................22
- 7.1.5 IpAddress ...............................................22
- 7.1.6 Counter32 ...............................................23
- 7.1.7 Gauge32 .................................................23
- 7.1.8 TimeTicks ...............................................24
- 7.1.9 Opaque ..................................................24
- 7.1.10 Counter64 ..............................................24
- 7.1.11 Unsigned32 .............................................25
- 7.1.12 Conceptual Tables ......................................25
- 7.1.12.1 Creation and Deletion of Conceptual Rows .............26
- 7.2 Mapping of the UNITS clause ...............................26
- 7.3 Mapping of the MAX-ACCESS clause ..........................26
- 7.4 Mapping of the STATUS clause ..............................27
- 7.5 Mapping of the DESCRIPTION clause .........................27
- 7.6 Mapping of the REFERENCE clause ...........................27
- 7.7 Mapping of the INDEX clause ...............................27
- 7.8 Mapping of the AUGMENTS clause ............................29
- 7.8.1 Relation between INDEX and AUGMENTS clauses .............30
- 7.9 Mapping of the DEFVAL clause ..............................30
- 7.10 Mapping of the OBJECT-TYPE value .........................31
- 7.11 Usage Example ............................................32
-
-
- McCloghrie, et al. Standards Track [Page 2]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- 8 Mapping of the NOTIFICATION-TYPE macro ......................34
- 8.1 Mapping of the OBJECTS clause .............................34
- 8.2 Mapping of the STATUS clause ..............................34
- 8.3 Mapping of the DESCRIPTION clause .........................35
- 8.4 Mapping of the REFERENCE clause ...........................35
- 8.5 Mapping of the NOTIFICATION-TYPE value ....................35
- 8.6 Usage Example .............................................35
- 9 Refined Syntax ..............................................36
- 10 Extending an Information Module ............................37
- 10.1 Object Assignments .......................................37
- 10.2 Object Definitions .......................................38
- 10.3 Notification Definitions .................................39
- 11 Appendix A: Detailed Sub-typing Rules ......................40
- 11.1 Syntax Rules .............................................40
- 11.2 Examples .................................................41
- 12 Security Considerations ....................................41
- 13 Editors' Addresses .........................................41
- 14 References .................................................42
- 15 Full Copyright Statement ...................................43
-
- 1. Introduction
-
- Management information is viewed as a collection of managed objects,
- residing in a virtual information store, termed the Management
- Information Base (MIB). Collections of related objects are defined
- in MIB modules. These modules are written using an adapted subset of
- OSI's Abstract Syntax Notation One, ASN.1 (1988) [1]. It is the
- purpose of this document, the Structure of Management Information
- (SMI), to define that adapted subset, and to assign a set of
- associated administrative values.
-
- The SMI is divided into three parts: module definitions, object
- definitions, and, notification definitions.
-
- (1) Module definitions are used when describing information modules.
- An ASN.1 macro, MODULE-IDENTITY, is used to concisely convey the
- semantics of an information module.
-
- (2) Object definitions are used when describing managed objects. An
- ASN.1 macro, OBJECT-TYPE, is used to concisely convey the syntax
- and semantics of a managed object.
-
- (3) Notification definitions are used when describing unsolicited
- transmissions of management information. An ASN.1 macro,
- NOTIFICATION-TYPE, is used to concisely convey the syntax and
- semantics of a notification.
-
-
-
-
- McCloghrie, et al. Standards Track [Page 3]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- 1.1. A Note on Terminology
-
- For the purpose of exposition, the original Structure of Management
- Information, as described in RFCs 1155 (STD 16), 1212 (STD 16), and
- RFC 1215, is termed the SMI version 1 (SMIv1). The current version
- of the Structure of Management Information is termed SMI version 2
- (SMIv2).
-
- 2. Definitions
-
- SNMPv2-SMI DEFINITIONS ::= BEGIN
-
-
- -- the path to the root
-
- org OBJECT IDENTIFIER ::= { iso 3 } -- "iso" = 1
- dod OBJECT IDENTIFIER ::= { org 6 }
- internet OBJECT IDENTIFIER ::= { dod 1 }
-
- directory OBJECT IDENTIFIER ::= { internet 1 }
-
- mgmt OBJECT IDENTIFIER ::= { internet 2 }
- mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }
- transmission OBJECT IDENTIFIER ::= { mib-2 10 }
-
- experimental OBJECT IDENTIFIER ::= { internet 3 }
-
- private OBJECT IDENTIFIER ::= { internet 4 }
- enterprises OBJECT IDENTIFIER ::= { private 1 }
-
- security OBJECT IDENTIFIER ::= { internet 5 }
-
- snmpV2 OBJECT IDENTIFIER ::= { internet 6 }
-
- -- transport domains
- snmpDomains OBJECT IDENTIFIER ::= { snmpV2 1 }
-
- -- transport proxies
- snmpProxys OBJECT IDENTIFIER ::= { snmpV2 2 }
-
- -- module identities
- snmpModules OBJECT IDENTIFIER ::= { snmpV2 3 }
-
- -- Extended UTCTime, to allow dates with four-digit years
- -- (Note that this definition of ExtUTCTime is not to be IMPORTed
- -- by MIB modules.)
- ExtUTCTime ::= OCTET STRING(SIZE(11 | 13))
- -- format is YYMMDDHHMMZ or YYYYMMDDHHMMZ
-
-
- McCloghrie, et al. Standards Track [Page 4]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- -- where: YY - last two digits of year (only years
- -- between 1900-1999)
- -- YYYY - last four digits of the year (any year)
- -- MM - month (01 through 12)
- -- DD - day of month (01 through 31)
- -- HH - hours (00 through 23)
- -- MM - minutes (00 through 59)
- -- Z - denotes GMT (the ASCII character Z)
- --
- -- For example, "9502192015Z" and "199502192015Z" represent
- -- 8:15pm GMT on 19 February 1995. Years after 1999 must use
- -- the four digit year format. Years 1900-1999 may use the
- -- two or four digit format.
-
- -- definitions for information modules
-
- MODULE-IDENTITY MACRO ::=
- BEGIN
- TYPE NOTATION ::=
- "LAST-UPDATED" value(Update ExtUTCTime)
- "ORGANIZATION" Text
- "CONTACT-INFO" Text
- "DESCRIPTION" Text
- RevisionPart
-
- VALUE NOTATION ::=
- value(VALUE OBJECT IDENTIFIER)
-
- RevisionPart ::=
- Revisions
- | empty
- Revisions ::=
- Revision
- | Revisions Revision
- Revision ::=
- "REVISION" value(Update ExtUTCTime)
- "DESCRIPTION" Text
-
- -- a character string as defined in section 3.1.1
- Text ::= value(IA5String)
- END
-
-
- OBJECT-IDENTITY MACRO ::=
- BEGIN
- TYPE NOTATION ::=
- "STATUS" Status
- "DESCRIPTION" Text
-
-
- McCloghrie, et al. Standards Track [Page 5]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- ReferPart
-
- VALUE NOTATION ::=
- value(VALUE OBJECT IDENTIFIER)
-
- Status ::=
- "current"
- | "deprecated"
- | "obsolete"
-
- ReferPart ::=
- "REFERENCE" Text
- | empty
-
- -- a character string as defined in section 3.1.1
- Text ::= value(IA5String)
- END
-
-
- -- names of objects
- -- (Note that these definitions of ObjectName and NotificationName
- -- are not to be IMPORTed by MIB modules.)
-
- ObjectName ::=
- OBJECT IDENTIFIER
-
- NotificationName ::=
- OBJECT IDENTIFIER
-
- -- syntax of objects
-
- -- the "base types" defined here are:
- -- 3 built-in ASN.1 types: INTEGER, OCTET STRING, OBJECT IDENTIFIER
- -- 8 application-defined types: Integer32, IpAddress, Counter32,
- -- Gauge32, Unsigned32, TimeTicks, Opaque, and Counter64
-
- ObjectSyntax ::=
- CHOICE {
- simple
- SimpleSyntax,
-
- -- note that SEQUENCEs for conceptual tables and
- -- rows are not mentioned here...
-
- application-wide
- ApplicationSyntax
- }
-
-
-
- McCloghrie, et al. Standards Track [Page 6]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- -- built-in ASN.1 types
-
- SimpleSyntax ::=
- CHOICE {
- -- INTEGERs with a more restrictive range
- -- may also be used
- integer-value -- includes Integer32
- INTEGER (-2147483648..2147483647),
-
- -- OCTET STRINGs with a more restrictive size
- -- may also be used
- string-value
- OCTET STRING (SIZE (0..65535)),
-
- objectID-value
- OBJECT IDENTIFIER
- }
-
- -- indistinguishable from INTEGER, but never needs more than
- -- 32-bits for a two's complement representation
- Integer32 ::=
- INTEGER (-2147483648..2147483647)
-
-
- -- application-wide types
-
- ApplicationSyntax ::=
- CHOICE {
- ipAddress-value
- IpAddress,
-
- counter-value
- Counter32,
-
- timeticks-value
- TimeTicks,
-
- arbitrary-value
- Opaque,
-
- big-counter-value
- Counter64,
-
- unsigned-integer-value -- includes Gauge32
- Unsigned32
- }
-
- -- in network-byte order
-
-
- McCloghrie, et al. Standards Track [Page 7]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- -- (this is a tagged type for historical reasons)
- IpAddress ::=
- [APPLICATION 0]
- IMPLICIT OCTET STRING (SIZE (4))
-
- -- this wraps
- Counter32 ::=
- [APPLICATION 1]
- IMPLICIT INTEGER (0..4294967295)
-
- -- this doesn't wrap
- Gauge32 ::=
- [APPLICATION 2]
- IMPLICIT INTEGER (0..4294967295)
-
- -- an unsigned 32-bit quantity
- -- indistinguishable from Gauge32
- Unsigned32 ::=
- [APPLICATION 2]
- IMPLICIT INTEGER (0..4294967295)
-
- -- hundredths of seconds since an epoch
- TimeTicks ::=
- [APPLICATION 3]
- IMPLICIT INTEGER (0..4294967295)
-
- -- for backward-compatibility only
- Opaque ::=
- [APPLICATION 4]
- IMPLICIT OCTET STRING
-
- -- for counters that wrap in less than one hour with only 32 bits
- Counter64 ::=
- [APPLICATION 6]
- IMPLICIT INTEGER (0..18446744073709551615)
-
-
- -- definition for objects
-
- OBJECT-TYPE MACRO ::=
- BEGIN
- TYPE NOTATION ::=
- "SYNTAX" Syntax
- UnitsPart
- "MAX-ACCESS" Access
- "STATUS" Status
- "DESCRIPTION" Text
- ReferPart
-
-
- McCloghrie, et al. Standards Track [Page 8]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- IndexPart
- DefValPart
-
- VALUE NOTATION ::=
- value(VALUE ObjectName)
-
- Syntax ::= -- Must be one of the following:
- -- a base type (or its refinement),
- -- a textual convention (or its refinement), or
- -- a BITS pseudo-type
- type
- | "BITS" "{" NamedBits "}"
-
- NamedBits ::= NamedBit
- | NamedBits "," NamedBit
-
- NamedBit ::= identifier "(" number ")" -- number is nonnegative
-
- UnitsPart ::=
- "UNITS" Text
- | empty
-
- Access ::=
- "not-accessible"
- | "accessible-for-notify"
- | "read-only"
- | "read-write"
- | "read-create"
-
- Status ::=
- "current"
- | "deprecated"
- | "obsolete"
-
- ReferPart ::=
- "REFERENCE" Text
- | empty
-
- IndexPart ::=
- "INDEX" "{" IndexTypes "}"
- | "AUGMENTS" "{" Entry "}"
- | empty
- IndexTypes ::=
- IndexType
- | IndexTypes "," IndexType
- IndexType ::=
- "IMPLIED" Index
- | Index
-
-
- McCloghrie, et al. Standards Track [Page 9]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- Index ::=
- -- use the SYNTAX value of the
- -- correspondent OBJECT-TYPE invocation
- value(ObjectName)
- Entry ::=
- -- use the INDEX value of the
- -- correspondent OBJECT-TYPE invocation
- value(ObjectName)
-
- DefValPart ::= "DEFVAL" "{" Defvalue "}"
- | empty
-
- Defvalue ::= -- must be valid for the type specified in
- -- SYNTAX clause of same OBJECT-TYPE macro
- value(ObjectSyntax)
- | "{" BitsValue "}"
-
- BitsValue ::= BitNames
- | empty
-
- BitNames ::= BitName
- | BitNames "," BitName
-
- BitName ::= identifier
-
- -- a character string as defined in section 3.1.1
- Text ::= value(IA5String)
- END
-
-
- -- definitions for notifications
-
- NOTIFICATION-TYPE MACRO ::=
- BEGIN
- TYPE NOTATION ::=
- ObjectsPart
- "STATUS" Status
- "DESCRIPTION" Text
- ReferPart
-
- VALUE NOTATION ::=
- value(VALUE NotificationName)
-
- ObjectsPart ::=
- "OBJECTS" "{" Objects "}"
- | empty
- Objects ::=
- Object
-
-
- McCloghrie, et al. Standards Track [Page 10]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- | Objects "," Object
- Object ::=
- value(ObjectName)
-
- Status ::=
- "current"
- | "deprecated"
- | "obsolete"
-
- ReferPart ::=
- "REFERENCE" Text
- | empty
-
- -- a character string as defined in section 3.1.1
- Text ::= value(IA5String)
- END
-
- -- definitions of administrative identifiers
-
- zeroDotZero OBJECT-IDENTITY
- STATUS current
- DESCRIPTION
- "A value used for null identifiers."
- ::= { 0 0 }
-
- END
-
- 3. Information Modules
-
- An "information module" is an ASN.1 module defining information
- relating to network management.
-
- The SMI describes how to use an adapted subset of ASN.1 (1988) to
- define an information module. Further, additional restrictions are
- placed on "standard" information modules. It is strongly recommended
- that "enterprise-specific" information modules also adhere to these
- restrictions.
-
- Typically, there are three kinds of information modules:
-
- (1) MIB modules, which contain definitions of inter-related managed
- objects, make use of the OBJECT-TYPE and NOTIFICATION-TYPE macros;
-
- (2) compliance statements for MIB modules, which make use of the
- MODULE-COMPLIANCE and OBJECT-GROUP macros [2]; and,
-
- (3) capability statements for agent implementations which make use of
- the AGENT-CAPABILITIES macros [2].
-
-
- McCloghrie, et al. Standards Track [Page 11]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- This classification scheme does not imply a rigid taxonomy. For
- example, a "standard" information module will normally include
- definitions of managed objects and a compliance statement.
- Similarly, an "enterprise-specific" information module might include
- definitions of managed objects and a capability statement. Of
- course, a "standard" information module may not contain capability
- statements.
-
- The constructs of ASN.1 allowed in SMIv2 information modules include:
- the IMPORTS clause, value definitions for OBJECT IDENTIFIERs, type
- definitions for SEQUENCEs (with restrictions), ASN.1 type assignments
- of the restricted ASN.1 types allowed in SMIv2, and instances of
- ASN.1 macros defined in this document and its companion documents [2,
- 3]. Additional ASN.1 macros must not be defined in SMIv2 information
- modules. SMIv1 macros must not be used in SMIv2 information modules.
-
- The names of all standard information modules must be unique (but
- different versions of the same information module should have the
- same name). Developers of enterprise information modules are
- encouraged to choose names for their information modules that will
- have a low probability of colliding with standard or other enterprise
- information modules. An information module may not use the ASN.1
- construct of placing an object identifier value between the module
- name and the "DEFINITIONS" keyword. For the purposes of this
- specification, an ASN.1 module name begins with an upper-case letter
- and continues with zero or more letters, digits, or hyphens, except
- that a hyphen can not be the last character, nor can there be two
- consecutive hyphens.
-
- All information modules start with exactly one invocation of the
- MODULE-IDENTITY macro, which provides contact information as well as
- revision history to distinguish between versions of the same
- information module. This invocation must appear immediately after
- any IMPORTs statements.
-
- 3.1. Macro Invocation
-
- Within an information module, each macro invocation appears as:
-
- <descriptor> <macro> <clauses> ::= <value>
-
- where <descriptor> corresponds to an ASN.1 identifier, <macro> names
- the macro being invoked, and <clauses> and <value> depend on the
- definition of the macro. (Note that this definition of a descriptor
- applies to all macros defined in this memo and in [2].)
-
-
-
-
-
- McCloghrie, et al. Standards Track [Page 12]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- For the purposes of this specification, an ASN.1 identifier consists
- of one or more letters or digits, and its initial character must be a
- lower-case letter. Note that hyphens are not allowed by this
- specification (except for use by information modules converted from
- SMIv1 which did allow hyphens).
-
- For all descriptors appearing in an information module, the
- descriptor shall be unique and mnemonic, and shall not exceed 64
- characters in length. (However, descriptors longer than 32
- characters are not recommended.) This promotes a common language for
- humans to use when discussing the information module and also
- facilitates simple table mappings for user-interfaces.
-
- The set of descriptors defined in all "standard" information modules
- shall be unique.
-
- Finally, by convention, if the descriptor refers to an object with a
- SYNTAX clause value of either Counter32 or Counter64, then the
- descriptor used for the object should denote plurality.
-
- 3.1.1. Textual Values and Strings
-
- Some clauses in a macro invocation may take a character string as a
- textual value (e.g., the DESCRIPTION clause). Other clauses take
- binary or hexadecimal strings (in any position where a non-negative
- number is allowed).
-
- A character string is preceded and followed by the quote character
- ("), and consists of an arbitrary number (possibly zero) of:
-
- - any 7-bit displayable ASCII characters except quote ("),
- - tab characters,
- - spaces, and
- - line terminator characters (\n or \r\n).
-
- The value of a character string is interpreted as ASCII.
-
- A binary string consists of a number (possibly zero) of zeros and
- ones preceded by a single (') and followed by either the pair ('B) or
- ('b), where the number is a multiple of eight.
-
- A hexadecimal string consists of an even number (possibly zero) of
- hexadecimal digits, preceded by a single (') and followed by either
- the pair ('H) or ('h). Digits specified via letters can be in upper
- or lower case.
-
- Note that ASN.1 comments can not be enclosed inside any of these
- types of strings.
-
-
- McCloghrie, et al. Standards Track [Page 13]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- 3.2. IMPORTing Symbols
-
- To reference an external object, the IMPORTS statement must be used
- to identify both the descriptor and the module in which the
- descriptor is defined, where the module is identified by its ASN.1
- module name.
-
- Note that when symbols from "enterprise-specific" information modules
- are referenced (e.g., a descriptor), there is the possibility of
- collision. As such, if different objects with the same descriptor
- are IMPORTed, then this ambiguity is resolved by prefixing the
- descriptor with the name of the information module and a dot ("."),
- i.e.,
-
- "module.descriptor"
-
- (All descriptors must be unique within any information module.)
-
- Of course, this notation can be used to refer to objects even when
- there is no collision when IMPORTing symbols.
-
- Finally, if any of the ASN.1 named types and macros defined in this
- document, specifically:
-
- Counter32, Counter64, Gauge32, Integer32, IpAddress, MODULE-
- IDENTITY, NOTIFICATION-TYPE, Opaque, OBJECT-TYPE, OBJECT-
- IDENTITY, TimeTicks, Unsigned32,
-
- or any of those defined in [2] or [3], are used in an information
- module, then they must be imported using the IMPORTS statement.
- However, the following must not be included in an IMPORTS statement:
-
- - named types defined by ASN.1 itself, specifically: INTEGER,
- OCTET STRING, OBJECT IDENTIFIER, SEQUENCE, SEQUENCE OF type,
- - the BITS construct.
-
- 3.3. Exporting Symbols
-
- The ASN.1 EXPORTS statement is not allowed in SMIv2 information
- modules. All items defined in an information module are
- automatically exported.
-
- 3.4. ASN.1 Comments
-
- ASN.1 comments can be included in an information module. However, it
- is recommended that all substantive descriptions be placed within an
- appropriate DESCRIPTION clause.
-
-
-
- McCloghrie, et al. Standards Track [Page 14]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- ASN.1 comments commence with a pair of adjacent hyphens and end with
- the next pair of adjacent hyphens or at the end of the line,
- whichever occurs first. Comments ended by a pair of hyphens have the
- effect of a single space character.
-
- 3.5. OBJECT IDENTIFIER values
-
- An OBJECT IDENTIFIER value is an ordered list of non-negative
- numbers. For the SMIv2, each number in the list is referred to as a
- sub-identifier, there are at most 128 sub-identifiers in a value, and
- each sub-identifier has a maximum value of 2^32-1 (4294967295
- decimal).
-
- All OBJECT IDENTIFIER values have at least two sub-identifiers, where
- the value of the first sub-identifier is one of the following well-
- known names:
-
- Value Name
- 0 ccitt
- 1 iso
- 2 joint-iso-ccitt
-
- (Note that this SMI does not recognize "new" well-known names, e.g.,
- as defined when the CCITT became the ITU.)
-
- 3.6. OBJECT IDENTIFIER usage
-
- OBJECT IDENTIFIERs are used in information modules in two ways:
-
- (1) registration: the definition of a particular item is registered as
- a particular OBJECT IDENTIFIER value, and associated with a
- particular descriptor. After such a registration, the semantics
- thereby associated with the value are not allowed to change, the
- OBJECT IDENTIFIER can not be used for any other registration, and
- the descriptor can not be changed nor associated with any other
- registration. The following macros result in a registration:
-
- OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-GROUP,
- OBJECT-IDENTITY, NOTIFICATION-GROUP, MODULE-COMPLIANCE,
- AGENT-CAPABILITIES.
-
- (2) assignment: a descriptor can be assigned to a particular OBJECT
- IDENTIFIER value. For this usage, the semantics associated with
- the OBJECT IDENTIFIER value is not allowed to change, and a
- descriptor assigned to a particular OBJECT IDENTIFIER value cannot
- subsequently be assigned to another. However, multiple descriptors
- can be assigned to the same OBJECT IDENTIFIER value. Such
- assignments are specified in the following manner:
-
-
- McCloghrie, et al. Standards Track [Page 15]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- mib OBJECT IDENTIFIER ::= { mgmt 1 } -- from RFC1156
- mib-2 OBJECT IDENTIFIER ::= { mgmt 1 } -- from RFC1213
- fredRouter OBJECT IDENTIFIER ::= { flintStones 1 1 }
- barneySwitch OBJECT IDENTIFIER ::= { flintStones bedrock(2) 1 }
-
- Note while the above examples are legal, the following is not:
-
- dinoHost OBJECT IDENTIFIER ::= { flintStones bedrock 2 }
-
- A descriptor is allowed to be associated with both a registration and
- an assignment, providing both are associated with the same OBJECT
- IDENTIFIER value and semantics.
-
- 3.7. Reserved Keywords
-
- The following are reserved keywords which must not be used as
- descriptors or module names:
-
- ABSENT ACCESS AGENT-CAPABILITIES ANY APPLICATION AUGMENTS BEGIN
- BIT BITS BOOLEAN BY CHOICE COMPONENT COMPONENTS CONTACT-INFO
- CREATION-REQUIRES Counter32 Counter64 DEFAULT DEFINED
- DEFINITIONS DEFVAL DESCRIPTION DISPLAY-HINT END ENUMERATED
- ENTERPRISE EXPLICIT EXPORTS EXTERNAL FALSE FROM GROUP Gauge32
- IDENTIFIER IMPLICIT IMPLIED IMPORTS INCLUDES INDEX INTEGER
- Integer32 IpAddress LAST-UPDATED MANDATORY-GROUPS MAX MAX-ACCESS
- MIN MIN-ACCESS MINUS-INFINITY MODULE MODULE-COMPLIANCE MODULE-
- IDENTITY NOTIFICATION-GROUP NOTIFICATION-TYPE NOTIFICATIONS NULL
- OBJECT OBJECT-GROUP OBJECT-IDENTITY OBJECT-TYPE OBJECTS OCTET OF
- OPTIONAL ORGANIZATION Opaque PLUS-INFINITY PRESENT PRIVATE
- PRODUCT-RELEASE REAL REFERENCE REVISION SEQUENCE SET SIZE STATUS
- STRING SUPPORTS SYNTAX TAGS TEXTUAL-CONVENTION TRAP-TYPE TRUE
- TimeTicks UNITS UNIVERSAL Unsigned32 VARIABLES VARIATION WITH
- WRITE-SYNTAX
-
- 4. Naming Hierarchy
-
- The root of the subtree administered by the Internet Assigned Numbers
- Authority (IANA) for the Internet is:
-
- internet OBJECT IDENTIFIER ::= { iso 3 6 1 }
-
- That is, the Internet subtree of OBJECT IDENTIFIERs starts with the
- prefix:
-
- 1.3.6.1.
-
- Several branches underneath this subtree are used for network
- management:
-
-
- McCloghrie, et al. Standards Track [Page 16]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- mgmt OBJECT IDENTIFIER ::= { internet 2 }
- experimental OBJECT IDENTIFIER ::= { internet 3 }
- private OBJECT IDENTIFIER ::= { internet 4 }
- enterprises OBJECT IDENTIFIER ::= { private 1 }
-
- However, the SMI does not prohibit the definition of objects in other
- portions of the object tree.
-
- The mgmt(2) subtree is used to identify "standard" objects.
-
- The experimental(3) subtree is used to identify objects being
- designed by working groups of the IETF. If an information module
- produced by a working group becomes a "standard" information module,
- then at the very beginning of its entry onto the Internet standards
- track, the objects are moved under the mgmt(2) subtree.
-
- The private(4) subtree is used to identify objects defined
- unilaterally. The enterprises(1) subtree beneath private is used,
- among other things, to permit providers of networking subsystems to
- register models of their products.
-
- 5. Mapping of the MODULE-IDENTITY macro
-
- The MODULE-IDENTITY macro is used to provide contact and revision
- history for each information module. It must appear exactly once in
- every information module. It should be noted that the expansion of
- the MODULE-IDENTITY macro is something which conceptually happens
- during implementation and not during run-time.
-
- Note that reference in an IMPORTS clause or in clauses of SMIv2
- macros to an information module is NOT through the use of the
- 'descriptor' of a MODULE-IDENTITY macro; rather, an information
- module is referenced through specifying its module name.
-
- 5.1. Mapping of the LAST-UPDATED clause
-
- The LAST-UPDATED clause, which must be present, contains the date and
- time that this information module was last edited.
-
- 5.2. Mapping of the ORGANIZATION clause
-
- The ORGANIZATION clause, which must be present, contains a textual
- description of the organization under whose auspices this information
- module was developed.
-
-
-
-
-
-
- McCloghrie, et al. Standards Track [Page 17]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- 5.3. Mapping of the CONTACT-INFO clause
-
- The CONTACT-INFO clause, which must be present, contains the name,
- postal address, telephone number, and electronic mail address of the
- person to whom technical queries concerning this information module
- should be sent.
-
- 5.4. Mapping of the DESCRIPTION clause
-
- The DESCRIPTION clause, which must be present, contains a high-level
- textual description of the contents of this information module.
-
- 5.5. Mapping of the REVISION clause
-
- The REVISION clause, which need not be present, is repeatedly used to
- describe the revisions (including the initial version) made to this
- information module, in reverse chronological order (i.e., most recent
- first). Each instance of this clause contains the date and time of
- the revision.
-
- 5.5.1. Mapping of the DESCRIPTION sub-clause
-
- The DESCRIPTION sub-clause, which must be present for each REVISION
- clause, contains a high-level textual description of the revision
- identified in that REVISION clause.
-
- 5.6. Mapping of the MODULE-IDENTITY value
-
- The value of an invocation of the MODULE-IDENTITY macro is an OBJECT
- IDENTIFIER. As such, this value may be authoritatively used when
- specifying an OBJECT IDENTIFIER value to refer to the information
- module containing the invocation.
-
- Note that it is a common practice to use the value of the MODULE-
- IDENTITY macro as a subtree under which other OBJECT IDENTIFIER
- values assigned within the module are defined. However, it is legal
- (and occasionally necessary) for the other OBJECT IDENTIFIER values
- assigned within the module to be unrelated to the OBJECT IDENTIFIER
- value of the MODULE-IDENTITY macro.
-
- 5.7. Usage Example
-
- Consider how a skeletal MIB module might be constructed: e.g.,
-
- FIZBIN-MIB DEFINITIONS ::= BEGIN
-
- IMPORTS
- MODULE-IDENTITY, OBJECT-TYPE, experimental
-
-
- McCloghrie, et al. Standards Track [Page 18]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- FROM SNMPv2-SMI;
-
-
- fizbin MODULE-IDENTITY
- LAST-UPDATED "199505241811Z"
- ORGANIZATION "IETF SNMPv2 Working Group"
- CONTACT-INFO
- " Marshall T. Rose
-
- Postal: Dover Beach Consulting, Inc.
- 420 Whisman Court
- Mountain View, CA 94043-2186
- US
-
- Tel: +1 415 968 1052
- Fax: +1 415 968 2510
-
- E-mail: mrose@dbc.mtview.ca.us"
-
- DESCRIPTION
- "The MIB module for entities implementing the xxxx
- protocol."
- REVISION "9505241811Z"
- DESCRIPTION
- "The latest version of this MIB module."
- REVISION "9210070433Z"
- DESCRIPTION
- "The initial version of this MIB module, published in
- RFC yyyy."
- -- contact IANA for actual number
- ::= { experimental xx }
-
- END
-
- 6. Mapping of the OBJECT-IDENTITY macro
-
- The OBJECT-IDENTITY macro is used to define information about an
- OBJECT IDENTIFIER assignment. All administrative OBJECT IDENTIFIER
- assignments which define a type identification value (see
- AutonomousType, a textual convention defined in [3]) should be
- defined via the OBJECT-IDENTITY macro. It should be noted that the
- expansion of the OBJECT-IDENTITY macro is something which
- conceptually happens during implementation and not during run-time.
-
- 6.1. Mapping of the STATUS clause
-
- The STATUS clause, which must be present, indicates whether this
- definition is current or historic.
-
-
- McCloghrie, et al. Standards Track [Page 19]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- The value "current" means that the definition is current and valid.
- The value "obsolete" means the definition is obsolete and should not
- be implemented and/or can be removed if previously implemented.
- While the value "deprecated" also indicates an obsolete definition,
- it permits new/continued implementation in order to foster
- interoperability with older/existing implementations.
-
- 6.2. Mapping of the DESCRIPTION clause
-
- The DESCRIPTION clause, which must be present, contains a textual
- description of the object assignment.
-
- 6.3. Mapping of the REFERENCE clause
-
- The REFERENCE clause, which need not be present, contains a textual
- cross-reference to some other document, either another information
- module which defines a related assignment, or some other document
- which provides additional information relevant to this definition.
-
- 6.4. Mapping of the OBJECT-IDENTITY value
-
- The value of an invocation of the OBJECT-IDENTITY macro is an OBJECT
- IDENTIFIER.
-
- 6.5. Usage Example
-
- Consider how an OBJECT IDENTIFIER assignment might be made: e.g.,
-
- fizbin69 OBJECT-IDENTITY
- STATUS current
- DESCRIPTION
- "The authoritative identity of the Fizbin 69 chipset."
- ::= { fizbinChipSets 1 }
-
- 7. Mapping of the OBJECT-TYPE macro
-
- The OBJECT-TYPE macro is used to define a type of managed object. It
- should be noted that the expansion of the OBJECT-TYPE macro is
- something which conceptually happens during implementation and not
- during run-time.
-
- For leaf objects which are not columnar objects (i.e., not contained
- within a conceptual table), instances of the object are identified by
- appending a sub-identifier of zero to the name of that object.
- Otherwise, the INDEX clause of the conceptual row object superior to
- a columnar object defines instance identification information.
-
-
-
-
- McCloghrie, et al. Standards Track [Page 20]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- 7.1. Mapping of the SYNTAX clause
-
- The SYNTAX clause, which must be present, defines the abstract data
- structure corresponding to that object. The data structure must be
- one of the following: a base type, the BITS construct, or a textual
- convention. (SEQUENCE OF and SEQUENCE are also possible for
- conceptual tables, see section 7.1.12). The base types are those
- defined in the ObjectSyntax CHOICE. A textual convention is a
- newly-defined type defined as a sub-type of a base type [3].
-
- An extended subset of the full capabilities of ASN.1 (1988) sub-
- typing is allowed, as appropriate to the underlying ASN.1 type. Any
- such restriction on size, range or enumerations specified in this
- clause represents the maximal level of support which makes "protocol
- sense". Restrictions on sub-typing are specified in detail in
- Section 9 and Appendix A of this memo.
-
- The semantics of ObjectSyntax are now described.
-
- 7.1.1. Integer32 and INTEGER
-
- The Integer32 type represents integer-valued information between
- -2^31 and 2^31-1 inclusive (-2147483648 to 2147483647 decimal). This
- type is indistinguishable from the INTEGER type. Both the INTEGER
- and Integer32 types may be sub-typed to be more constrained than the
- Integer32 type.
-
- The INTEGER type (but not the Integer32 type) may also be used to
- represent integer-valued information as named-number enumerations.
- In this case, only those named-numbers so enumerated may be present
- as a value. Note that although it is recommended that enumerated
- values start at 1 and be numbered contiguously, any valid value for
- Integer32 is allowed for an enumerated value and, further, enumerated
- values needn't be contiguously assigned.
-
- Finally, a label for a named-number enumeration must consist of one
- or more letters or digits, up to a maximum of 64 characters, and the
- initial character must be a lower-case letter. (However, labels
- longer than 32 characters are not recommended.) Note that hyphens
- are not allowed by this specification (except for use by information
- modules converted from SMIv1 which did allow hyphens).
-
- 7.1.2. OCTET STRING
-
- The OCTET STRING type represents arbitrary binary or textual data.
- Although the SMI-specified size limitation for this type is 65535
- octets, MIB designers should realize that there may be implementation
- and interoperability limitations for sizes in excess of 255 octets.
-
-
- McCloghrie, et al. Standards Track [Page 21]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- 7.1.3. OBJECT IDENTIFIER
-
- The OBJECT IDENTIFIER type represents administratively assigned
- names. Any instance of this type may have at most 128 sub-
- identifiers. Further, each sub-identifier must not exceed the value
- 2^32-1 (4294967295 decimal).
-
- 7.1.4. The BITS construct
-
- The BITS construct represents an enumeration of named bits. This
- collection is assigned non-negative, contiguous (but see below)
- values, starting at zero. Only those named-bits so enumerated may be
- present in a value. (Thus, enumerations must be assigned to
- consecutive bits; however, see Section 9 for refinements of an object
- with this syntax.)
-
- As part of updating an information module, for an object defined
- using the BITS construct, new enumerations can be added or existing
- enumerations can have new labels assigned to them. After an
- enumeration is added, it might not be possible to distinguish between
- an implementation of the updated object for which the new enumeration
- is not asserted, and an implementation of the object prior to the
- addition. Depending on the circumstances, such an ambiguity could
- either be desirable or could be undesirable. The means to avoid such
- an ambiguity is dependent on the encoding of values on the wire;
- however, one possibility is to define new enumerations starting at
- the next multiple of eight bits. (Of course, this can also result in
- the enumerations no longer being contiguous.)
-
- Although there is no SMI-specified limitation on the number of
- enumerations (and therefore on the length of a value), except as may
- be imposed by the limit on the length of an OCTET STRING, MIB
- designers should realize that there may be implementation and
- interoperability limitations for sizes in excess of 128 bits.
-
- Finally, a label for a named-number enumeration must consist of one
- or more letters or digits, up to a maximum of 64 characters, and the
- initial character must be a lower-case letter. (However, labels
- longer than 32 characters are not recommended.) Note that hyphens
- are not allowed by this specification.
-
- 7.1.5. IpAddress
-
- The IpAddress type represents a 32-bit internet address. It is
- represented as an OCTET STRING of length 4, in network byte-order.
-
-
-
-
-
- McCloghrie, et al. Standards Track [Page 22]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- Note that the IpAddress type is a tagged type for historical reasons.
- Network addresses should be represented using an invocation of the
- TEXTUAL-CONVENTION macro [3].
-
- 7.1.6. Counter32
-
- The Counter32 type represents a non-negative integer which
- monotonically increases until it reaches a maximum value of 2^32-1
- (4294967295 decimal), when it wraps around and starts increasing
- again from zero.
-
- Counters have no defined "initial" value, and thus, a single value of
- a Counter has (in general) no information content. Discontinuities
- in the monotonically increasing value normally occur at re-
- initialization of the management system, and at other times as
- specified in the description of an object-type using this ASN.1 type.
- If such other times can occur, for example, the creation of an object
- instance at times other than re-initialization, then a corresponding
- object should be defined, with an appropriate SYNTAX clause, to
- indicate the last discontinuity. Examples of appropriate SYNTAX
- clause include: TimeStamp (a textual convention defined in [3]),
- DateAndTime (another textual convention from [3]) or TimeTicks.
-
- The value of the MAX-ACCESS clause for objects with a SYNTAX clause
- value of Counter32 is either "read-only" or "accessible-for-notify".
-
- A DEFVAL clause is not allowed for objects with a SYNTAX clause value
- of Counter32.
-
- 7.1.7. Gauge32
-
- The Gauge32 type represents a non-negative integer, which may
- increase or decrease, but shall never exceed a maximum value, nor
- fall below a minimum value. The maximum value can not be greater
- than 2^32-1 (4294967295 decimal), and the minimum value can not be
- smaller than 0. The value of a Gauge32 has its maximum value
- whenever the information being modeled is greater than or equal to
- its maximum value, and has its minimum value whenever the information
- being modeled is smaller than or equal to its minimum value. If the
- information being modeled subsequently decreases below (increases
- above) the maximum (minimum) value, the Gauge32 also decreases
- (increases). (Note that despite of the use of the term "latched" in
- the original definition of this type, it does not become "stuck" at
- its maximum or minimum value.)
-
-
-
-
-
-
- McCloghrie, et al. Standards Track [Page 23]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- 7.1.8. TimeTicks
-
- The TimeTicks type represents a non-negative integer which represents
- the time, modulo 2^32 (4294967296 decimal), in hundredths of a second
- between two epochs. When objects are defined which use this ASN.1
- type, the description of the object identifies both of the reference
- epochs.
-
- For example, [3] defines the TimeStamp textual convention which is
- based on the TimeTicks type. With a TimeStamp, the first reference
- epoch is defined as the time when sysUpTime [5] was zero, and the
- second reference epoch is defined as the current value of sysUpTime.
-
- The TimeTicks type may not be sub-typed.
-
- 7.1.9. Opaque
-
- The Opaque type is provided solely for backward-compatibility, and
- shall not be used for newly-defined object types.
-
- The Opaque type supports the capability to pass arbitrary ASN.1
- syntax. A value is encoded using the ASN.1 Basic Encoding Rules [4]
- into a string of octets. This, in turn, is encoded as an OCTET
- STRING, in effect "double-wrapping" the original ASN.1 value.
-
- Note that a conforming implementation need only be able to accept and
- recognize opaquely-encoded data. It need not be able to unwrap the
- data and then interpret its contents.
-
- A requirement on "standard" MIB modules is that no object may have a
- SYNTAX clause value of Opaque.
-
- 7.1.10. Counter64
-
- The Counter64 type represents a non-negative integer which
- monotonically increases until it reaches a maximum value of 2^64-1
- (18446744073709551615 decimal), when it wraps around and starts
- increasing again from zero.
-
- Counters have no defined "initial" value, and thus, a single value of
- a Counter has (in general) no information content. Discontinuities
- in the monotonically increasing value normally occur at re-
- initialization of the management system, and at other times as
- specified in the description of an object-type using this ASN.1 type.
- If such other times can occur, for example, the creation of an object
- instance at times other than re-initialization, then a corresponding
- object should be defined, with an appropriate SYNTAX clause, to
- indicate the last discontinuity. Examples of appropriate SYNTAX
-
-
- McCloghrie, et al. Standards Track [Page 24]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- clause are: TimeStamp (a textual convention defined in [3]),
- DateAndTime (another textual convention from [3]) or TimeTicks.
-
- The value of the MAX-ACCESS clause for objects with a SYNTAX clause
- value of Counter64 is either "read-only" or "accessible-for-notify".
-
- A requirement on "standard" MIB modules is that the Counter64 type
- may be used only if the information being modeled would wrap in less
- than one hour if the Counter32 type was used instead.
-
- A DEFVAL clause is not allowed for objects with a SYNTAX clause value
- of Counter64.
-
- 7.1.11. Unsigned32
-
- The Unsigned32 type represents integer-valued information between 0
- and 2^32-1 inclusive (0 to 4294967295 decimal).
-
- 7.1.12. Conceptual Tables
-
- Management operations apply exclusively to scalar objects. However,
- it is sometimes convenient for developers of management applications
- to impose an imaginary, tabular structure on an ordered collection of
- objects within the MIB. Each such conceptual table contains zero or
- more rows, and each row may contain one or more scalar objects,
- termed columnar objects. This conceptualization is formalized by
- using the OBJECT-TYPE macro to define both an object which
- corresponds to a table and an object which corresponds to a row in
- that table. A conceptual table has SYNTAX of the form:
-
- SEQUENCE OF <EntryType>
-
- where <EntryType> refers to the SEQUENCE type of its subordinate
- conceptual row. A conceptual row has SYNTAX of the form:
-
- <EntryType>
-
- where <EntryType> is a SEQUENCE type defined as follows:
-
- <EntryType> ::= SEQUENCE { <type1>, ... , <typeN> }
-
- where there is one <type> for each subordinate object, and each
- <type> is of the form:
-
- <descriptor> <syntax>
-
- where <descriptor> is the descriptor naming a subordinate object, and
- <syntax> has the value of that subordinate object's SYNTAX clause,
-
-
- McCloghrie, et al. Standards Track [Page 25]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- except that both sub-typing information and the named values for
- enumerated integers or the named bits for the BITS construct, are
- omitted from <syntax>.
-
- Further, a <type> is always present for every subordinate object.
- (The ASN.1 DEFAULT and OPTIONAL clauses are disallowed in the
- SEQUENCE definition.) The MAX-ACCESS clause for conceptual tables
- and rows is "not-accessible".
-
- 7.1.12.1. Creation and Deletion of Conceptual Rows
-
- For newly-defined conceptual rows which allow the creation of new
- object instances and/or the deletion of existing object instances,
- there should be one columnar object with a SYNTAX clause value of
- RowStatus (a textual convention defined in [3]) and a MAX-ACCESS
- clause value of read-create. By convention, this is termed the
- status column for the conceptual row.
-
- 7.2. Mapping of the UNITS clause
-
- This UNITS clause, which need not be present, contains a textual
- definition of the units associated with that object.
-
- 7.3. Mapping of the MAX-ACCESS clause
-
- The MAX-ACCESS clause, which must be present, defines whether it
- makes "protocol sense" to read, write and/or create an instance of
- the object, or to include its value in a notification. This is the
- maximal level of access for the object. (This maximal level of
- access is independent of any administrative authorization policy.)
-
- The value "read-write" indicates that read and write access make
- "protocol sense", but create does not. The value "read-create"
- indicates that read, write and create access make "protocol sense".
- The value "not-accessible" indicates an auxiliary object (see Section
- 7.7). The value "accessible-for-notify" indicates an object which is
- accessible only via a notification (e.g., snmpTrapOID [5]).
-
- These values are ordered, from least to greatest: "not-accessible",
- "accessible-for-notify", "read-only", "read-write", "read-create".
-
- If any columnar object in a conceptual row has "read-create" as its
- maximal level of access, then no other columnar object of the same
- conceptual row may have a maximal access of "read-write". (Note that
- "read-create" is a superset of "read-write".)
-
-
-
-
-
- McCloghrie, et al. Standards Track [Page 26]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- 7.4. Mapping of the STATUS clause
-
- The STATUS clause, which must be present, indicates whether this
- definition is current or historic.
-
- The value "current" means that the definition is current and valid.
- The value "obsolete" means the definition is obsolete and should not
- be implemented and/or can be removed if previously implemented.
- While the value "deprecated" also indicates an obsolete definition,
- it permits new/continued implementation in order to foster
- interoperability with older/existing implementations.
-
- 7.5. Mapping of the DESCRIPTION clause
-
- The DESCRIPTION clause, which must be present, contains a textual
- definition of that object which provides all semantic definitions
- necessary for implementation, and should embody any information which
- would otherwise be communicated in any ASN.1 commentary annotations
- associated with the object.
-
- 7.6. Mapping of the REFERENCE clause
-
- The REFERENCE clause, which need not be present, contains a textual
- cross-reference to some other document, either another information
- module which defines a related assignment, or some other document
- which provides additional information relevant to this definition.
-
- 7.7. Mapping of the INDEX clause
-
- The INDEX clause, which must be present if that object corresponds to
- a conceptual row (unless an AUGMENTS clause is present instead), and
- must be absent otherwise, defines instance identification information
- for the columnar objects subordinate to that object.
-
- The instance identification information in an INDEX clause must
- specify object(s) such that value(s) of those object(s) will
- unambiguously distinguish a conceptual row. The objects can be
- columnar objects from the same and/or another conceptual table, but
- must not be scalar objects. Multiple occurrences of the same object
- in a single INDEX clause is strongly discouraged.
-
- The syntax of the objects in the INDEX clause indicate how to form
- the instance-identifier:
-
- (1) integer-valued (i.e., having INTEGER as its underlying primitive
- type): a single sub-identifier taking the integer value (this
- works only for non-negative integers);
-
-
-
- McCloghrie, et al. Standards Track [Page 27]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- (2) string-valued, fixed-length strings (or variable-length preceded by
- the IMPLIED keyword): `n' sub-identifiers, where `n' is the length
- of the string (each octet of the string is encoded in a separate
- sub-identifier);
-
- (3) string-valued, variable-length strings (not preceded by the IMPLIED
- keyword): `n+1' sub-identifiers, where `n' is the length of the
- string (the first sub-identifier is `n' itself, following this,
- each octet of the string is encoded in a separate sub-identifier);
-
- (4) object identifier-valued (when preceded by the IMPLIED keyword):
- `n' sub-identifiers, where `n' is the number of sub-identifiers in
- the value (each sub-identifier of the value is copied into a
- separate sub-identifier);
-
- (5) object identifier-valued (when not preceded by the IMPLIED
- keyword): `n+1' sub-identifiers, where `n' is the number of sub-
- identifiers in the value (the first sub-identifier is `n' itself,
- following this, each sub-identifier in the value is copied);
-
- (6) IpAddress-valued: 4 sub-identifiers, in the familiar a.b.c.d
- notation.
-
- Note that the IMPLIED keyword can only be present for an object
- having a variable-length syntax (e.g., variable-length strings or
- object identifier-valued objects), Further, the IMPLIED keyword can
- only be associated with the last object in the INDEX clause.
- Finally, the IMPLIED keyword may not be used on a variable-length
- string object if that string might have a value of zero-length.
-
- Since a single value of a Counter has (in general) no information
- content (see section 7.1.6 and 7.1.10), objects defined using the
- syntax, Counter32 or Counter64, must not be specified in an INDEX
-
- clause. If an object defined using the BITS construct is used in an
- INDEX clause, it is considered a variable-length string.
-
- Instances identified by use of integer-valued objects should be
- numbered starting from one (i.e., not from zero). The use of zero as
- a value for an integer-valued index object should be avoided, except
- in special cases.
-
- Objects which are both specified in the INDEX clause of a conceptual
- row and also columnar objects of the same conceptual row are termed
- auxiliary objects. The MAX-ACCESS clause for auxiliary objects is
- "not-accessible", except in the following circumstances:
-
-
-
-
- McCloghrie, et al. Standards Track [Page 28]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- (1) within a MIB module originally written to conform to SMIv1, and
- later converted to conform to SMIv2; or
-
- (2) a conceptual row must contain at least one columnar object which is
- not an auxiliary object. In the event that all of a conceptual
- row's columnar objects are also specified in its INDEX clause, then
- one of them must be accessible, i.e., have a MAX-ACCESS clause of
- "read-only". (Note that this situation does not arise for a
- conceptual row allowing create access, since such a row will have a
- status column which will not be an auxiliary object.)
-
- Note that objects specified in a conceptual row's INDEX clause need
- not be columnar objects of that conceptual row. In this situation,
- the DESCRIPTION clause of the conceptual row must include a textual
- explanation of how the objects which are included in the INDEX clause
- but not columnar objects of that conceptual row, are used in uniquely
- identifying instances of the conceptual row's columnar objects.
-
- 7.8. Mapping of the AUGMENTS clause
-
- The AUGMENTS clause, which must not be present unless the object
- corresponds to a conceptual row, is an alternative to the INDEX
- clause. Every object corresponding to a conceptual row has either an
- INDEX clause or an AUGMENTS clause.
-
- If an object corresponding to a conceptual row has an INDEX clause,
- that row is termed a base conceptual row; alternatively, if the
- object has an AUGMENTS clause, the row is said to be a conceptual row
- augmentation, where the AUGMENTS clause names the object
- corresponding to the base conceptual row which is augmented by this
- conceptual row augmentation. (Thus, a conceptual row augmentation
- cannot itself be augmented.) Instances of subordinate columnar
- objects of a conceptual row augmentation are identified according to
- the INDEX clause of the base conceptual row corresponding to the
- object named in the AUGMENTS clause. Further, instances of
- subordinate columnar objects of a conceptual row augmentation exist
- according to the same semantics as instances of subordinate columnar
- objects of the base conceptual row being augmented. As such, note
- that creation of a base conceptual row implies the correspondent
- creation of any conceptual row augmentations.
-
- For example, a MIB designer might wish to define additional columns
- in an "enterprise-specific" MIB which logically extend a conceptual
- row in a "standard" MIB. The "standard" MIB definition of the
- conceptual row would include the INDEX clause and the "enterprise-
- specific" MIB would contain the definition of a conceptual row using
- the AUGMENTS clause. On the other hand, it would be incorrect to use
- the AUGMENTS clause for the relationship between RFC 2233's ifTable
-
-
- McCloghrie, et al. Standards Track [Page 29]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- and the many media-specific MIBs which extend it for specific media
- (e.g., the dot3Table in RFC 2358), since not all interfaces are of
- the same media.
-
- Note that a base conceptual row may be augmented by multiple
- conceptual row augmentations.
-
- 7.8.1. Relation between INDEX and AUGMENTS clauses
-
- When defining instance identification information for a conceptual
- table:
-
- (1) If there is a one-to-one correspondence between the conceptual rows
- of this table and an existing table, then the AUGMENTS clause
- should be used.
-
- (2) Otherwise, if there is a sparse relationship between the conceptual
- rows of this table and an existing table, then an INDEX clause
- should be used which is identical to that in the existing table.
- For example, the relationship between RFC 2233's ifTable and a
- media-specific MIB which extends the ifTable for a specific media
- (e.g., the dot3Table in RFC 2358), is a sparse relationship.
-
- (3) Otherwise, if no existing objects have the required syntax and
- semantics, then auxiliary objects should be defined within the
- conceptual row for the new table, and those objects should be used
- within the INDEX clause for the conceptual row.
-
- 7.9. Mapping of the DEFVAL clause
-
- The DEFVAL clause, which need not be present, defines an acceptable
- default value which may be used at the discretion of an agent when an
- object instance is created. That is, the value is a "hint" to
- implementors.
-
- During conceptual row creation, if an instance of a columnar object
- is not present as one of the operands in the correspondent management
- protocol set operation, then the value of the DEFVAL clause, if
- present, indicates an acceptable default value that an agent might
- use (especially for a read-only object).
-
- Note that with this definition of the DEFVAL clause, it is
- appropriate to use it for any columnar object of a read-create table.
- It is also permitted to use it for scalar objects dynamically created
- by an agent, or for columnar objects of a read-write table
- dynamically created by an agent.
-
-
-
-
- McCloghrie, et al. Standards Track [Page 30]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- The value of the DEFVAL clause must, of course, correspond to the
- SYNTAX clause for the object. If the value is an OBJECT IDENTIFIER,
- then it must be expressed as a single ASN.1 identifier, and not as a
- collection of sub-identifiers.
-
- Note that if an operand to the management protocol set operation is
- an instance of a read-only object, then the error `notWritable' [6]
- will be returned. As such, the DEFVAL clause can be used to provide
- an acceptable default value that an agent might use.
-
- By way of example, consider the following possible DEFVAL clauses:
-
- ObjectSyntax DEFVAL clause
- ---------------- ------------
- Integer32 DEFVAL { 1 }
- -- same for Gauge32, TimeTicks, Unsigned32
- INTEGER DEFVAL { valid } -- enumerated value
- OCTET STRING DEFVAL { 'ffffffffffff'H }
- DisplayString DEFVAL { "SNMP agent" }
- IpAddress DEFVAL { 'c0210415'H } -- 192.33.4.21
- OBJECT IDENTIFIER DEFVAL { sysDescr }
- BITS DEFVAL { { primary, secondary } }
- -- enumerated values that are set
- BITS DEFVAL { { } }
- -- no enumerated values are set
-
- A binary string used in a DEFVAL clause for an OCTET STRING must be
- either an integral multiple of eight or zero bits in length;
- similarly, a hexadecimal string must be an even number of hexadecimal
- digits. The value of a character string used in a DEFVAL clause must
- not contain tab characters or line terminator characters.
-
- Object types with SYNTAX of Counter32 and Counter64 may not have
- DEFVAL clauses, since they do not have defined initial values.
- However, it is recommended that they be initialized to zero.
-
- 7.10. Mapping of the OBJECT-TYPE value
-
- The value of an invocation of the OBJECT-TYPE macro is the name of
- the object, which is an OBJECT IDENTIFIER, an administratively
- assigned name.
-
- When an OBJECT IDENTIFIER is assigned to an object:
-
- (1) If the object corresponds to a conceptual table, then only a single
- assignment, that for a conceptual row, is present immediately
- beneath that object. The administratively assigned name for the
- conceptual row object is derived by appending a sub-identifier of
-
-
- McCloghrie, et al. Standards Track [Page 31]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- "1" to the administratively assigned name for the conceptual table.
-
- (2) If the object corresponds to a conceptual row, then at least one
- assignment, one for each column in the conceptual row, is present
- beneath that object. The administratively assigned name for each
- column is derived by appending a unique, positive sub-identifier to
- the administratively assigned name for the conceptual row.
-
- (3) Otherwise, no other OBJECT IDENTIFIERs which are subordinate to the
- object may be assigned.
-
- Note that the final sub-identifier of any administratively assigned
- name for an object shall be positive. A zero-valued final sub-
- identifier is reserved for future use.
-
- 7.11. Usage Example
-
- Consider how one might define a conceptual table and its
- subordinates. (This example uses the RowStatus textual convention
- defined in [3].)
-
- evalSlot OBJECT-TYPE
- SYNTAX Integer32 (0..2147483647)
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The index number of the first unassigned entry in the
- evaluation table, or the value of zero indicating that
- all entries are assigned.
-
- A management station should create new entries in the
- evaluation table using this algorithm: first, issue a
- management protocol retrieval operation to determine the
- value of evalSlot; and, second, issue a management
- protocol set operation to create an instance of the
- evalStatus object setting its value to createAndGo(4) or
- createAndWait(5). If this latter operation succeeds,
- then the management station may continue modifying the
- instances corresponding to the newly created conceptual
- row, without fear of collision with other management
- stations."
- ::= { eval 1 }
-
- evalTable OBJECT-TYPE
- SYNTAX SEQUENCE OF EvalEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
-
-
- McCloghrie, et al. Standards Track [Page 32]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- "The (conceptual) evaluation table."
- ::= { eval 2 }
-
- evalEntry OBJECT-TYPE
- SYNTAX EvalEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "An entry (conceptual row) in the evaluation table."
- INDEX { evalIndex }
- ::= { evalTable 1 }
-
- EvalEntry ::=
- SEQUENCE {
- evalIndex Integer32,
- evalString DisplayString,
- evalValue Integer32,
- evalStatus RowStatus
- }
-
- evalIndex OBJECT-TYPE
- SYNTAX Integer32 (1..2147483647)
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The auxiliary variable used for identifying instances of
- the columnar objects in the evaluation table."
- ::= { evalEntry 1 }
-
- evalString OBJECT-TYPE
- SYNTAX DisplayString
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The string to evaluate."
- ::= { evalEntry 2 }
-
- evalValue OBJECT-TYPE
- SYNTAX Integer32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The value when evalString was last evaluated, or zero if
- no such value is available."
- DEFVAL { 0 }
- ::= { evalEntry 3 }
-
- evalStatus OBJECT-TYPE
-
-
- McCloghrie, et al. Standards Track [Page 33]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- SYNTAX RowStatus
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The status column used for creating, modifying, and
- deleting instances of the columnar objects in the
- evaluation table."
- DEFVAL { active }
- ::= { evalEntry 4 }
-
- 8. Mapping of the NOTIFICATION-TYPE macro
-
- The NOTIFICATION-TYPE macro is used to define the information
- contained within an unsolicited transmission of management
- information (i.e., within either a SNMPv2-Trap-PDU or InformRequest-
- PDU). It should be noted that the expansion of the NOTIFICATION-TYPE
- macro is something which conceptually happens during implementation
- and not during run-time.
-
- 8.1. Mapping of the OBJECTS clause
-
- The OBJECTS clause, which need not be present, defines an ordered
- sequence of MIB object types. One and only one object instance for
- each occurrence of each object type must be present, and in the
- specified order, in every instance of the notification. If the same
- object type occurs multiple times in a notification's ordered
- sequence, then an object instance is present for each of them. An
- object type specified in this clause must not have an MAX-ACCESS
- clause of "not-accessible". The notification's DESCRIPTION clause
- must specify the information/meaning conveyed by each occurrence of
- each object type in the sequence. The DESCRIPTION clause must also
- specify which object instance is present for each object type in the
- notification.
-
- Note that an agent is allowed, at its own discretion, to append as
- many additional objects as it considers useful to the end of the
- notification (i.e., after the objects defined by the OBJECTS clause).
-
- 8.2. Mapping of the STATUS clause
-
- The STATUS clause, which must be present, indicates whether this
- definition is current or historic.
-
- The value "current" means that the definition is current and valid.
- The value "obsolete" means the definition is obsolete and should not
- be implemented and/or can be removed if previously implemented.
- While the value "deprecated" also indicates an obsolete definition,
- it permits new/continued implementation in order to foster
-
-
- McCloghrie, et al. Standards Track [Page 34]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- interoperability with older/existing implementations.
-
- 8.3. Mapping of the DESCRIPTION clause
-
- The DESCRIPTION clause, which must be present, contains a textual
- definition of the notification which provides all semantic
- definitions necessary for implementation, and should embody any
- information which would otherwise be communicated in any ASN.1
- commentary annotations associated with the notification. In
- particular, the DESCRIPTION clause should document which instances of
- the objects mentioned in the OBJECTS clause should be contained
- within notifications of this type.
-
- 8.4. Mapping of the REFERENCE clause
-
- The REFERENCE clause, which need not be present, contains a textual
- cross-reference to some other document, either another information
- module which defines a related assignment, or some other document
- which provides additional information relevant to this definition.
-
- 8.5. Mapping of the NOTIFICATION-TYPE value
-
- The value of an invocation of the NOTIFICATION-TYPE macro is the name
- of the notification, which is an OBJECT IDENTIFIER, an
- administratively assigned name. In order to achieve compatibility
- with SNMPv1 traps, both when converting SMIv1 information modules
- to/from this SMI, and in the procedures employed by multi-lingual
- systems and proxy forwarding applications, the next to last sub-
- identifier in the name of any newly-defined notification must have
- the value zero.
-
- Sections 4.2.6 and 4.2.7 of [6] describe how the NOTIFICATION-TYPE
- macro is used to generate a SNMPv2-Trap-PDU or InformRequest-PDU,
- respectively.
-
- 8.6. Usage Example
-
- Consider how a configuration change notification might be described:
-
- entityMIBTraps OBJECT IDENTIFIER ::= { entityMIB 2 }
- entityMIBTrapPrefix OBJECT IDENTIFIER ::= { entityMIBTraps 0 }
-
- entConfigChange NOTIFICATION-TYPE
- STATUS current
- DESCRIPTION
- "An entConfigChange trap is sent when the value of
- entLastChangeTime changes. It can be utilized by an NMS to
- trigger logical/physical entity table maintenance polls.
-
-
- McCloghrie, et al. Standards Track [Page 35]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
-
- An agent must not generate more than one entConfigChange
- 'trap-event' in a five second period, where a 'trap-event'
- is the transmission of a single trap PDU to a list of
- trap destinations. If additional configuration changes
- occur within the five second 'throttling' period, then
- these trap-events should be suppressed by the agent. An
- NMS should periodically check the value of
- entLastChangeTime to detect any missed entConfigChange
- trap-events, e.g. due to throttling or transmission loss."
- ::= { entityMIBTrapPrefix 1 }
-
- According to this invocation, the notification authoritatively
- identified as
-
- { entityMIBTrapPrefix 1 }
-
- is used to report a particular type of configuration change.
-
- 9. Refined Syntax
-
- Some macros have clauses which allows syntax to be refined,
- specifically: the SYNTAX clause of the OBJECT-TYPE macro, and the
- SYNTAX/WRITE-SYNTAX clauses of the MODULE-COMPLIANCE and AGENT-
- CAPABILITIES macros [2]. However, not all refinements of syntax are
- appropriate. In particular, the object's primitive or application
- type must not be changed.
-
- Further, the following restrictions apply:
-
- Restrictions to Refinement of
- object syntax range enumeration size
- ----------------- ----- ----------- ----
- INTEGER (1) (2) -
- Integer32 (1) - -
- Unsigned32 (1) - -
- OCTET STRING - - (3)
- OBJECT IDENTIFIER - - -
- BITS - (2) -
- IpAddress - - -
- Counter32 - - -
- Counter64 - - -
- Gauge32 (1) - -
- TimeTicks - - -
-
- where:
-
-
-
-
- McCloghrie, et al. Standards Track [Page 36]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- (1) the range of permitted values may be refined by raising the lower-
- bounds, by reducing the upper-bounds, and/or by reducing the
- alternative value/range choices;
-
- (2) the enumeration of named-values may be refined by removing one or
- more named-values (note that for BITS, a refinement may cause the
- enumerations to no longer be contiguous); or,
-
- (3) the size in octets of the value may be refined by raising the
- lower-bounds, by reducing the upper-bounds, and/or by reducing the
- alternative size choices.
-
- No other types of refinements can be specified in the SYNTAX clause.
- However, the DESCRIPTION clause is available to specify additional
- restrictions which can not be expressed in the SYNTAX clause.
- Further details on (and examples of) sub-typing are provided in
- Appendix A.
-
- 10. Extending an Information Module
-
- As experience is gained with an information module, it may be
- desirable to revise that information module. However, changes are
- not allowed if they have any potential to cause interoperability
- problems "over the wire" between an implementation using an original
- specification and an implementation using an updated
- specification(s).
-
- For any change, the invocation of the MODULE-IDENTITY macro must be
- updated to include information about the revision: specifically,
- updating the LAST-UPDATED clause, adding a pair of REVISION and
- DESCRIPTION clauses (see section 5.5), and making any necessary
- changes to existing clauses, including the ORGANIZATION and CONTACT-
- INFO clauses.
-
- Note that any definition contained in an information module is
- available to be IMPORT-ed by any other information module, and is
- referenced in an IMPORTS clause via the module name. Thus, a module
- name should not be changed. Specifically, the module name (e.g.,
- "FIZBIN-MIB" in the example of Section 5.7) should not be changed
- when revising an information module (except to correct typographical
- errors), and definitions should not be moved from one information
- module to another.
-
- Also note that obsolete definitions must not be removed from MIB
- modules since their descriptors may still be referenced by other
- information modules, and the OBJECT IDENTIFIERs used to name them
- must never be re-assigned.
-
-
-
- McCloghrie, et al. Standards Track [Page 37]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- 10.1. Object Assignments
-
- If any non-editorial change is made to any clause of a object
- assignment, then the OBJECT IDENTIFIER value associated with that
- object assignment must also be changed, along with its associated
- descriptor.
-
- 10.2. Object Definitions
-
- An object definition may be revised in any of the following ways:
-
- (1) A SYNTAX clause containing an enumerated INTEGER may have new
- enumerations added or existing labels changed. Similarly, named
- bits may be added or existing labels changed for the BITS
- construct.
-
- (2) The value of a SYNTAX clause may be replaced by a textual
- convention, providing the textual convention is defined to use the
- same primitive ASN.1 type, has the same set of values, and has
- identical semantics.
-
- (3) A STATUS clause value of "current" may be revised as "deprecated"
- or "obsolete". Similarly, a STATUS clause value of "deprecated"
- may be revised as "obsolete". When making such a change, the
- DESCRIPTION clause should be updated to explain the rationale.
-
- (4) A DEFVAL clause may be added or updated.
-
- (5) A REFERENCE clause may be added or updated.
-
- (6) A UNITS clause may be added.
-
- (7) A conceptual row may be augmented by adding new columnar objects at
- the end of the row, and making the corresponding update to the
- SEQUENCE definition.
-
- (8) Clarifications and additional information may be included in the
- DESCRIPTION clause.
-
- (9) Entirely new objects may be defined, named with previously
- unassigned OBJECT IDENTIFIER values.
-
- Otherwise, if the semantics of any previously defined object are
- changed (i.e., if a non-editorial change is made to any clause other
- than those specifically allowed above), then the OBJECT IDENTIFIER
- value associated with that object must also be changed.
-
-
-
-
- McCloghrie, et al. Standards Track [Page 38]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- Note that changing the descriptor associated with an existing object
- is considered a semantic change, as these strings may be used in an
- IMPORTS statement.
-
- 10.3. Notification Definitions
-
- A notification definition may be revised in any of the following
- ways:
-
- (1) A REFERENCE clause may be added or updated.
-
- (2) A STATUS clause value of "current" may be revised as "deprecated"
- or "obsolete". Similarly, a STATUS clause value of "deprecated"
- may be revised as "obsolete". When making such a change, the
- DESCRIPTION clause should be updated to explain the rationale.
-
- (3) A DESCRIPTION clause may be clarified.
-
- Otherwise, if the semantics of any previously defined notification
- are changed (i.e., if a non-editorial change is made to any clause
- other those specifically allowed above), then the OBJECT IDENTIFIER
- value associated with that notification must also be changed.
-
- Note that changing the descriptor associated with an existing
- notification is considered a semantic change, as these strings may be
- used in an IMPORTS statement.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- McCloghrie, et al. Standards Track [Page 39]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- 11. Appendix A: Detailed Sub-typing Rules
-
-
- 11.1. Syntax Rules
-
- The syntax rules for sub-typing are given below. Note that while
- this syntax is based on ASN.1, it includes some extensions beyond
- what is allowed in ASN.1, and a number of ASN.1 constructs are not
- allowed by this syntax.
-
- <integerSubType>
- ::= <empty>
- | "(" <range> ["|" <range>]... ")"
-
- <octetStringSubType>
- ::= <empty>
- | "(" "SIZE" "(" <range> ["|" <range>]... ")" ")"
-
- <range>
- ::= <value>
- | <value> ".." <value>
-
- <value>
- ::= "-" <number>
- | <number>
- | <hexString>
- | <binString>
-
- where:
- <empty> is the empty string
- <number> is a non-negative integer
- <hexString> is a hexadecimal string (e.g., '0F0F'H)
- <binString> is a binary string (e.g, '1010'B)
-
- <range> is further restricted as follows:
- - any <value> used in a SIZE clause must be non-negative.
- - when a pair of values is specified, the first value
- must be less than the second value.
- - when multiple ranges are specified, the ranges may
- not overlap but may touch. For example, (1..4 | 4..9)
- is invalid, and (1..4 | 5..9) is valid.
- - the ranges must be a subset of the maximum range of the
- base type.
-
-
-
-
-
-
-
- McCloghrie, et al. Standards Track [Page 40]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- 11.2. Examples
-
- Some examples of legal sub-typing:
-
- Integer32 (-20..100)
- Integer32 (0..100 | 300..500)
- Integer32 (300..500 | 0..100)
- Integer32 (0 | 2 | 4 | 6 | 8 | 10)
- OCTET STRING (SIZE(0..100))
- OCTET STRING (SIZE(0..100 | 300..500))
- OCTET STRING (SIZE(0 | 2 | 4 | 6 | 8 | 10))
- SYNTAX TimeInterval (0..100)
- SYNTAX DisplayString (SIZE(0..32))
-
- (Note the last two examples above are not valid in a TEXTUAL
- CONVENTION, see [3].)
-
- Some examples of illegal sub-typing:
-
- Integer32 (150..100) -- first greater than second
- Integer32 (0..100 | 50..500) -- ranges overlap
- Integer32 (0 | 2 | 0 ) -- value duplicated
- Integer32 (MIN..-1 | 1..MAX) -- MIN and MAX not allowed
- Integer32 (SIZE (0..34)) -- must not use SIZE
- OCTET STRING (0..100) -- must use SIZE
- OCTET STRING (SIZE(-10..100)) -- negative SIZE
-
- 12. Security Considerations
-
- This document defines a language with which to write and read
- descriptions of management information. The language itself has no
- security impact on the Internet.
-
-
-
- 13. Editors' Addresses
-
- Keith McCloghrie
- Cisco Systems, Inc.
- 170 West Tasman Drive
- San Jose, CA 95134-1706
- USA
- Phone: +1 408 526 5260
- EMail: kzm@cisco.com
-
-
-
-
-
-
- McCloghrie, et al. Standards Track [Page 41]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- David Perkins
- SNMPinfo
- 3763 Benton Street
- Santa Clara, CA 95051
- USA
- Phone: +1 408 221-8702
- EMail: dperkins@snmpinfo.com
-
- Juergen Schoenwaelder
- TU Braunschweig
- Bueltenweg 74/75
- 38106 Braunschweig
- Germany
- Phone: +49 531 391-3283
- EMail: schoenw@ibr.cs.tu-bs.de
-
-
- 14. References
-
- [1] Information processing systems - Open Systems Interconnection -
- Specification of Abstract Syntax Notation One (ASN.1),
- International Organization for Standardization. International
- Standard 8824, (December, 1987).
-
- [2] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M.
- and S. Waldbusser, "Conformance Statements for SMIv2", STD 58,
- RFC 2580, April 1999.
-
- [3] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M.
- and S. Waldbusser, "Textual Conventions for SMIv2", STD 58,
- RFC 2579, April 1999.
-
- [4] Information processing systems - Open Systems Interconnection -
- Specification of Basic Encoding Rules for Abstract Syntax Notation
- One (ASN.1), International Organization for Standardization.
- International Standard 8825, (December, 1987).
-
- [5] The SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M. and
- S. Waldbusser, "Management Information Base for Version 2 of the
- Simple Network Management Protocol (SNMPv2)", RFC 1907, January
- 1996.
-
- [6] The SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M. and
- S. Waldbusser, "Protocol Operations for Version 2 of the Simple
- Network Management Protocol (SNMPv2)", RFC 1905, January 1996.
-
-
-
-
-
- McCloghrie, et al. Standards Track [Page 42]
-
-
-
-
-
- RFC 2578 SMIv2 April 1999
-
-
- 15. Full Copyright Statement
-
- Copyright (C) The Internet Society (1999). All Rights Reserved.
-
- This document and translations of it may be copied and furnished to
- others, and derivative works that comment on or otherwise explain it
- or assist in its implementation may be prepared, copied, published
- and distributed, in whole or in part, without restriction of any
- kind, provided that the above copyright notice and this paragraph are
- included on all such copies and derivative works. However, this
- document itself may not be modified in any way, such as by removing
- the copyright notice or references to the Internet Society or other
- Internet organizations, except as needed for the purpose of
- developing Internet standards in which case the procedures for
- copyrights defined in the Internet Standards process must be
- followed, or as required to translate it into languages other than
- English.
-
- The limited permissions granted above are perpetual and will not be
- revoked by the Internet Society or its successors or assigns.
-
- This document and the information contained herein is provided on an
- "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
- TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- McCloghrie, et al. Standards Track [Page 43]
-
-
-
-
|