< 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/