| < draft-ops-smiv2-tc-00.txt | draft-ops-smiv2-tc-01.txt > | |||
|---|---|---|---|---|
| Network Working Group Document Editors: | Network Working Group Editors of this version: | |||
| Internet Draft Keith McCloghrie | Internet Draft K. McCloghrie | |||
| Cisco Systems | Cisco Systems | |||
| David Perkins | D. Perkins | |||
| Desktalk Systems & SNMPinfo | Desktalk Systems & SNMPinfo | |||
| Juergen Schoenwaelder | J. Schoenwaelder | |||
| TU Braunschweig | TU Braunschweig | |||
| 31 October 1998 | Authors of previous version: | |||
| J. Case | ||||
| SNMP Research | ||||
| K. McCloghrie | ||||
| Cisco Systems | ||||
| M. Rose | ||||
| First Virtual Holdings | ||||
| S. Waldbusser | ||||
| International Network Services | ||||
| 30 January 1999 | ||||
| Textual Conventions for SMIv2 | Textual Conventions for SMIv2 | |||
| draft-ops-smiv2-tc-00.txt | draft-ops-smiv2-tc-01.txt | |||
| Status of this Memo | Status of this Memo | |||
| This document is an Internet-Draft. Internet-Drafts are working | This document is an Internet-Draft and is in full conformance with all | |||
| provisions of Section 10 of RFC2026. Internet-Drafts are working | ||||
| documents of the Internet Engineering Task Force (IETF), its areas, and | documents of the Internet Engineering Task Force (IETF), its areas, and | |||
| its working groups. Note that other groups may also distribute working | its working groups. Note that other groups may also distribute working | |||
| documents as Internet-Drafts. | documents as Internet-Drafts. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet- Drafts as reference material | time. It is inappropriate to use Internet-Drafts as reference material | |||
| or to cite them other than as ``work in progress.'' | or to cite them other than as ``work in progress.'' | |||
| To learn the current status of any Internet-Draft, please check the | To view the current status of any Internet-Draft, please check the | |||
| ``1id-abstracts.txt'' listing contained in the Internet- Drafts Shadow | ``1id-abstracts.txt'' listing contained in an Internet-Drafts Shadow | |||
| Directories on ftp.ietf.org (US East Coast), nic.nordu.net (Europe), | Directory, see http://www.ietf.org/shadow.html. | |||
| ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim). | ||||
| Copyright Notice | Copyright Notice | |||
| Copyright (C) The Internet Society (1998). All Rights Reserved. | Copyright (C) The Internet Society (1999). All Rights Reserved. | |||
| Acknowledgements | ||||
| This document is a revision of significant previous work by the four | ||||
| major contributors: | ||||
| Jeffrey D. Case (SNMP Research, case@snmp.com) | ||||
| Keith McCloghrie (Cisco Systems, kzm@cisco.com) | ||||
| Marshall T. Rose (First Virtual Holdings, mrose@dbc.mtview.ca.us) | ||||
| Steven Waldbusser (International Network Services, stevew@uni.ins.com) | ||||
| Draft Textual Conventions for SMIv2 October 1998 | Draft Textual Conventions for SMIv2 January 1999 | |||
| 1. Introduction | 1. Introduction | |||
| Management information is viewed as a collection of managed objects, | Management information is viewed as a collection of managed objects, | |||
| residing in a virtual information store, termed the Management | residing in a virtual information store, termed the Management | |||
| Information Base (MIB). Collections of related objects are defined in | Information Base (MIB). Collections of related objects are defined in | |||
| MIB modules. These modules are written using an adapted subset of OSI's | MIB modules. These modules are written using an adapted subset of OSI's | |||
| Abstract Syntax Notation One, ASN.1 (1988) [1], termed the Structure of | Abstract Syntax Notation One, ASN.1 (1988) [1], termed the Structure of | |||
| Management Information (SMI) [2]. | Management Information (SMI) [2]. | |||
| skipping to change at page 3, line 5 ¶ | skipping to change at page 3, line 5 ¶ | |||
| an ASN.1 macro, TEXTUAL-CONVENTION, is used to concisely convey the | an ASN.1 macro, TEXTUAL-CONVENTION, is used to concisely convey the | |||
| syntax and semantics of a textual convention. | syntax and semantics of a textual convention. | |||
| 1.1. A Note on Terminology | 1.1. A Note on Terminology | |||
| For the purpose of exposition, the original Structure of Management | For the purpose of exposition, the original Structure of Management | |||
| Information, as described in RFCs 1155 (STD 16), 1212 (STD 16), and RFC | 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 | 1215, is termed the SMI version 1 (SMIv1). The current version of the | |||
| Structure of Management Information is termed SMI version 2 (SMIv2). | Structure of Management Information is termed SMI version 2 (SMIv2). | |||
| Draft Textual Conventions for SMIv2 October 1998 | Draft Textual Conventions for SMIv2 January 1999 | |||
| 2. Definitions | 2. Definitions | |||
| SNMPv2-TC DEFINITIONS ::= BEGIN | SNMPv2-TC DEFINITIONS ::= BEGIN | |||
| IMPORTS | IMPORTS | |||
| TimeTicks FROM SNMPv2-SMI; | TimeTicks FROM SNMPv2-SMI; | |||
| -- definition of textual conventions | -- definition of textual conventions | |||
| skipping to change at page 4, line 5 ¶ | skipping to change at page 4, line 5 ¶ | |||
| Text ::= value(IA5String) | Text ::= value(IA5String) | |||
| Syntax ::= -- Must be one of the following: | Syntax ::= -- Must be one of the following: | |||
| -- a base type (or its refinement), or | -- a base type (or its refinement), or | |||
| -- a BITS pseudo-type | -- a BITS pseudo-type | |||
| type | type | |||
| | "BITS" "{" NamedBits "}" | | "BITS" "{" NamedBits "}" | |||
| NamedBits ::= NamedBit | NamedBits ::= NamedBit | |||
| Draft Textual Conventions for SMIv2 October 1998 | Draft Textual Conventions for SMIv2 January 1999 | |||
| | NamedBits "," NamedBit | | NamedBits "," NamedBit | |||
| NamedBit ::= identifier "(" number ")" -- number is nonnegative | NamedBit ::= identifier "(" number ")" -- number is nonnegative | |||
| END | END | |||
| DisplayString ::= TEXTUAL-CONVENTION | DisplayString ::= TEXTUAL-CONVENTION | |||
| DISPLAY-HINT "255a" | DISPLAY-HINT "255a" | |||
| STATUS current | STATUS current | |||
| skipping to change at page 5, line 4 ¶ | skipping to change at page 5, line 4 ¶ | |||
| - the sequence 'CR x' for any x other than LF or NUL is | - the sequence 'CR x' for any x other than LF or NUL is | |||
| illegal. (Note that this also means that a string may | illegal. (Note that this also means that a string may | |||
| end with either 'CR LF' or 'CR NUL', but not with CR.) | end with either 'CR LF' or 'CR NUL', but not with CR.) | |||
| Any object defined using this syntax may not exceed 255 | Any object defined using this syntax may not exceed 255 | |||
| characters in length." | characters in length." | |||
| SYNTAX OCTET STRING (SIZE (0..255)) | SYNTAX OCTET STRING (SIZE (0..255)) | |||
| PhysAddress ::= TEXTUAL-CONVENTION | PhysAddress ::= TEXTUAL-CONVENTION | |||
| Draft Textual Conventions for SMIv2 October 1998 | ||||
| Draft Textual Conventions for SMIv2 January 1999 | ||||
| DISPLAY-HINT "1x:" | DISPLAY-HINT "1x:" | |||
| STATUS current | STATUS current | |||
| DESCRIPTION | DESCRIPTION | |||
| "Represents media- or physical-level addresses." | "Represents media- or physical-level addresses." | |||
| SYNTAX OCTET STRING | SYNTAX OCTET STRING | |||
| MacAddress ::= TEXTUAL-CONVENTION | MacAddress ::= TEXTUAL-CONVENTION | |||
| DISPLAY-HINT "1x:" | DISPLAY-HINT "1x:" | |||
| STATUS current | STATUS current | |||
| skipping to change at page 6, line 5 ¶ | skipping to change at page 6, line 5 ¶ | |||
| 802.5 (in contrast to other 802.x protocols) requires MAC | 802.5 (in contrast to other 802.x protocols) requires MAC | |||
| addresses to be transmitted most significant bit first." | addresses to be transmitted most significant bit first." | |||
| SYNTAX OCTET STRING (SIZE (6)) | SYNTAX OCTET STRING (SIZE (6)) | |||
| TruthValue ::= TEXTUAL-CONVENTION | TruthValue ::= TEXTUAL-CONVENTION | |||
| STATUS current | STATUS current | |||
| DESCRIPTION | DESCRIPTION | |||
| "Represents a boolean value." | "Represents a boolean value." | |||
| SYNTAX INTEGER { true(1), false(2) } | SYNTAX INTEGER { true(1), false(2) } | |||
| Draft Textual Conventions for SMIv2 October 1998 | Draft Textual Conventions for SMIv2 January 1999 | |||
| TestAndIncr ::= TEXTUAL-CONVENTION | TestAndIncr ::= TEXTUAL-CONVENTION | |||
| STATUS current | STATUS current | |||
| DESCRIPTION | DESCRIPTION | |||
| "Represents integer-valued information used for atomic | "Represents integer-valued information used for atomic | |||
| operations. When the management protocol is used to specify | operations. When the management protocol is used to specify | |||
| that an object instance having this syntax is to be | that an object instance having this syntax is to be | |||
| modified, the new value supplied via the management protocol | modified, the new value supplied via the management protocol | |||
| must precisely match the value presently held by the | must precisely match the value presently held by the | |||
| instance. If not, the management protocol set operation | instance. If not, the management protocol set operation | |||
| skipping to change at page 7, line 5 ¶ | skipping to change at page 7, line 5 ¶ | |||
| any value may be supplied via the management protocol. | any value may be supplied via the management protocol. | |||
| When the network management portion of the system is re- | When the network management portion of the system is re- | |||
| initialized, the value of every object instance having this | initialized, the value of every object instance having this | |||
| syntax must either be incremented from its value prior to | syntax must either be incremented from its value prior to | |||
| the re-initialization, or (if the value prior to the re- | the re-initialization, or (if the value prior to the re- | |||
| initialization is unknown) be set to a pseudo-randomly | initialization is unknown) be set to a pseudo-randomly | |||
| generated value." | generated value." | |||
| SYNTAX INTEGER (0..2147483647) | SYNTAX INTEGER (0..2147483647) | |||
| Draft Textual Conventions for SMIv2 October 1998 | Draft Textual Conventions for SMIv2 January 1999 | |||
| AutonomousType ::= TEXTUAL-CONVENTION | AutonomousType ::= TEXTUAL-CONVENTION | |||
| STATUS current | STATUS current | |||
| DESCRIPTION | DESCRIPTION | |||
| "Represents an independently extensible type identification | "Represents an independently extensible type identification | |||
| value. It may, for example, indicate a particular sub-tree | value. It may, for example, indicate a particular sub-tree | |||
| with further MIB definitions, or define a particular type of | with further MIB definitions, or define a particular type of | |||
| protocol or hardware." | protocol or hardware." | |||
| SYNTAX OBJECT IDENTIFIER | SYNTAX OBJECT IDENTIFIER | |||
| skipping to change at page 8, line 5 ¶ | skipping to change at page 8, line 5 ¶ | |||
| DESCRIPTION | DESCRIPTION | |||
| "Represents a pointer to a conceptual row. The value is the | "Represents a pointer to a conceptual row. The value is the | |||
| name of the instance of the first accessible columnar object | name of the instance of the first accessible columnar object | |||
| in the conceptual row. | in the conceptual row. | |||
| For example, ifIndex.3 would point to the 3rd row in the | For example, ifIndex.3 would point to the 3rd row in the | |||
| ifTable (note that if ifIndex were not-accessible, then | ifTable (note that if ifIndex were not-accessible, then | |||
| ifDescr.3 would be used instead)." | ifDescr.3 would be used instead)." | |||
| SYNTAX OBJECT IDENTIFIER | SYNTAX OBJECT IDENTIFIER | |||
| Draft Textual Conventions for SMIv2 October 1998 | Draft Textual Conventions for SMIv2 January 1999 | |||
| RowStatus ::= TEXTUAL-CONVENTION | RowStatus ::= TEXTUAL-CONVENTION | |||
| STATUS current | STATUS current | |||
| DESCRIPTION | DESCRIPTION | |||
| "The RowStatus textual convention is used to manage the | "The RowStatus textual convention is used to manage the | |||
| creation and deletion of conceptual rows, and is used as the | creation and deletion of conceptual rows, and is used as the | |||
| value of the SYNTAX clause for the status column of a | value of the SYNTAX clause for the status column of a | |||
| conceptual row (as described in Section 7.7.1 of [2].) | conceptual row (as described in Section 7.7.1 of [2].) | |||
| The status column has six defined values: | The status column has six defined values: | |||
| - `active', which indicates that the conceptual row is | - `active', which indicates that the conceptual row is | |||
| available for use by the managed device; | available for use by the managed device; | |||
| - `notInService', which indicates that the conceptual | - `notInService', which indicates that the conceptual | |||
| row exists in the agent, but is unavailable for use by | row exists in the agent, but is unavailable for use by | |||
| the managed device (see NOTE below); | the managed device (see NOTE below); 'notInService' has | |||
| no implication regarding the internal consistency of | ||||
| the row, availability of resources, or consistency with | ||||
| the current state of the managed device; | ||||
| - `notReady', which indicates that the conceptual row | - `notReady', which indicates that the conceptual row | |||
| exists in the agent, but is missing information | exists in the agent, but is missing information | |||
| necessary in order to be available for use by the | necessary in order to be available for use by the | |||
| managed device; | managed device (i.e., one or more required columns in | |||
| the conceptual row have not been instanciated); | ||||
| - `createAndGo', which is supplied by a management | - `createAndGo', which is supplied by a management | |||
| station wishing to create a new instance of a | station wishing to create a new instance of a | |||
| conceptual row and to have its status automatically set | conceptual row and to have its status automatically set | |||
| to active, making it available for use by the managed | to active, making it available for use by the managed | |||
| device; | device; | |||
| - `createAndWait', which is supplied by a management | - `createAndWait', which is supplied by a management | |||
| station wishing to create a new instance of a | station wishing to create a new instance of a | |||
| conceptual row (but not make it available for use by | conceptual row (but not make it available for use by | |||
| the managed device); and, | the managed device); and, | |||
| - `destroy', which is supplied by a management station | - `destroy', which is supplied by a management station | |||
| wishing to delete all of the instances associated with | wishing to delete all of the instances associated with | |||
| an existing conceptual row. | an existing conceptual row. | |||
| Whereas five of the six values (all except `notReady') may | Whereas five of the six values (all except `notReady') may | |||
| be specified in a management protocol set operation, only | be specified in a management protocol set operation, only | |||
| three values will be returned in response to a management | three values will be returned in response to a management | |||
| protocol retrieval operation: `notReady', `notInService' or | protocol retrieval operation: `notReady', `notInService' or | |||
| Draft Textual Conventions for SMIv2 January 1999 | ||||
| `active'. That is, when queried, an existing conceptual row | `active'. That is, when queried, an existing conceptual row | |||
| has only three states: it is either available for use by the | has only three states: it is either available for use by the | |||
| managed device (the status column has value `active'); it is | managed device (the status column has value `active'); it is | |||
| not available for use by the managed device, though the | not available for use by the managed device, though the | |||
| agent has sufficient information to attempt to make it so | ||||
| Draft Textual Conventions for SMIv2 October 1998 | (the status column has value `notInService'); or, it is not | |||
| available for use by the managed device, and an attempt to | ||||
| agent has sufficient information to make it so (the status | make it so would fail because the agent has insufficient | |||
| column has value `notInService'); or, it is not available | information (the state column has value `notReady'). | |||
| for use by the managed device, and an attempt to make it so | ||||
| would fail because the agent has insufficient information | ||||
| (the state column has value `notReady'). | ||||
| NOTE WELL | NOTE WELL | |||
| This textual convention may be used for a MIB table, | This textual convention may be used for a MIB table, | |||
| irrespective of whether the values of that table's | irrespective of whether the values of that table's | |||
| conceptual rows are able to be modified while it is | conceptual rows are able to be modified while it is | |||
| active, or whether its conceptual rows must be taken | active, or whether its conceptual rows must be taken | |||
| out of service in order to be modified. That is, it is | out of service in order to be modified. That is, it is | |||
| the responsibility of the DESCRIPTION clause of the | the responsibility of the DESCRIPTION clause of the | |||
| status column to specify whether the status column must | status column to specify whether the status column must | |||
| skipping to change at page 10, line 5 ¶ | skipping to change at page 10, line 5 ¶ | |||
| processing the PDU. In other words, if the PDU also | processing the PDU. In other words, if the PDU also | |||
| contained a varbind that would change the RowStatus | contained a varbind that would change the RowStatus | |||
| value, the column in question may be changed if the | value, the column in question may be changed if the | |||
| RowStatus was not equal to `active' as the PDU was | RowStatus was not equal to `active' as the PDU was | |||
| received, or if the varbind sets the status to a value | received, or if the varbind sets the status to a value | |||
| other than 'active'. | other than 'active'. | |||
| Also note that whenever any elements of a row exist, the | Also note that whenever any elements of a row exist, the | |||
| RowStatus column must also exist. | RowStatus column must also exist. | |||
| Draft Textual Conventions for SMIv2 October 1998 | Draft Textual Conventions for SMIv2 January 1999 | |||
| To summarize the effect of having a conceptual row with a | To summarize the effect of having a conceptual row with a | |||
| status column having a SYNTAX clause value of RowStatus, | status column having a SYNTAX clause value of RowStatus, | |||
| consider the following state diagram: | consider the following state diagram: | |||
| STATE | STATE | |||
| +--------------+-----------+-------------+------------- | +--------------+-----------+-------------+------------- | |||
| | A | B | C | D | | A | B | C | D | |||
| | |status col.|status column| | | |status col.|status column| | |||
| |status column | is | is |status column | |status column | is | is |status column | |||
| skipping to change at page 10, line 32 ¶ | skipping to change at page 10, line 32 ¶ | |||
| --------------+--------------+-----------+-------------+------------- | --------------+--------------+-----------+-------------+------------- | |||
| set status |noError see 1|inconsist- |inconsistent-|inconsistent- | set status |noError see 1|inconsist- |inconsistent-|inconsistent- | |||
| column to | or | entValue| Value| Value | column to | or | entValue| Value| Value | |||
| createAndWait |wrongValue | | | | createAndWait |wrongValue | | | | |||
| --------------+--------------+-----------+-------------+------------- | --------------+--------------+-----------+-------------+------------- | |||
| set status |inconsistent- |inconsist- |noError |noError | set status |inconsistent- |inconsist- |noError |noError | |||
| column to | Value| entValue| | | column to | Value| entValue| | | |||
| active | | | | | active | | | | | |||
| | | or | | | | | or | | | |||
| | | | | | | | | | | |||
| | |see 2 ->D| ->D| ->D | | |see 2 ->D|see 8 ->D| ->D | |||
| --------------+--------------+-----------+-------------+------------- | --------------+--------------+-----------+-------------+------------- | |||
| set status |inconsistent- |inconsist- |noError |noError ->C | set status |inconsistent- |inconsist- |noError |noError ->C | |||
| column to | Value| entValue| | | column to | Value| entValue| | | |||
| notInService | | | | | notInService | | | | | |||
| | | or | | or | | | or | | or | |||
| | | | | | | | | | | |||
| | |see 3 ->C| ->C|see 6 | | |see 3 ->C| ->C|see 6 | |||
| --------------+--------------+-----------+-------------+------------- | --------------+--------------+-----------+-------------+------------- | |||
| set status |noError |noError |noError |noError ->A | set status |noError |noError |noError |noError ->A | |||
| column to | | | | or | column to | | | | or | |||
| destroy | ->A| ->A| ->A|see 7 | destroy | ->A| ->A| ->A|see 7 | |||
| --------------+--------------+-----------+-------------+------------- | --------------+--------------+-----------+-------------+------------- | |||
| set any other |see 4 |noError |noError |see 5 | set any other |see 4 |noError |noError |see 5 | |||
| column to some| | | | | column to some| | | | | |||
| value | | see 1| ->C| ->D | value | | see 1| ->C| ->D | |||
| --------------+--------------+-----------+-------------+------------- | --------------+--------------+-----------+-------------+------------- | |||
| (1) goto B or C, depending on information available to the | (1) goto B or C, depending on information available to the | |||
| Draft Textual Conventions for SMIv2 October 1998 | Draft Textual Conventions for SMIv2 January 1999 | |||
| agent. | agent. | |||
| (2) if other variable bindings included in the same PDU, | (2) if other variable bindings included in the same PDU, | |||
| provide values for all columns which are missing but | provide values for all columns which are missing but | |||
| required, and all columns have acceptable values, then | required, and all columns have acceptable values, then | |||
| return noError and goto D. | return noError and goto D. | |||
| (3) if other variable bindings included in the same PDU, | (3) if other variable bindings included in the same PDU, | |||
| provide legal values for all columns which are missing but | provide legal values for all columns which are missing but | |||
| skipping to change at page 12, line 5 ¶ | skipping to change at page 12, line 5 ¶ | |||
| errors: | errors: | |||
| wrongValue: because the agent does not support | wrongValue: because the agent does not support | |||
| notInService (e.g., an agent which does not support | notInService (e.g., an agent which does not support | |||
| createAndWait), or | createAndWait), or | |||
| inconsistentValue: because the agent is unable to take | inconsistentValue: because the agent is unable to take | |||
| the row out of service at this time, perhaps because it | the row out of service at this time, perhaps because it | |||
| is in use and cannot be de-activated. | is in use and cannot be de-activated. | |||
| Draft Textual Conventions for SMIv2 October 1998 | Draft Textual Conventions for SMIv2 January 1999 | |||
| (7) the return value can indicate the following error: | (7) the return value can indicate the following error: | |||
| inconsistentValue: because the agent is unable to | inconsistentValue: because the agent is unable to | |||
| remove the row at this time, perhaps because it is in | remove the row at this time, perhaps because it is in | |||
| use and cannot be de-activated. | use and cannot be de-activated. | |||
| NOTE: Other processing of the set request may result in a | (8) the transition to D can fail, e.g., if the values of the | |||
| response other than noError being returned, e.g., | conceptual row are inconsistent, then the error code would | |||
| wrongValue, noCreation, etc. | be inconsistentValue. | |||
| NOTE: Other processing of (this and other varbinds of) the | ||||
| set request may result in a response other than noError | ||||
| being returned, e.g., wrongValue, noCreation, etc. | ||||
| Conceptual Row Creation | Conceptual Row Creation | |||
| There are four potential interactions when creating a | There are four potential interactions when creating a | |||
| conceptual row: selecting an instance-identifier which is | conceptual row: selecting an instance-identifier which is | |||
| not in use; creating the conceptual row; initializing any | not in use; creating the conceptual row; initializing any | |||
| objects for which the agent does not supply a default; and, | objects for which the agent does not supply a default; and, | |||
| making the conceptual row available for use by the managed | making the conceptual row available for use by the managed | |||
| device. | device. | |||
| skipping to change at page 12, line 47 ¶ | skipping to change at page 13, line 4 ¶ | |||
| examine the instances present in order to determine an | examine the instances present in order to determine an | |||
| unused instance-identifier. (This approach may be used, but | unused instance-identifier. (This approach may be used, but | |||
| it is often highly sub-optimal; however, it is also a | it is often highly sub-optimal; however, it is also a | |||
| questionable practice for a naive management station to | questionable practice for a naive management station to | |||
| attempt conceptual row creation.) | attempt conceptual row creation.) | |||
| Alternately, the MIB module which defines the conceptual row | Alternately, the MIB module which defines the conceptual row | |||
| might provide one or more objects which provide assistance | might provide one or more objects which provide assistance | |||
| in determining an unused instance-identifier. For example, | in determining an unused instance-identifier. For example, | |||
| if the conceptual row is indexed by an integer-value, then | if the conceptual row is indexed by an integer-value, then | |||
| Draft Textual Conventions for SMIv2 January 1999 | ||||
| an object having an integer-valued SYNTAX clause might be | an object having an integer-valued SYNTAX clause might be | |||
| defined for such a purpose, allowing a management station to | defined for such a purpose, allowing a management station to | |||
| issue a management protocol retrieval operation. In order | issue a management protocol retrieval operation. In order | |||
| to avoid unnecessary collisions between competing management | to avoid unnecessary collisions between competing management | |||
| Draft Textual Conventions for SMIv2 October 1998 | ||||
| stations, `adjacent' retrievals of this object should be | stations, `adjacent' retrievals of this object should be | |||
| different. | different. | |||
| Finally, the management station could select a pseudo-random | Finally, the management station could select a pseudo-random | |||
| number to use as the index. In the event that this index | number to use as the index. In the event that this index | |||
| was already in use and an inconsistentValue was returned in | was already in use and an inconsistentValue was returned in | |||
| response to the management protocol set operation, the | response to the management protocol set operation, the | |||
| management station should simply select a new pseudo-random | management station should simply select a new pseudo-random | |||
| number and retry the operation. | number and retry the operation. | |||
| skipping to change at page 13, line 46 ¶ | skipping to change at page 14, line 5 ¶ | |||
| requirements, i.e., it must determine those columns for | requirements, i.e., it must determine those columns for | |||
| which it must or must not provide values. Depending on the | which it must or must not provide values. Depending on the | |||
| complexity of the table and the management station's | complexity of the table and the management station's | |||
| knowledge of the agent's capabilities, this determination | knowledge of the agent's capabilities, this determination | |||
| can be made locally by the management station. Alternately, | can be made locally by the management station. Alternately, | |||
| the management station issues a management protocol get | the management station issues a management protocol get | |||
| operation to examine all columns in the conceptual row that | operation to examine all columns in the conceptual row that | |||
| it wishes to create. In response, for each column, there | it wishes to create. In response, for each column, there | |||
| are three possible outcomes: | are three possible outcomes: | |||
| Draft Textual Conventions for SMIv2 January 1999 | ||||
| - a value is returned, indicating that some other | - a value is returned, indicating that some other | |||
| management station has already created this conceptual | management station has already created this conceptual | |||
| row. We return to interaction 1. | row. We return to interaction 1. | |||
| Draft Textual Conventions for SMIv2 October 1998 | ||||
| - the exception `noSuchInstance' is returned, | - the exception `noSuchInstance' is returned, | |||
| indicating that the agent implements the object-type | indicating that the agent implements the object-type | |||
| associated with this column, and that this column in at | associated with this column, and that this column in at | |||
| least one conceptual row would be accessible in the MIB | least one conceptual row would be accessible in the MIB | |||
| view used by the retrieval were it to exist. For those | view used by the retrieval were it to exist. For those | |||
| columns to which the agent provides read-create access, | columns to which the agent provides read-create access, | |||
| the `noSuchInstance' exception tells the management | the `noSuchInstance' exception tells the management | |||
| station that it should supply a value for this column | station that it should supply a value for this column | |||
| when the conceptual row is to be created. | when the conceptual row is to be created. | |||
| skipping to change at page 14, line 48 ¶ | skipping to change at page 15, line 4 ¶ | |||
| implementation-specific defaults for at least those objects | implementation-specific defaults for at least those objects | |||
| which it implements as read-only). If there is sufficient | which it implements as read-only). If there is sufficient | |||
| information available, then the conceptual row is created, a | information available, then the conceptual row is created, a | |||
| `noError' response is returned, the status column is set to | `noError' response is returned, the status column is set to | |||
| `active', and no further interactions are necessary (i.e., | `active', and no further interactions are necessary (i.e., | |||
| interactions 3 and 4 are skipped). If there is insufficient | interactions 3 and 4 are skipped). If there is insufficient | |||
| information, then the conceptual row is not created, and the | information, then the conceptual row is not created, and the | |||
| set operation fails with an error of `inconsistentValue'. | set operation fails with an error of `inconsistentValue'. | |||
| On this error, the management station can issue a management | On this error, the management station can issue a management | |||
| protocol retrieval operation to determine if this was | protocol retrieval operation to determine if this was | |||
| Draft Textual Conventions for SMIv2 January 1999 | ||||
| because it failed to specify a value for a required column, | because it failed to specify a value for a required column, | |||
| or, because the selected instance of the status column | or, because the selected instance of the status column | |||
| already existed. In the latter case, we return to | already existed. In the latter case, we return to | |||
| interaction 1. In the former case, the management station | interaction 1. In the former case, the management station | |||
| Draft Textual Conventions for SMIv2 October 1998 | ||||
| can re-issue the set operation with the additional | can re-issue the set operation with the additional | |||
| information, or begin interaction 2 again using | information, or begin interaction 2 again using | |||
| `createAndWait' in order to negotiate creation of the | `createAndWait' in order to negotiate creation of the | |||
| conceptual row. | conceptual row. | |||
| NOTE WELL | NOTE WELL | |||
| Regardless of the method used to determine the column | Regardless of the method used to determine the column | |||
| requirements, it is possible that the management | requirements, it is possible that the management | |||
| station might deem a column necessary when, in fact, | station might deem a column necessary when, in fact, | |||
| skipping to change at page 16, line 5 ¶ | skipping to change at page 16, line 5 ¶ | |||
| management protocol set operation will fail with an | management protocol set operation will fail with an | |||
| error such as `noCreation' or `notWritable'. In this | error such as `noCreation' or `notWritable'. In this | |||
| case, the management station decides whether it needs | case, the management station decides whether it needs | |||
| to be able to set a value for that particular columnar | to be able to set a value for that particular columnar | |||
| instance. If not, the management station re-issues the | instance. If not, the management station re-issues the | |||
| management protocol set operation, but without setting | management protocol set operation, but without setting | |||
| a value for that particular columnar instance; | a value for that particular columnar instance; | |||
| otherwise, the management station aborts the row | otherwise, the management station aborts the row | |||
| creation algorithm. | creation algorithm. | |||
| Draft Textual Conventions for SMIv2 October 1998 | Draft Textual Conventions for SMIv2 January 1999 | |||
| Interaction 2b: Negotiating the Creation of the Conceptual | Interaction 2b: Negotiating the Creation of the Conceptual | |||
| Row | Row | |||
| The management station issues a management protocol set | The management station issues a management protocol set | |||
| operation which sets the desired instance of the status | operation which sets the desired instance of the status | |||
| column to `createAndWait'. If the agent is unwilling to | column to `createAndWait'. If the agent is unwilling to | |||
| process a request of this sort, the set operation fails with | process a request of this sort, the set operation fails with | |||
| an error of `wrongValue'. (As a consequence, such an agent | an error of `wrongValue'. (As a consequence, such an agent | |||
| must be prepared to accept a single management protocol set | must be prepared to accept a single management protocol set | |||
| operation, i.e., interaction 2a above, containing all of the | operation, i.e., interaction 2a above, containing all of the | |||
| columns indicated by its column requirements.) Otherwise, | columns indicated by its column requirements.) Otherwise, | |||
| the conceptual row is created, a `noError' response is | the conceptual row is created, a `noError' response is | |||
| returned, and the status column is immediately set to either | returned, and the status column is immediately set to either | |||
| `notInService' or `notReady', depending on whether it has | `notInService' or `notReady', depending on whether it has | |||
| sufficient information to make the conceptual row available | sufficient information to (attempt to) make the conceptual | |||
| for use by the managed device. If there is sufficient | row available for use by the managed device. If there is | |||
| information available, then the status column is set to | sufficient information available, then the status column is | |||
| `notInService'; otherwise, if there is insufficient | set to `notInService'; otherwise, if there is insufficient | |||
| information, then the status column is set to `notReady'. | information, then the status column is set to `notReady'. | |||
| Regardless, we proceed to interaction 3. | Regardless, we proceed to interaction 3. | |||
| Interaction 3: Initializing non-defaulted Objects | Interaction 3: Initializing non-defaulted Objects | |||
| The management station must now determine the column | The management station must now determine the column | |||
| requirements. It issues a management protocol get operation | requirements. It issues a management protocol get operation | |||
| to examine all columns in the created conceptual row. In | to examine all columns in the created conceptual row. In | |||
| the response, for each column, there are three possible | the response, for each column, there are three possible | |||
| outcomes: | outcomes: | |||
| skipping to change at page 17, line 5 ¶ | skipping to change at page 17, line 5 ¶ | |||
| - a value is returned, indicating that the agent | - a value is returned, indicating that the agent | |||
| implements the object-type associated with this column | implements the object-type associated with this column | |||
| and had sufficient information to provide a value. For | and had sufficient information to provide a value. For | |||
| those columns to which the agent provides read-create | those columns to which the agent provides read-create | |||
| access (and for which the agent allows their values to | access (and for which the agent allows their values to | |||
| be changed after their creation), a value return tells | be changed after their creation), a value return tells | |||
| the management station that it may issue additional | the management station that it may issue additional | |||
| management protocol set operations, if it desires, in | management protocol set operations, if it desires, in | |||
| order to change the value associated with this column. | order to change the value associated with this column. | |||
| Draft Textual Conventions for SMIv2 October 1998 | Draft Textual Conventions for SMIv2 January 1999 | |||
| - the exception `noSuchInstance' is returned, | - the exception `noSuchInstance' is returned, | |||
| indicating that the agent implements the object-type | indicating that the agent implements the object-type | |||
| associated with this column, and that this column in at | associated with this column, and that this column in at | |||
| least one conceptual row would be accessible in the MIB | least one conceptual row would be accessible in the MIB | |||
| view used by the retrieval were it to exist. However, | view used by the retrieval were it to exist. However, | |||
| the agent does not have sufficient information to | the agent does not have sufficient information to | |||
| provide a value, and until a value is provided, the | provide a value, and until a value is provided, the | |||
| conceptual row may not be made available for use by the | conceptual row may not be made available for use by the | |||
| managed device. For those columns to which the agent | managed device. For those columns to which the agent | |||
| skipping to change at page 18, line 5 ¶ | skipping to change at page 18, line 5 ¶ | |||
| Once the management station is satisfied with the values | Once the management station is satisfied with the values | |||
| associated with the columns of the conceptual row, it issues | associated with the columns of the conceptual row, it issues | |||
| a management protocol set operation to set the status column | a management protocol set operation to set the status column | |||
| to `active'. If the agent has sufficient information to | to `active'. If the agent has sufficient information to | |||
| make the conceptual row available for use by the managed | make the conceptual row available for use by the managed | |||
| device, the management protocol set operation succeeds (a | device, the management protocol set operation succeeds (a | |||
| `noError' response is returned). Otherwise, the management | `noError' response is returned). Otherwise, the management | |||
| protocol set operation fails with an error of | protocol set operation fails with an error of | |||
| `inconsistentValue'. | `inconsistentValue'. | |||
| Draft Textual Conventions for SMIv2 October 1998 | Draft Textual Conventions for SMIv2 January 1999 | |||
| NOTE WELL | NOTE WELL | |||
| A conceptual row having a status column with value | A conceptual row having a status column with value | |||
| `notInService' or `notReady' is unavailable to the | `notInService' or `notReady' is unavailable to the | |||
| managed device. As such, it is possible for the | managed device. As such, it is possible for the | |||
| managed device to create its own instances during the | managed device to create its own instances during the | |||
| time between the management protocol set operation | time between the management protocol set operation | |||
| which sets the status column to `createAndWait' and the | which sets the status column to `createAndWait' and the | |||
| management protocol set operation which sets the status | management protocol set operation which sets the status | |||
| skipping to change at page 19, line 5 ¶ | skipping to change at page 19, line 5 ¶ | |||
| (including `think time') between the creation of the | (including `think time') between the creation of the | |||
| conceptual row and the setting of the status to `active'. | conceptual row and the setting of the status to `active'. | |||
| In the absence of such information in the DESCRIPTION | In the absence of such information in the DESCRIPTION | |||
| clause, it is suggested that this period be approximately 5 | clause, it is suggested that this period be approximately 5 | |||
| minutes in length. This removal action applies not only to | minutes in length. This removal action applies not only to | |||
| newly-created rows, but also to previously active rows which | newly-created rows, but also to previously active rows which | |||
| are set to, and left in, the notInService state for a | are set to, and left in, the notInService state for a | |||
| prolonged period exceeding that which is considered normal | prolonged period exceeding that which is considered normal | |||
| for such a conceptual row. | for such a conceptual row. | |||
| Draft Textual Conventions for SMIv2 October 1998 | Draft Textual Conventions for SMIv2 January 1999 | |||
| Conceptual Row Suspension | Conceptual Row Suspension | |||
| When a conceptual row is `active', the management station | When a conceptual row is `active', the management station | |||
| may issue a management protocol set operation which sets the | may issue a management protocol set operation which sets the | |||
| instance of the status column to `notInService'. If the | instance of the status column to `notInService'. If the | |||
| agent is unwilling to do so, the set operation fails with an | agent is unwilling to do so, the set operation fails with an | |||
| error of `wrongValue' or `inconsistentValue'. Otherwise, | error of `wrongValue' or `inconsistentValue'. Otherwise, | |||
| the conceptual row is taken out of service, and a `noError' | the conceptual row is taken out of service, and a `noError' | |||
| response is returned. It is the responsibility of the | response is returned. It is the responsibility of the | |||
| skipping to change at page 20, line 5 ¶ | skipping to change at page 20, line 5 ¶ | |||
| notReady(3), | notReady(3), | |||
| -- the following three values are | -- the following three values are | |||
| -- actions: these values may be written, | -- actions: these values may be written, | |||
| -- but are never read | -- but are never read | |||
| createAndGo(4), | createAndGo(4), | |||
| createAndWait(5), | createAndWait(5), | |||
| destroy(6) | destroy(6) | |||
| } | } | |||
| Draft Textual Conventions for SMIv2 October 1998 | Draft Textual Conventions for SMIv2 January 1999 | |||
| TimeStamp ::= TEXTUAL-CONVENTION | TimeStamp ::= TEXTUAL-CONVENTION | |||
| STATUS current | STATUS current | |||
| DESCRIPTION | DESCRIPTION | |||
| "The value of the sysUpTime object at which a specific | "The value of the sysUpTime object at which a specific | |||
| occurrence happened. The specific occurrence must be | occurrence happened. The specific occurrence must be | |||
| defined in the description of any object defined using this | defined in the description of any object defined using this | |||
| type. | type. | |||
| If sysUpTime is reset to zero as a result of a re- | If sysUpTime is reset to zero as a result of a re- | |||
| skipping to change at page 21, line 5 ¶ | skipping to change at page 21, line 5 ¶ | |||
| of TimeStamp objects do not change. This can lead to | of TimeStamp objects do not change. This can lead to | |||
| ambiguities in the value of TimeStamp objects." | ambiguities in the value of TimeStamp objects." | |||
| SYNTAX TimeTicks | SYNTAX TimeTicks | |||
| TimeInterval ::= TEXTUAL-CONVENTION | TimeInterval ::= TEXTUAL-CONVENTION | |||
| STATUS current | STATUS current | |||
| DESCRIPTION | DESCRIPTION | |||
| "A period of time, measured in units of 0.01 seconds." | "A period of time, measured in units of 0.01 seconds." | |||
| SYNTAX INTEGER (0..2147483647) | SYNTAX INTEGER (0..2147483647) | |||
| Draft Textual Conventions for SMIv2 October 1998 | Draft Textual Conventions for SMIv2 January 1999 | |||
| DateAndTime ::= TEXTUAL-CONVENTION | DateAndTime ::= TEXTUAL-CONVENTION | |||
| DISPLAY-HINT "2d-1d-1d,1d:1d:1d.1d,1a1d:1d" | DISPLAY-HINT "2d-1d-1d,1d:1d:1d.1d,1a1d:1d" | |||
| STATUS current | STATUS current | |||
| DESCRIPTION | DESCRIPTION | |||
| "A date-time specification. | "A date-time specification. | |||
| field octets contents range | field octets contents range | |||
| ----- ------ -------- ----- | ----- ------ -------- ----- | |||
| 1 1-2 year* 0..65536 | 1 1-2 year* 0..65536 | |||
| skipping to change at page 22, line 5 ¶ | skipping to change at page 22, line 5 ¶ | |||
| For example, Tuesday May 26, 1992 at 1:30:15 PM EDT would be | For example, Tuesday May 26, 1992 at 1:30:15 PM EDT would be | |||
| displayed as: | displayed as: | |||
| 1992-5-26,13:30:15.0,-4:0 | 1992-5-26,13:30:15.0,-4:0 | |||
| Note that if only local time is known, then timezone | Note that if only local time is known, then timezone | |||
| information (fields 8-10) is not present." | information (fields 8-10) is not present." | |||
| SYNTAX OCTET STRING (SIZE (8 | 11)) | SYNTAX OCTET STRING (SIZE (8 | 11)) | |||
| Draft Textual Conventions for SMIv2 October 1998 | Draft Textual Conventions for SMIv2 January 1999 | |||
| StorageType ::= TEXTUAL-CONVENTION | StorageType ::= TEXTUAL-CONVENTION | |||
| STATUS current | STATUS current | |||
| DESCRIPTION | DESCRIPTION | |||
| "Describes the memory realization of a conceptual row. A | "Describes the memory realization of a conceptual row. A | |||
| row which is volatile(2) is lost upon reboot. A row which | row which is volatile(2) is lost upon reboot. A row which | |||
| is either nonVolatile(3), permanent(4) or readOnly(5), is | is either nonVolatile(3), permanent(4) or readOnly(5), is | |||
| backed up by stable storage. A row which is permanent(4) | backed up by stable storage. A row which is permanent(4) | |||
| can be changed but not deleted. A row which is readOnly(5) | can be changed but not deleted. A row which is readOnly(5) | |||
| cannot be changed nor deleted. | cannot be changed nor deleted. | |||
| skipping to change at page 22, line 43 ¶ | skipping to change at page 22, line 43 ¶ | |||
| } | } | |||
| TDomain ::= TEXTUAL-CONVENTION | TDomain ::= TEXTUAL-CONVENTION | |||
| STATUS current | STATUS current | |||
| DESCRIPTION | DESCRIPTION | |||
| "Denotes a kind of transport service. | "Denotes a kind of transport service. | |||
| Some possible values, such as snmpUDPDomain, are defined in | Some possible values, such as snmpUDPDomain, are defined in | |||
| the SNMPv2-TM MIB module. Other possible values are defined | the SNMPv2-TM MIB module. Other possible values are defined | |||
| in other MIB modules." | in other MIB modules." | |||
| REFERENCE "The SNMPv2-TM MIB module is defined in RFC 1906." | ||||
| SYNTAX OBJECT IDENTIFIER | SYNTAX OBJECT IDENTIFIER | |||
| Draft Textual Conventions for SMIv2 October 1998 | Draft Textual Conventions for SMIv2 January 1999 | |||
| TAddress ::= TEXTUAL-CONVENTION | TAddress ::= TEXTUAL-CONVENTION | |||
| STATUS current | STATUS current | |||
| DESCRIPTION | DESCRIPTION | |||
| "Denotes a transport service address. | "Denotes a transport service address. | |||
| A TAddress value is always interpreted within the context of a | A TAddress value is always interpreted within the context of a | |||
| TDomain value. Thus, each definition of a TDomain value must | TDomain value. Thus, each definition of a TDomain value must | |||
| be accompanied by a definition of a textual convention for use | be accompanied by a definition of a textual convention for use | |||
| with that TDomain. Some possible textual conventions, such as | with that TDomain. Some possible textual conventions, such as | |||
| SnmpUDPAddress for snmpUDPDomain, are defined in the SNMPv2-TM | SnmpUDPAddress for snmpUDPDomain, are defined in the SNMPv2-TM | |||
| MIB module. Other possible textual conventions are defined in | MIB module. Other possible textual conventions are defined in | |||
| other MIB modules." | other MIB modules." | |||
| REFERENCE "The SNMPv2-TM MIB module is defined in RFC 1906." | ||||
| SYNTAX OCTET STRING (SIZE (1..255)) | SYNTAX OCTET STRING (SIZE (1..255)) | |||
| END | END | |||
| Draft Textual Conventions for SMIv2 October 1998 | ||||
| Draft Textual Conventions for SMIv2 January 1999 | ||||
| 3. Mapping of the TEXTUAL-CONVENTION macro | 3. Mapping of the TEXTUAL-CONVENTION macro | |||
| The TEXTUAL-CONVENTION macro is used to convey the syntax and semantics | The TEXTUAL-CONVENTION macro is used to convey the syntax and semantics | |||
| associated with a textual convention. It should be noted that the | associated with a textual convention. It should be noted that the | |||
| expansion of the TEXTUAL-CONVENTION macro is something which | expansion of the TEXTUAL-CONVENTION macro is something which | |||
| conceptually happens during implementation and not during run-time. | conceptually happens during implementation and not during run-time. | |||
| The name of a textual convention must consist of one or more letters or | The name of a textual convention must consist of one or more letters or | |||
| digits, with the initial character being an upper case letter. The name | digits, with the initial character being an upper case letter. The name | |||
| skipping to change at page 25, line 5 ¶ | skipping to change at page 25, line 5 ¶ | |||
| before the digits. The second part is always omitted for `x', `o' and | before the digits. The second part is always omitted for `x', `o' and | |||
| `b', and need not be present for `d'. If present, the second part | `b', and need not be present for `d'. If present, the second part | |||
| starts with a hyphen and is followed by a decimal number, which defines | starts with a hyphen and is followed by a decimal number, which defines | |||
| the implied decimal point when rendering the value. For example: | the implied decimal point when rendering the value. For example: | |||
| Hundredths ::= TEXTUAL-CONVENTION | Hundredths ::= TEXTUAL-CONVENTION | |||
| DISPLAY-HINT "d-2" | DISPLAY-HINT "d-2" | |||
| ... | ... | |||
| SYNTAX INTEGER (0..10000) | SYNTAX INTEGER (0..10000) | |||
| Draft Textual Conventions for SMIv2 October 1998 | Draft Textual Conventions for SMIv2 January 1999 | |||
| suggests that a Hundredths value of 1234 be rendered as "12.34" | suggests that a Hundredths value of 1234 be rendered as "12.34" | |||
| When the syntax has an underlying primitive type of OCTET STRING, the | When the syntax has an underlying primitive type of OCTET STRING, the | |||
| hint consists of one or more octet-format specifications. Each | hint consists of one or more octet-format specifications. Each | |||
| specification consists of five parts, with each part using and removing | specification consists of five parts, with each part using and removing | |||
| zero or more of the next octets from the value and producing the next | zero or more of the next octets from the value and producing the next | |||
| zero or more characters to be displayed. The octets within the value | zero or more characters to be displayed. The octets within the value | |||
| are processed in order of significance, most significant first. | are processed in order of significance, most significant first. | |||
| skipping to change at page 26, line 5 ¶ | skipping to change at page 26, line 5 ¶ | |||
| application of this octet-specification; however, this character is | application of this octet-specification; however, this character is | |||
| not produced for display if it would be immediately followed by the | not produced for display if it would be immediately followed by the | |||
| display of the repeat terminator character for this octet- | display of the repeat terminator character for this octet- | |||
| specification. This character can be any character other than a | specification. This character can be any character other than a | |||
| decimal digit and a `*'. | decimal digit and a `*'. | |||
| (5) the (optional) repeat terminator character, which can be present | (5) the (optional) repeat terminator character, which can be present | |||
| only if the display separator character is present and this octet- | only if the display separator character is present and this octet- | |||
| specification begins with a repeat indicator; if present, this part | specification begins with a repeat indicator; if present, this part | |||
| Draft Textual Conventions for SMIv2 October 1998 | Draft Textual Conventions for SMIv2 January 1999 | |||
| is a single character which is produced after all the zero or more | is a single character which is produced after all the zero or more | |||
| repeated applications (as given by the repeat count) of this | repeated applications (as given by the repeat count) of this | |||
| octet-specification. This character can be any character other | octet-specification. This character can be any character other | |||
| than a decimal digit and a `*'. | than a decimal digit and a `*'. | |||
| Output of a display separator character or a repeat terminator character | Output of a display separator character or a repeat terminator character | |||
| is suppressed if it would occur as the last character of the display. | is suppressed if it would occur as the last character of the display. | |||
| If the octets of the value are exhausted before all the octet-format | If the octets of the value are exhausted before all the octet-format | |||
| skipping to change at page 27, line 5 ¶ | skipping to change at page 27, line 5 ¶ | |||
| information which would otherwise be communicated in any ASN.1 | information which would otherwise be communicated in any ASN.1 | |||
| commentary annotations associated with the object. | commentary annotations associated with the object. | |||
| 3.4. Mapping of the REFERENCE clause | 3.4. Mapping of the REFERENCE clause | |||
| The REFERENCE clause, which need not be present, contains a textual | The REFERENCE clause, which need not be present, contains a textual | |||
| cross-reference to some other document, either another information | cross-reference to some other document, either another information | |||
| module which defines a related assignment, or some other document which | module which defines a related assignment, or some other document which | |||
| provides additional information relevant to this definition. | provides additional information relevant to this definition. | |||
| Draft Textual Conventions for SMIv2 October 1998 | Draft Textual Conventions for SMIv2 January 1999 | |||
| 3.5. Mapping of the SYNTAX clause | 3.5. Mapping of the SYNTAX clause | |||
| The SYNTAX clause, which must be present, defines abstract data | The SYNTAX clause, which must be present, defines abstract data | |||
| structure corresponding to the textual convention. The data structure | structure corresponding to the textual convention. The data structure | |||
| must be one of the alternatives defined in the ObjectSyntax CHOICE or | must be one of the alternatives defined in the ObjectSyntax CHOICE or | |||
| the BITS construct (see section 7.1 in [2]). Note that this means that | the BITS construct (see section 7.1 in [2]). Note that this means that | |||
| the SYNTAX clause of a Textual Convention can not refer to a previously | the SYNTAX clause of a Textual Convention can not refer to a previously | |||
| defined Textual Convention. | defined Textual Convention. | |||
| skipping to change at page 28, line 5 ¶ | skipping to change at page 28, line 5 ¶ | |||
| represents the maximal level of support which makes "protocol sense". | represents the maximal level of support which makes "protocol sense". | |||
| Restrictions on sub-typing are specified in detail in Section 9 and | Restrictions on sub-typing are specified in detail in Section 9 and | |||
| Appendix A of [2]. | Appendix A of [2]. | |||
| 4. Sub-typing of Textual Conventions | 4. Sub-typing of Textual Conventions | |||
| The SYNTAX clause of a TEXTUAL CONVENTION macro may be sub-typed in the | The SYNTAX clause of a TEXTUAL CONVENTION macro may be sub-typed in the | |||
| same way as the SYNTAX clause of an OBJECT-TYPE macro (see section 11 of | same way as the SYNTAX clause of an OBJECT-TYPE macro (see section 11 of | |||
| [2]). | [2]). | |||
| Draft Textual Conventions for SMIv2 October 1998 | Draft Textual Conventions for SMIv2 January 1999 | |||
| 5. Revising a Textual Convention Definition | 5. Revising a Textual Convention Definition | |||
| It may be desirable to revise the definition of a textual convention | It may be desirable to revise the definition of a textual convention | |||
| after experience is gained with it. However, changes are not allowed if | after experience is gained with it. However, changes are not allowed if | |||
| they have any potential to cause interoperability problems "over the | they have any potential to cause interoperability problems "over the | |||
| wire" between an implementation using an original specification and an | wire" between an implementation using an original specification and an | |||
| implementation using an updated specification(s). Such changes can only | implementation using an updated specification(s). Such changes can only | |||
| be accommodated by defining a new textual convention (i.e., a new name). | be accommodated by defining a new textual convention (i.e., a new name). | |||
| skipping to change at page 29, line 5 ¶ | skipping to change at page 29, line 5 ¶ | |||
| (6) Any editorial change. | (6) Any editorial change. | |||
| Note that with the introduction of the TEXTUAL-CONVENTION macro, there | Note that with the introduction of the TEXTUAL-CONVENTION macro, there | |||
| is no longer any need to define types in the following manner: | is no longer any need to define types in the following manner: | |||
| DisplayString ::= OCTET STRING (SIZE (0..255)) | DisplayString ::= OCTET STRING (SIZE (0..255)) | |||
| When revising an information module containing a definition such as | When revising an information module containing a definition such as | |||
| this, that definition should be replaced by a TEXTUAL-CONVENTION macro. | this, that definition should be replaced by a TEXTUAL-CONVENTION macro. | |||
| Draft Textual Conventions for SMIv2 October 1998 | Draft Textual Conventions for SMIv2 January 1999 | |||
| 6. Security Considerations | 6. Security Considerations | |||
| This document defines the means to define new data types for the | This document defines the means to define new data types for the | |||
| language used to write and read descriptions of management information. | language used to write and read descriptions of management information. | |||
| These data types have no security impact on the Internet. | These data types have no security impact on the Internet. | |||
| 7. Editors' Addresses | 7. Editors' Addresses | |||
| Keith McCloghrie | Keith McCloghrie | |||
| skipping to change at page 30, line 5 ¶ | skipping to change at page 30, line 5 ¶ | |||
| Email: dperkins@snmpinfo.com | Email: dperkins@snmpinfo.com | |||
| Juergen Schoenwaelder | Juergen Schoenwaelder | |||
| TU Braunschweig | TU Braunschweig | |||
| Bueltenweg 74/75 | Bueltenweg 74/75 | |||
| 38106 Braunschweig | 38106 Braunschweig | |||
| Germany | Germany | |||
| Phone: +49 531 391-3283 | Phone: +49 531 391-3283 | |||
| Email: schoenw@ibr.cs.tu-bs.de | Email: schoenw@ibr.cs.tu-bs.de | |||
| Draft Textual Conventions for SMIv2 October 1998 | Draft Textual Conventions for SMIv2 January 1999 | |||
| 8. References | 8. References | |||
| [1] Information processing systems - Open Systems Interconnection - | [1] Information processing systems - Open Systems Interconnection - | |||
| Specification of Abstract Syntax Notation One (ASN.1), | Specification of Abstract Syntax Notation One (ASN.1), | |||
| International Organization for Standardization. International | International Organization for Standardization. International | |||
| Standard 8824, (December, 1987). | Standard 8824, (December, 1987). | |||
| [2] McCloghrie, K., Perkins, D., and Schoenwaelder, J., "Structure of | [2] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., | |||
| Management Information Version 2 (SMIv2)", draft-ops-smiv2-smi- | and Waldbusser, S. "Structure of Management Information Version 2 | |||
| 00.txt, October 1998. | (SMIv2)", draft-ops-smiv2-smi-01.txt, January 1999. | |||
| Draft Textual Conventions for SMIv2 October 1998 | [3] The SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and | |||
| Waldbusser, S., "Transport Mappings for Version 2 of the" Simple | ||||
| Network Management Protocol (SNMPv2)", RFC 1906, January 1996. | ||||
| Draft Textual Conventions for SMIv2 January 1999 | ||||
| 9. Full Copyright Statement | 9. Full Copyright Statement | |||
| Copyright (C) The Internet Society (1998). All Rights Reserved. | Copyright (C) The Internet Society (1999). All Rights Reserved. | |||
| This document and translations of it may be copied and furnished to | This document and translations of it may be copied and furnished to | |||
| others, and derivative works that comment on or otherwise explain it or | others, and derivative works that comment on or otherwise explain it or | |||
| assist in its implementation may be prepared, copied, published and | assist in its implementation may be prepared, copied, published and | |||
| distributed, in whole or in part, without restriction of any kind, | distributed, in whole or in part, without restriction of any kind, | |||
| provided that the above copyright notice and this paragraph are included | provided that the above copyright notice and this paragraph are included | |||
| on all such copies and derivative works. However, this document itself | 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 | may not be modified in any way, such as by removing the copyright notice | |||
| or references to the Internet Society or other Internet organizations, | or references to the Internet Society or other Internet organizations, | |||
| except as needed for the purpose of developing Internet standards in | except as needed for the purpose of developing Internet standards in | |||
| skipping to change at page 32, line 4 ¶ | skipping to change at page 32, line 4 ¶ | |||
| The limited permissions granted above are perpetual and will not be | The limited permissions granted above are perpetual and will not be | |||
| revoked by the Internet Society or its successors or assigns. | revoked by the Internet Society or its successors or assigns. | |||
| This document and the information contained herein is provided on an "AS | This document and the information contained herein is provided on an "AS | |||
| IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK | IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK | |||
| FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT | FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT | |||
| LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT | LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT | |||
| INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR | INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR | |||
| FITNESS FOR A PARTICULAR PURPOSE." | FITNESS FOR A PARTICULAR PURPOSE." | |||
| Draft Textual Conventions for SMIv2 October 1998 | ||||
| Draft Textual Conventions for SMIv2 January 1999 | ||||
| Table of Contents | Table of Contents | |||
| 1 Introduction .................................................... 2 | 1 Introduction .................................................... 2 | |||
| 1.1 A Note on Terminology ......................................... 2 | 1.1 A Note on Terminology ......................................... 2 | |||
| 2 Definitions ..................................................... 3 | 2 Definitions ..................................................... 3 | |||
| 3 Mapping of the TEXTUAL-CONVENTION macro ......................... 24 | 3 Mapping of the TEXTUAL-CONVENTION macro ......................... 24 | |||
| 3.1 Mapping of the DISPLAY-HINT clause ............................ 24 | 3.1 Mapping of the DISPLAY-HINT clause ............................ 24 | |||
| 3.2 Mapping of the STATUS clause .................................. 26 | 3.2 Mapping of the STATUS clause .................................. 26 | |||
| 3.3 Mapping of the DESCRIPTION clause ............................. 26 | 3.3 Mapping of the DESCRIPTION clause ............................. 26 | |||
| End of changes. 53 change blocks. | ||||
| 80 lines changed or deleted | 96 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||