[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
draft-triglia-sming-asn1-sming-01.txt
Hi
Please accept our submission of the attached Internet Draft as an *update*
of our previous draft of November 14th.
This I-D is a "-01" *individual* submission addressed to the SMING WG.
The file name of the I-D is:
draft-triglia-sming-asn1-sming-01.txt
The title is:
ASN.1 for SMIng
The abstract is:
This memo presents a solution, based on the ASN.1 language, to the need for
a more expressive and complete representation of management information than
is currently possible with SMIv2 and SPPI. The proposal largely meets the
SMIng Workgroup's objectives for Next Generation SMI.
Regards
Alessandro Triglia
INTERNET-DRAFT O. Dubuisson
Expires: May 13, 2002 France Telecom R&D
P. H. Griffin
Griffin Consulting
M. Perin
Atos Origin
A. Sarma
NEC Europe
B. Scott
A. Triglia
OSS Nokalva
November 13, 2001
ASN.1 for SMIng
draft-triglia-sming-asn1-sming-01.txt
Status of this Memo
This document is an Internet-Draft and is subject to all provisions
of Section 10 of RFC2026 [RFC2026].
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as
reference material or to cite them other than as "work in progress".
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Abstract
This memo presents a solution, based on the ASN.1 language, to the
need for a more expressive and complete representation of management
information than is currently possible with SMIv2 and SPPI. The
proposal largely meets the SMIng Workgroup's objectives for Next
Generation SMI.
Copyright Notice
Copyright (C) The Internet Society (2001). All Rights Reserved.
Internet Draft ASN.1 for SMIng November 13, 2001
Table of Contents
1. Introduction....................................................2
2. ASN.1...........................................................3
3. The ASN.1 SMIng module..........................................4
3.1 MODULE-INFO..................................................5
3.2 ENTITY-CLASS.................................................6
3.3 EVENT.......................................................10
3.4 ENTITY-INSTANCE.............................................10
3.5 NOTIFICATION................................................11
3.6 NODE........................................................12
3.7 NODE-GROUP..................................................13
3.8 COMPLIANCE-STATEMENT........................................13
4. Compliance with the SMIng Work Group objectives................15
4.1 Accepted Objectives.........................................15
4.2 Nice-to-Have Objectives.....................................27
4.3 Rejected Objectives.........................................28
Intellectual Property.............................................31
Security Considerations...........................................32
Acknowledgements..................................................32
References........................................................32
Authors' Addresses................................................34
A. The ASN.1 SMIng module.........................................35
Full Copyright Statement..........................................40
1. Introduction
The document "SMIng Objectives", that has been circulating for
several months as an Internet Draft [SMING-OBJ], "describes the
objectives for a new data definition language, suitable for the
modeling of network management constructs, that can be directly
mapped into SNMP and COPS-PR protocol operations" ([SMING-OBJ],
Abstract). It is assumed that the contents and the purposes of that
document are already well-known and understood by the readers of
this memo, therefore they will not be illustrated here.
This proposal recognizes all those objectives as valid and addresses
most of them, and by doing so, provides a more expressive and
complete representation of management information than is currently
possible with SMIv2 and SPPI.
Several proposals have been submitted so far (see [SMING-NMRG],
[SMI-DS]), and this document acknowledges their value. However, it
is believed that a different solution, based on an existing formal
notation rather than on a completely new language, may be more
viable.
This proposal is based on the ASN.1 language, and provides an ASN.1
module that defines a set of constructs which allow to specify
management information structures.
Expires May 13, 2002 [Page 2]
Internet Draft ASN.1 for SMIng November 13, 2001
A later section of this document lists all the SMIng requirements
from [SMING-OBJ] and contains a statement of compliance for each
item.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
2. ASN.1
The ASN.1 language has evolved considerably during the last decade,
and is very lively today (see http://asn1.elibel.tm.fr). Among the
most important achievements in the development of the language, that
are relevant to this document, have been:
- the establishment of a rich set of elementary types, with a
well-defined syntax and semantics;
- the introduction of "information object classes",
"information objects" and "information object sets", that enable the
language to describe complex relationships between types, values and
other elements defined in the specification, such as other
"information objects" and "information object sets";
- the ability to specify a "user-defined syntax" for defining
these information objects;
- the ability to specify sophisticated constraints on the
validity of values, such as the "table constraints" and "component
relation constraints" between the components of a SEQUENCE type, and
the "content" constraint on values of type OCTET STRING and BIT
STRING;
- the introduction of the types RELATIVE-OID and UTF8String.
The standard documents where the ASN.1 language is specified
([X.680], [X.681], [X.682], [X.683], [X.690] and [X.691]) are
available on the ITU-T website
(http://www.itu.int/ITU-T/studygroups/com17/languages) and can be
downloaded free of charge.
Two electronic publications that fully cover the ASN.1 language can
also be downloaded free of charge from the Web ([ASN1-DUB] and
[ASN1-LAR]).
Although the primary purpose of ASN.1 is the specification of the
data structures exchanged in protocols, the ability to specify
complex structures of meta-information (which is not meant to be
transmitted) in a completely formal way makes ASN.1 an ideal
candidate as a language for specifying structures of management
information.
Expires May 13, 2002 [Page 3]
Internet Draft ASN.1 for SMIng November 13, 2001
3. The ASN.1 SMIng module
This document presents an ASN.1 module (ASN1-SMIng) that defines a
set of basic types and a set of constructs which allow an expressive
and complete representation of structures of management information.
These constructs are specified in terms of "information object
classes" and their associated "user-defined syntax", and are fully
defined by means of the standard ASN.1 grammar. These facilities,
that replaced the "macros" existing in earlier versions of ASN.1,
are suitable to represent structured information in a formal manner.
In the context of this document, the constructs defined in the ASN.1
SMIng module will be referred to as "ASN.1 SMIng statements" or just
"statements".
The following basic types are defined in the module:
Integer32
Integer64
Unsigned32
Unsigned64
Float32
Float64
Float128
Counter32
Counter64
TimeTicks
IpAddress
Opaque
SMICharacterString
SMIOctetString
Status
MaxAccess
NamingScheme
EntityInstanceRelationship
MaxOperation
The following statements are defined in the module:
MODULE-INFO
ENTITY-CLASS
EVENT
ENTITY-INSTANCE
NOTIFICATION
NODE
NODE-GROUP
COMPLIANCE-STATEMENT
Expires May 13, 2002 [Page 4]
Internet Draft ASN.1 for SMIng November 13, 2001
The statements are presented in the following subsections. See
appendix A for the definitions of the basic types.
3.1 MODULE-INFO
Allows the specification of information related to the SMIng MIB
module itself, such as ORGANIZATION, CONTACT, REVISIONS (DATE and
DESCRIPTION), STATUS and DESCRIPTION.
A MODULE-INFO statement MUST be included somewhere in the SMIng MIB
module.
The parameters ORGANIZATION, CONTACT and DESCRIPTION have the same
format and meaning of the corresponding parameters in [SMING-NMRG].
The STATUS parameter MUST be a value of type Status:
Status ::= ENUMERATED { current, deprecated, obsolete }
It has the same meaning as the corresponding parameter in [SMING-
NMRG], apart from the different format.
The DATE parameter is of type GeneralizedTime.
The MODULE-INFO statement has the following ASN.1 definition:
MODULE-INFO ::= CLASS {
&organization SMICharacterString,
&contact SMICharacterString,
&Revisions MODULE-REVISION,
&status Status DEFAULT current,
&description SMICharacterString }
WITH SYNTAX {
ORGANIZATION &organization
CONTACT &contact
REVISIONS &Revisions
[STATUS &status]
DESCRIPTION &description }
MODULE-REVISION ::= CLASS {
&date GeneralizedTime,
&description SMICharacterString }
WITH SYNTAX {
DATE &date
DESCRIPTION &description }
Example:
Expires May 13, 2002 [Page 5]
Internet Draft ASN.1 for SMIng November 13, 2001
module-info MODULE-INFO ::= {
ORGANIZATION "Name of the Organization"
CONTACT "Contact person"
REVISIONS {
{ DATE "20010714130000Z"
DESCRIPTION
"Description of the initial version" } |
{ DATE "20010903220000Z"
DESCRIPTION
"Description of the first revision" } }
STATUS current
DESCRIPTION "Description of module and Reference" }
3.2 ENTITY-CLASS
Allows the definition of an "entity class".
An entity class is an ASN.1 type together with essential information
about the type. The entity class will be subsequently referenced by
ENTITY-INSTANCE statements (in the same module or in another module
that imports the entity class), which will declare instances of the
entity class (see subsection 3.4).
The type can be either a simple type (such as an Integer32 or an
OBJECT IDENTIFIER), or an aggregate type (SEQUENCE), or an array
type (SEQUENCE OF).
For simple types, the parameters UNITS and DISPLAY-FORMAT MAY be
specified (both are optional). These parameters have the same format
and meaning as in [SMING-NMRG].
For SEQUENCE types, the parameters ASSIGNED-ATTRIBUTE-IDS and
ATTRIBUTE-INFO apply.
The parameter ASSIGNED-ATTRIBUTE-IDS (optional) specifies an ordered
list of "attribute identifiers" (of the ASN.1 type RELATIVE-OID)
that are assigned to the components of the SEQUENCE, in order. If
this parameter is absent, the attribute identifiers
{1} {2} {3} ...
are assigned by default to the components.
The parameter ATTRIBUTE-INFO specifies the properties of the
attributes of the entity class (components of the SEQUENCE that have
been assigned attribute identifiers). These properties are MAX-
ACCESS, STATUS and DESCRIPTION.
The MAX-ACCESS parameter MUST be a value of type MaxAccess:
Expires May 13, 2002 [Page 6]
Internet Draft ASN.1 for SMIng November 13, 2001
MaxAccess ::= ENUMERATED { none,
notificationsOnly, readOnly, readWrite }
The STATUS parameter MUST be a value of type Status:
Status ::= ENUMERATED { current, deprecated, obsolete }
These parameters have the same meaning as the corresponding
parameters in [SMING-NMRG], apart from the different format.
For SEQUENCE OF types, the parameters INDEXING-ATTRIBUTES and
NAMING-SCHEME apply.
INDEXING-ATTRIBUTES (optional) is a list of the attribute
identifiers (RELATIVE-OID) that make up the index of the array type.
Any instances of this entity class that are subsequently declared
will be indexed by these attributes. If this parameter is absent,
the array type is not indexed (this is useful for defining tables
that have an AUGMENTS or EXTENDS relationship with another table:
see 3.4).
NAMING-SCHEME (optional) indicates which mechanism is to be used to
form the complete OBJECT IDENTIFIERS that identify the data items of
a table (entity instance) of this array type. This parameter MUST be
a value of type NamingScheme:
NamingScheme ::= ENUMERATED { tabular, hierarchical,
extensible }
"tabular" means that the attribute identifiers (which identify a
column of a table) are appended to the OBJECT IDENTIFIER that
identifies the entity instance (the whole table) first, and the OID
components that identify the row (which are extracted from the
indexing attributes) are appended after. This models the traditional
object naming scheme of SMI.
"hierarchical" means that the OID components that identify the row
(which are extracted from the indexing attributes) are appended to
the OBJECT IDENTIFIER that identifies the entity instance (the whole
table) first, and the attribute identifiers (which identify the
column) are appended after. If an arbitrarily-complex data structure
is defined (with arrays nested within elements of other arrays, and
so on), this scheme can be used to assign cleanly hierarchical
OBJECT IDENTIFIERs to all the data items contained in an entity
instance.
"extensible" is similar to "hierarchical", except that an extra
component is inserted in the OBJECT IDENTIFIER after the components
that identify the row, and before the attribute identifiers. This
component is called the "extension identifier" and is provided by
the EXTENSION parameter (see below).
Expires May 13, 2002 [Page 7]
Internet Draft ASN.1 for SMIng November 13, 2001
If the NAMING-SCHEME parameter is absent, "tabular" is assumed by
default.
The EXTENSION parameter (optional) specifies the value of the
"extension identifier" if the NAMING-SCHEME is "extensible". If it
is absent, the value 0 is assumed by default.
The ENTITY-CLASS statement has the following ASN.1 definition:
ENTITY-CLASS ::= CLASS {
&Syntax,
&units SMICharacterString OPTIONAL,
&displayFormat SMICharacterString OPTIONAL,
&assignedAttributeIDs SEQUENCE OF RELATIVE-OID
OPTIONAL,
&AttributeInfo ATTRIBUTE-INFO OPTIONAL,
&indexingAttributeIDs SEQUENCE OF RELATIVE-OID
OPTIONAL,
&namingScheme NamingScheme DEFAULT tabular,
&extensionID RELATIVE-OID DEFAULT {0},
&status Status DEFAULT current,
&description SMICharacterString }
WITH SYNTAX {
SYNTAX &Syntax
[UNITS &units]
[DISPLAY-FORMAT &displayFormat]
[ASSIGNED-ATTRIBUTE-IDS &assignedAttributeIDs]
[ATTRIBUTE-INFO &AttributeInfo]
[INDEXING-ATTRIBUTES &indexingAttributeIDs]
[NAMING-SCHEME &namingScheme]
[EXTENSION &extensionID]
[STATUS &status]
DESCRIPTION &description }
ATTRIBUTE-INFO ::= CLASS {
&attributeID RELATIVE-OID,
&maxAccess MaxAccess DEFAULT none,
&status Status DEFAULT current,
&description SMICharacterString }
WITH SYNTAX {
ATTRIBUTE &attributeID
[MAX-ACCESS &maxAccess]
[STATUS &status]
DESCRIPTION &description }
Examples:
Expires May 13, 2002 [Page 8]
Internet Draft ASN.1 for SMIng November 13, 2001
ec-simple ENTITY-CLASS ::= {
SYNTAX Integer32
UNITS "M"
DISPLAY-FORMAT "d"
STATUS current
DESCRIPTION "description" }
ec-table-row ENTITY-CLASS ::= {
SYNTAX SEQUENCE {
aaa Integer32,
bbbbb SMICharacterString (SIZE(8)),
cc BOOLEAN DEFAULT FALSE,
dddddddd BIT STRING {aa(0), bb(1)} (SIZE(2))
DEFAULT ''B }
ASSIGNED-ATTRIBUTE-IDS {{1}, {2}, {3}, {4}}
--This is the default value
ATTRIBUTE-INFO {
{ ATTRIBUTE {1}
MAX-ACCESS readOnly
STATUS current
DESCRIPTION "description" } |
{ ATTRIBUTE {2}
MAX-ACCESS readOnly
STATUS current
DESCRIPTION "description" } |
{ ATTRIBUTE {3}
MAX-ACCESS readOnly
STATUS current
DESCRIPTION "description" } |
{ ATTRIBUTE {4}
MAX-ACCESS readOnly
STATUS current
DESCRIPTION "description" } }
STATUS current
DESCRIPTION "description" }
ec-table ENTITY-CLASS ::= {
SYNTAX SEQUENCE (SIZE(100)) OF ec-table-row.&Syntax
INDEXING-ATTRIBUTES {{1}}
NAMING-SCHEME tabular
STATUS current
DESCRIPTION "description" }
Expires May 13, 2002 [Page 9]
Internet Draft ASN.1 for SMIng November 13, 2001
3.3 EVENT
Allows the definition of an event.
The EVENT statement has the following ASN.1 definition:
EVENT ::= CLASS {
&status Status DEFAULT current,
&description SMICharacterString }
WITH SYNTAX {
[STATUS &status]
DESCRIPTION &description }
Example:
event1 EVENT ::= {
STATUS current
DESCRIPTION "Description of event" }
3.4 ENTITY-INSTANCE
Allows the declaration of an instance of an entity class. The entity
instance can be either of a simple type, or of an aggregate type or
a table, depending on the entity class.
Multiple entity instances can be declared of the same entity class.
Each entity instance is assigned an OBJECT IDENTIFIER.
If the entity class of an entity instance is based on a SEQUENCE OF
type (i.e., a table), it can be specified by means of the MAX-
OPERATION parameter if is acceptable to dynamically create/delete
rows from the table.
If the entity class of an entity instance is an indexed array type,
the table is indexed. The particular mechanism for assigning names
(OBJECT IDENTIFIERs) to the data items of the table is specified in
the ENTITY-CLASS statement (see 3.2).
If the entity class of an entity instance is an array type without
an INDEXING-ATTRIBUTES parameter, the table is not indexed. Such a
table must be linked to another table by means of the BASE-ENTITY-
INSTANCE and RELATIONSHIP parameters.
The ENTITY-INSTANCE statement has the following ASN.1 definition:
ENTITY-INSTANCE ::= CLASS {
Expires May 13, 2002 [Page 10]
Internet Draft ASN.1 for SMIng November 13, 2001
&entityInstanceOid OBJECT IDENTIFIER,
&entityClass ENTITY-CLASS,
&baseEntityInstanceOid OBJECT IDENTIFIER OPTIONAL,
&relationship EntityInstanceRelationship
DEFAULT none,
&maxOperation MaxOperation DEFAULT none,
&status Status DEFAULT current,
&description SMICharacterString }
WITH SYNTAX {
OID &entityInstanceOid
ENTITY-CLASS &entityClass
[BASE-ENTITY-INSTANCE &baseEntityInstanceOid]
[RELATIONSHIP &relationship]
[MAX-OPERATION &maxOperation]
[STATUS &status]
DESCRIPTION &description }
Examples:
ei1 ENTITY-INSTANCE ::= {
OID {some-oid-base instances(4) 171}
ENTITY-CLASS ec-simple
STATUS current
DESCRIPTION "description" }
ei2 ENTITY-INSTANCE ::= {
OID {some-oid-base instances(4) 518}
ENTITY-CLASS ec-table
MAX-OPERATION createDelete
STATUS current
DESCRIPTION "description" }
ei3 ENTITY-INSTANCE ::= {
OID {some-oid-base instances(4) 1613}
ENTITY-CLASS ec-table-augmenting
BASE-ENTITY-INSTANCE ei2
RELATIONSHIP augments
MAX-OPERATION createDelete
STATUS current
DESCRIPTION "description" }
3.5 NOTIFICATION
Allows the definition of a notification. Each notification is
assigned an OBJECT IDENTIFIER.
The NOTIFICATION statement has the following ASN.1 definition:
Expires May 13, 2002 [Page 11]
Internet Draft ASN.1 for SMIng November 13, 2001
NOTIFICATION ::= CLASS {
¬ificationOid OBJECT IDENTIFIER,
&event EVENT,
&entityClass ENTITY-CLASS,
&transmittedAttributeIDs SEQUENCE OF RELATIVE-OID
OPTIONAL,
&status Status DEFAULT current,
&description SMICharacterString }
WITH SYNTAX {
OID ¬ificationOid
EVENT &event
ENTITY-CLASS &entityClass
[TRANSMITTED-ATTRIBUTES &transmittedAttributeIDs]
[STATUS &status]
DESCRIPTION &description }
Example:
no1 NOTIFICATION ::= {
OID {some-oid-base notifications(5) 4}
EVENT event1
ENTITY-CLASS ec-table
TRANSMITTED-ATTRIBUTES {{1}, {3}}
STATUS current
DESCRIPTION "Description of notification" }
3.6 NODE
Allows the definition of a node in the OBJECT IDENTIFIER tree. Each
node is assigned an OBJECT IDENTIFIER.
The NODE statement has the following ASN.1 definition:
NODE ::= CLASS {
&oid OBJECT IDENTIFIER,
&status Status DEFAULT current,
&description SMICharacterString }
WITH SYNTAX {
OID &oid
[STATUS &status]
DESCRIPTION &description }
Expires May 13, 2002 [Page 12]
Internet Draft ASN.1 for SMIng November 13, 2001
Example:
nd1 NODE ::= {
OID {some-oid-base nodes(8) 145}
STATUS current
DESCRIPTION "Description of node" }
3.7 NODE-GROUP
Allows the definition of a group of nodes. Each group is assigned an
OBJECT IDENTIFIER.
The NODE-GROUP statement has the following ASN.1 definition:
NODE-GROUP ::= CLASS {
&nodeGroupOid OBJECT IDENTIFIER,
&memberOids SEQUENCE OF OBJECT IDENTIFIER,
&status Status DEFAULT current,
&description SMICharacterString }
WITH SYNTAX {
OID &nodeGroupOid
MEMBERS &memberOids
[STATUS &status]
DESCRIPTION &description }
Example:
ng1 NODE-GROUP ::= {
OID {some-oid-base nodegroups(11) 18}
MEMBERS {
{some-oid-base nodes(8) 145},
nd-abcde.&oid,
{some-oid-base nodes(8) 77} }
STATUS current
DESCRIPTION "Description of node group" }
3.8 COMPLIANCE-STATEMENT
Expresses a compliance statement.
An OBJECT IDENTIFIER is assigned to the compliance statement.
The meaning of the parameters MANDATORY-NODE-GROUPS, OPTIONAL-NODE-
GROUPS and REFINED-ATTRIBUTES is the same as in [SMING-NMRG] and
[SMING-SNMP].
Expires May 13, 2002 [Page 13]
Internet Draft ASN.1 for SMIng November 13, 2001
The COMPLIANCE-STATEMENT statement has the following ASN.1
definition:
COMPLIANCE-STATEMENT ::= CLASS {
&statementOid OBJECT IDENTIFIER,
&mandatoryNodeGroupOids SEQUENCE OF OBJECT IDENTIFIER
OPTIONAL,
&OptionalNodeGroupsInfo OPTIONAL-NODE-GROUP-INFO
OPTIONAL,
&RefinedAttributesInfo REFINED-ATTRIBUTE-INFO OPTIONAL,
&status Status DEFAULT current,
&description SMICharacterString }
WITH SYNTAX {
OID &statementOid
[MANDATORY-NODE-GROUPS &mandatoryNodeGroupOids]
[OPTIONAL-NODE-GROUPS &OptionalNodeGroupsInfo]
[REFINED-ATTRIBUTES &RefinedAttributesInfo]
[STATUS &status]
DESCRIPTION &description }
OPTIONAL-NODE-GROUP-INFO ::= CLASS {
&nodeGroupOid OBJECT IDENTIFIER,
&description SMICharacterString }
WITH SYNTAX {
NODE-GROUP &nodeGroupOid
DESCRIPTION &description }
REFINED-ATTRIBUTE-INFO ::= CLASS {
&entityClass ENTITY-CLASS,
&attributeID RELATIVE-OID,
&description SMICharacterString }
WITH SYNTAX {
ENTITY-CLASS &entityClass
ATTRIBUTE &attributeID
DESCRIPTION &description }
Example:
cs1 COMPLIANCE-STATEMENT ::= {
OID {some-oid-base compliance-statements(14) 1}
MANDATORY-NODE-GROUPS {
{some-oid-base nodegroups(11) 18},
ng-qwerty.&nodeGroupOid,
Expires May 13, 2002 [Page 14]
Internet Draft ASN.1 for SMIng November 13, 2001
{some-oid-base nodegroups(11) 22} }
OPTIONAL-NODE-GROUPS {
{NODE-GROUP {some-oid-base ndgroups(11) 22}
DESCRIPTION "description"} |
{NODE-GROUP ng-poiuy.&nodeGroupOid
DESCRIPTION "description"} |
{NODE-GROUP {some-oid-base nodegroups(11) 41}
DESCRIPTION "description"} }
REFINED-ATTRIBUTES {
{ENTITY-CLASS ec1 ATTRIBUTE {4}
DESCRIPTION "description"} |
{ENTITY-CLASS ec1 ATTRIBUTE {21}
DESCRIPTION "description"}}
STATUS current
DESCRIPTION "description" }
4. Compliance with the SMIng Work Group objectives
This section lists all the objectives specified in [SMING-OBJ]. For
each objective, one of the following statements is made:
- MET: the objective is deemed fully met by this proposal
- PARTIALLY MET: the objective is deemed partially met by this
proposal
- NOT ADDRESSED: the objective, listed in [SMING-OBJ] as a
"nice-to-have" or "rejected" objective, has not been taken into
account in the development of this proposal
Wherever necessary, an explanation and/or an example is given.
The numbering and naming of subsections is the same as in [SMING-
OBJ].
4.1 Accepted Objectives
4.1.1 The Set of Specification Documents
Description: SMIv2 is defined in three documents, based on an
obsolete ITU ASN.1 specification. SPPI is defined in one
document, based on SMIv2. The core of SMIng must be defined in
one document and must be independent of external specifications.
PARTIALLY MET
Expires May 13, 2002 [Page 15]
Internet Draft ASN.1 for SMIng November 13, 2001
The minimum set of documents that are needed in order to write an
ASN.1 SMIng specification based on current, accepted and freely
available international standards are the following:
1) ITU-T Recommendation X.680 (1997) | ISO/IEC 8824-1:1998,
"Information technology Abstract Syntax Notation One (ASN.1):
Specification of basic notation" [X.680];
2) ITU-T Recommendation X.681 (1997) | ISO/IEC 8824 2:1998,
"Information technology Abstract Syntax Notation One (ASN.1):
Information object specification" [X.681];
3) This document.
The ITU-T Recommendations that specify the ASN.1 language are
downloadable free-of-charge from the ITU-T website
(http://www.itu.int/ITU-T/studygroups/com17/languages).
Most of the information actually needed in order to write an ASN.1
SMIng specification is contained in this document.
4.1.2 Textual Representation
Description: SMIng definitions must be represented in a textual
format.
MET
ASN.1 is a textual language.
4.1.3 Human Readability
Description: The syntax must make it easy for humans to directly
read and write SMIng modules.
MET
The ASN.1 language is very oriented towards human readability. This
is especially true when user-defined syntax is specified for an
information object class.
4.1.4 Rigorously Defined Syntax
Description: There must be a rigorously defined syntax for the
SMIng language.
MET
Expires May 13, 2002 [Page 16]
Internet Draft ASN.1 for SMIng November 13, 2001
The ASN.1 language itself is rigorously defined.
Moreover, the 1994 version of ASN.1 introduced "information object
classes", "information objects" and "information object sets", that
allow, among other things, to define new specific, application-
oriented constructs having a rigorously-defined syntax and a clear
associated semantics, and from which an ABNF can easily be derived.
This proposal makes extensive use of this capability and specifies a
whole set of these constructs.
4.1.5 Accessibility
Description: Attribute definitions must indicate whether
attributes can be read, written, created, deleted, and whether they
are accessible for notifications, or are not accessible. Align PIB-
ACCESS and MAX-ACCESS, and PIB-MIN-ACCESS and MIN-ACCESS.
MET
(Example to be included)
4.1.6 Language Extensibility
Description: The language must have characteristics, so that
future modules can contain information of future syntax without
breaking original SMIng parsers.
MET
Language extensibility is achieved by using the ASN.1 language to
define all the constructs that make up the "ASN.1 SMIng" itself.
These constructs are specified in ASN.1 as "information object
classes", each with its associated "defined syntax" and semantics.
ASN.1 SMIng parsers will never be affected by any changes in the
defined syntax, because they will know how to parse any (present or
future) specification by first parsing the definitions imported from
the ASN.1 SMIng module (that is referenced in the specification).
This is a property of ASN.1.
4.1.7 Special Characters in Text
Description: Allow an escaping mechanism to encode special
characters, e.g. double quotes and new-line characters, in text
such as DESCRIPTIONs or REFERENCEs.
Expires May 13, 2002 [Page 17]
Internet Draft ASN.1 for SMIng November 13, 2001
MET
This feature is present in ASN.1.
4.1.8 Naming
Description: SMIng must provide mechanisms to uniquely identify
attributes, groups of attributes, and events. It is necessary to
specify how name collisions are handled.
MET
(Example to be included)
4.1.9 Namespace Control
Description: There must be a hierarchical, centrally-controlled
namespace for standard named items, and a distributed namespace
must be supported to allow vendor-specific naming and to assure
unique module names across vendors and organizations.
MET
The model of SMI/SNMP for naming objects is retained in this
proposal.
4.1.10 Modules
Description: SMIng must provide a mechanism for uniquely
identifying a module, and specifying the status, contact person,
revision information, and the purpose of a module. SMIng must
provide mechanisms to group definitions into modules and it must
provide rules for referencing definitions from other modules
MET
Handling of module information in this proposal is aligned with the
[SMING-NMRG] proposal.
(Example to be included)
4.1.11 Module Conformance
Expires May 13, 2002 [Page 18]
Internet Draft ASN.1 for SMIng November 13, 2001
Description: SMIng must provide mechanisms to detail the minimum
requirements implementers must meet to claim conformance to a
standard based on the module.
MET
Handling of conformance statements in this proposal is aligned with
the [SMING-NMRG] proposal.
(Example to be included)
4.1.12 Arbitrary Unambiguous Identities
Description: SMI allows the use of OBJECT-IDENTITIES to define
unambiguous identities without the need of a central registry. SMI
uses OIDs to represent values that represent references to such
identities. SMIng needs a similar mechanism (a statement to
register identities, and a base type to represent values).
MET
Handling of nodes, groups and OIDs in this proposal is aligned with
the [SMING-NMRG] proposal.
(Example to be included)
4.1.13 Protocol Independence
Description: SMIng must define data definitions in support of the
SNMP and COPS-PR protocols. SMIng may define data definitions in
support of other protocols.
(Yet to be addressed)
4.1.14 Protocol Mapping
Description: The SMIng working group, in accordance with the
working group charter, will define mappings of protocol independent
data definitions to protocols based upon installed
implementations.The SMIng working group can define mappings to other
protocols as long as this does not impede the progress on other
objectives.
(Yet to be addressed)
Mapping to SNMP is built into this proposal.
(Mappings to other protocols to be addressed)
Expires May 13, 2002 [Page 19]
Internet Draft ASN.1 for SMIng November 13, 2001
4.1.15 Translation to Other Data Definition Languages
Description: SMIng language constructs must, wherever possible,
be translatable to SMIv2 and SPPI. At the time of standardization
of a SMIng language, existing SMIv2 MIBs and SPPI PIBs on the
standards track will not be required to be translated to the SMIng
language. New MIBs/PIBs will be defined using the SMIng language.
MET
This proposal contains constructs that have correspondent constructs
in the [SMING-NMRG] proposal.
However this proposal allows different object naming schemes and
allows the definition of more-complex data structures than can be
mapped to SMI and SPPI straightforwardly.
(Example to be included)
4.1.16 Base Data Types
Description: SMIng must support the base data types Integer32,
Unsigned32, Integer64, Unsigned64, Enumeration, Bits, OctetString,
and OID.
MET
The types ENUMERATED, BIT STRING, OCTET STRING and OBJECT IDENTIFIER
are built-in ASN.1 types. The types Integer32, Unsigned32,
Integer64, Unsigned64, SMIOctetString, and SMICharacterString are
defined in the ASN.1 SMIng module by derivation from built-in types
with the use of subtype constraints.
4.1.17 Enumerations
Description: SMIng must provide support for enumerations.
Enumerated values must be a part of the enumeration definition.
MET
The ENUMERATED type is built into ASN.1 and has an inherent
constraint on the values.
4.1.18 Discriminated Unions
Description: SMIng must support discriminated unions.
Expires May 13, 2002 [Page 20]
Internet Draft ASN.1 for SMIng November 13, 2001
MET
Discriminated unions can be specified in ASN.1 by using "component
relation" constraints within SEQUENCEs.
(Example to be included)
4.1.19 Instance Pointers
Description: SMIng must allow specifying pointers to instances
(i.e., a pointer to a particular attribute in a row).
MET
Pointers to instances can be specified as components of type OBJECT
IDENTIFIER referencing an instance.
4.1.20 Row Pointers
Description: SMIng must allow specifying pointers to rows.
MET
Pointers to rows can be specified as components of type OBJECT
IDENTIFIER referencing a row.
4.1.21 Constraints on Pointers
Description: SMIng must allow specifying the types of objects to
which a pointer may point.
(Yet to be addressed)
4.1.22 Base Type Set
Description: SMIng must support a fixed set of base types of
fixed size and precision. The list of base types must not be
extensible unless the SMI itself changes.
MET
Expires May 13, 2002 [Page 21]
Internet Draft ASN.1 for SMIng November 13, 2001
4.1.23 Extended Data Types
Description: SMIng must support a mechanism to derive new types,
which provide additional semantics (e.g., Counters, Gauges, Strings,
etc.), from base types. It may be desirable to also allow the
derivation of new types from derived types. New types must be as
restrictive or more restrictive than the types that they are
specializing.
MET
The ASN.1 language has a sophisticated capability to derive new
types from other types. Additional information on the new derived
types is provided by the constructs defined in the ASN.1 SMIng
module.
(Example to be included)
4.1.24 Units, Formats, and Default Values of Defined Types and
Attributes
Description: In SMIv2 OBJECT-TYPE definitions may contain UNITS
and DEFVAL clauses and TEXTUAL-CONVENTIONs may contain DISPLAY-
HINTs. In a similar fashion units and default values must be
applicable to defined types and format information must be
applicable to attributes.
MET
(Example to be included)
4.1.25 Table Existence Relationships
Description: SMIng must support INDEX, AUGMENTS, and EXTENDS in
the SNMP/COPS-PR protocol mappings.
MET
(Example to be included)
4.1.26 Table Existence Relationships (2)
Description: SMIng must support EXPANDS and REORDERS
relationships in the SNMP/COPS-PR protocol mappings.
Expires May 13, 2002 [Page 22]
Internet Draft ASN.1 for SMIng November 13, 2001
MET
(Example to be included)
4.1.27 Attribute Groups
Description: An attribute group is a named, reusable set of
attributes that are meaningful together. It can be reused as the
type of attributes in other attribute groups (see also Section
4.1.28). This is similar to `structs' in C.
MET
In this proposal, attribute groups can be specified as "entity
classes" based on ASN.1 SEQUENCEs.
(Example to be included)
4.1.28 Containment
Description: SMIng must provide support for the creation of new
attribute groups from attributes of more basic types and potentially
other attribute groups.
MET
In this proposal, this is achieved by re-using an "entity class"
based on a SEQUENCE, either as a component of an outer "entity
class" (also based on a SEQUENCE), or as the source in a "COMPONENTS
OF" construct.
(Example to be included)
4.1.29 Single Inheritance
Description: SMIng must provide support for mechanisms to extend
attribute groups through single inheritance.
MET
(Example to be included)
In this proposal, this is achieved by re-using an "entity class"
based on a SEQUENCE, either as a component of an outer "entity
class" (also based on a SEQUENCE), or as the source in a "COMPONENTS
OF" construct.
Expires May 13, 2002 [Page 23]
Internet Draft ASN.1 for SMIng November 13, 2001
4.1.30 Reusable vs. Final Attribute Groups
Description: SMIng must differentiate between "final" and
reusable attribute groups, where the reuse of attribute groups
covers inheritance and containment.
(Yet to be addressed)
4.1.31 Events
Description: SMIng must provide mechanisms to define events which
identify significant state changes.
MET
Handling of events in this proposal is aligned with the [SMING-NMRG]
proposal.
(Example to be included)
4.1.32 Creation/Deletion
Description: SMIng must support a mechanism to define
creation/deletion operations for instances. Specific
creation/deletion errors, such as INSTALL-ERRORS, must be supported.
MET
Handling of instance creation/deletion in this proposal is aligned
with the [SMING-NMRG], [SMING-SNMP] proposal.
4.1.33 Range and Size Constraints
Description: SMIng must allow specifying range and size
constraints where applicable.
MET
Range and size constraints are built into ASN.1.
4.1.34 Uniqueness
Description: SMIng must allow the specification of uniqueness
constraints on attributes. SMIng must allow the specification of
multiple independent uniqueness constraints.
(Yet to be addressed)
Expires May 13, 2002 [Page 24]
Internet Draft ASN.1 for SMIng November 13, 2001
4.1.35 Extension Rules
Description: SMIng must provide clear rules how one can extend
SMIng modules without causing interoperability problems "over the
wire".
(Yet to be addressed)
4.1.36 Deprecate Use of IMPLIED Keyword
Description: The SMIng SNMP mapping must deprecate the use of the
IMPLIED indexing schema.
MET
This facility is not provided.
4.1.37 No Redundancy
Description: The SMIng language must avoid redundancy.
MET
This proposal does not require the user to specify redundant
information.
4.1.38 Compliance and Conformance
Description: SMIng must provide a mechanism for compliance and
conformance specifications for protocol-independent definitions as
well as for protocol mappings.
MET
Compliance and conformance handling in this proposal is aligned with
the [SMING-NMRG], [SMING-SNMP] proposal.
(Example to be included)
4.1.39 Allow Refinement of All Definitions in Conformance Statements
Description: (...)
(Yet to be addressed)
Expires May 13, 2002 [Page 25]
Internet Draft ASN.1 for SMIng November 13, 2001
4.1.40 Categories
Description: SMIng must provide a mechanism to group definitions
into subject categories. Concrete instances may only exist in the
scope of a given subject category or context.
(Yet to be addressed)
4.1.41 Core Language Keywords vs. Defined Identifiers
Description: In SMI and SPPI modules some language keywords
(macros and a number of basetypes) have to be imported from
different SMI language defining modules, e.g. OBJECT-TYPE, MODULE-
IDENTITY, Integer32 must to be imported from SNMPv2-SMI and TEXTUAL-
CONVENTION must be imported from SNMPv2-TC, if used. MIB authors
are continuously confused about these import rules. In SMIng only
defined identifiers must be imported. All SMIng language keywords
must be implicitly known and there must not be a need to import them
from any module.
PARTIALLY MET
There is only one module (the ASN.1 SMIng module) from which all the
SMIng definitions are to be imported.
4.1.42 Instance Naming
Description: Instance naming in SMIv2 and SPPI is different.
SMIng must align the instance naming (either in the protocol neutral
model or the protocol mappings).
(Yet to be addressed)
4.1.43 Length of Identifiers
Description: The allowed length of the various kinds of
identifiers must be extended from the current `should not exceed 32'
(maybe even from the `must not exceed 64') rule.
MET
ASN.1 imposes no limit on the length of identifiers.
4.1.44 Assign OIDs in the Protocol Mappings
Description: SMIng must not assign OIDs to reusable definition of
attributes, attribute groups, events, etc. Instead, SNMP and COPS-
PR mappings must assign OIDs to the mapped items.
Expires May 13, 2002 [Page 26]
Internet Draft ASN.1 for SMIng November 13, 2001
MET
In this proposal, OBJECT IDENTIFIERs are assigned to "entity
instances", not to "entity classes".
4.2 Nice-to-Have Objectives
4.2.1 Methods
Description: SMIng should support a mechanism to define method
signatures (parameters, return values, exception) that are
implemented on agents.
NOT ADDRESSED
4.2.2 Unions
Description: SMIng should support a standard format for unions.
MET
Unions are built into ASN.1 as the CHOICE type.
4.2.3 Float Data Types
Description: SMIng should support the base data types Float32,
Float64, Float128.
MET
4.2.4 Comments
Description: The syntax of comments should be well defined,
unambiguous and intuitive to most people, e.g., the C++/Java `//'
syntax.
MET
C-style comments (/* */) are available in the current version of
ASN.1 besides traditional double-hyphen comments.
4.2.5 Referencing Tagged Rows
Expires May 13, 2002 [Page 27]
Internet Draft ASN.1 for SMIng November 13, 2001
Description: PIB and MIB row attributes reference a group of
entries in another table. SPPI formalizes this by introducing PIB-
TAG and PIB-REFERENCES clauses. This functionality should be
retained in SMIng.
NOT ADDRESSED
4.2.6 Arrays
Description: SMIng should allow the definition of a SEQUENCE OF
attributes or attribute groups (Section 4.1.27).
MET
Arrays can be specified as SEQUENCE OFs at any level of nesting, in
the definition of any arbitrarily-complex data structure. Names (in
the form of OBJECT IDENTIFIERs) can be assigned to all the attribute
instances.
Three naming schemes are provided, allowing both flexibility and
compatibility with existing practice or applications.
(Example to be included)
4.2.7 Internationalization
Description: Informational text (DESCRIPTION, REFERENCE, ...)
should allow internationalized encoding, probably UTF-8.
MET
The UTF8String built-in type of ASN.1 is used as the base character-
string type in this proposal.
4.2.8 Separate Data Modelling from Management Protocol Mapping
Description: It should be possible to separate the domain
specific data modelling work from the network management protocol
specific work.
NOT ADDRESSED
4.3 Rejected Objectives
4.3.1 Incomplete Translations
Expires May 13, 2002 [Page 28]
Internet Draft ASN.1 for SMIng November 13, 2001
Description: Reality sucks. All information expressed in SMIng
may not be directly translatable to a MIB or PIB construct, but all
information should be able to be conveyed in documentation or via
other mechanisms.
NOT ADDRESSED
4.3.2 Attribute Value Constraints
Description: SMIng should provide mechanisms to formally specify
constraints between values of multiple attributes.
MET
Constraints between attribute values can be specified in ASN.1 by
using "component relation" constraints within SEQUENCEs.
(Example to be included)
4.3.3 Attribute Transaction Constraints
Description: SMIng should provide a mechanism to formally express
that certain sets of attributes can only be modified in combination.
NOT ADDRESSED
4.3.4 Method Constraints
Description: Method definitions should provide constraints on
parameters.
NOT ADDRESSED
4.3.5 Agent Capabilities
Description: SMIng should provide mechanisms to describe agent
implementations.
NOT ADDRESSED
4.3.6 Relationships
Description: Ability to formally depict existence dependency,
value dependency, aggregation, containment, and other relationships
between attributes or attribute groups.
NOT ADDRESSED
Expires May 13, 2002 [Page 29]
Internet Draft ASN.1 for SMIng November 13, 2001
4.3.7 Procedures
Description: SMIng should support a mechanism to formally define
procedures that are used by managers when interacting with an agent.
NOT ADDRESSED
4.3.8 Associations
Description: SMIng should provide mechanisms to explicitly
specify associations.
NOT ADDRESSED
4.3.9 Association Cardinalities
Description: Cardinalities between associations should be
formally defined.
NOT ADDRESSED
4.3.10 Categories of Modules
Description: The SMIng documents should give clear guidance on
which kind of information (with respect to generality,
type/attribute group/extension/..) should be put in which kind of a
module.
NOT ADDRESSED
4.3.11 Mapping Modules to Files
Description: There should be a clear statement how SMIng modules
are mapped to files (1:1, n:1?) and how files should be named (by
module name in case of 1:1 mapping?).
NOT ADDRESSED
4.3.12 Simple Grammar
Description: The grammar of the language should be as simple as
possible. It should be free of exception rules. A measurement of
simplicity is shortness of the ABNF grammar.
NOT ADDRESSED
Expires May 13, 2002 [Page 30]
Internet Draft ASN.1 for SMIng November 13, 2001
4.3.13 Place of Module Information
Description: Module specific information (organization, contact,
description, revision information) should be bound to the module
itself and not to an artificial node (like SMIv2 MODULE-IDENTITY).
MET
(Example to be included)
4.3.14 Module Namespace
Description: Currently the namespace of modules is flat and there
is no structure in module naming causing the potential risk of name
clashes.
MET
Modules in ASN.1 are assigned both a name and (optionally) an OBJECT
IDENTIFIER. By assigning OBJECT IDENTIFIERs to modules, it is
possible to give a hierarchical structure to module naming.
(Example to be included)
4.3.15 Hyphens in Identifiers
Description: There has been some confusion whether hyphens are
allowed in SMIv2 identifiers: Module names are allowed to contain
hyphens. Node identifiers usually are not. But for example `mib-
2' is a frequently used identifier that contains a hyphen due to its
SMIv1 origin, when hyphen were not disallowed. Similarly, a number
of named numbers of enumeration types contain hyphens violating an
SMIv2 rule. SMIng should simply allow hyphens in all kinds of
identifiers. No exceptions.
MET
ASN.1 allows hyphens in names, as well as arbitrarily-long names.
The existing ASN.1 tools already solve the problem of mapping any
ASN.1 names into identifiers that comply with the rules of any
particular programming language.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it
Expires May 13, 2002 [Page 31]
Internet Draft ASN.1 for SMIng November 13, 2001
has made any effort to identify any such rights. Information on the
IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in BCP-11. Copies of
claims of rights made available for publication and any assurances
of licenses to be made available, or the result of an attempt made
to obtain a general license or permission for the use of such
proprietary rights by implementors or users of this specification
can be obtained from the IETF Secretariat. The IETF invites any
interested party to bring to its attention any copyrights, patents
or patent applications, or other proprietary rights which may cover
technology that may be required to practice this standard. Please
address the information to the IETF Executive Director.
Security Considerations
This document proposes the use of the ASN.1 language to describe
structures of management information, and presents an ASN.1 module
where a set of constructs serving that purpose are defined. The
adoption of ASN.1 and the use of the module have, by themselves, no
security impact on the Internet.
Acknowledgements
Some of the existing proposals for Next Generation SMI (especially
[SMING-NMRG], [SMING-SNMP] and [SMI-DS]) have inspired part of this
work.
References
[X.680]
ITU-T Recommendation X.680 (1997) | ISO/IEC 8824-1:1998,
"Information technology Abstract Syntax Notation One (ASN.1):
Specification of basic notation",
http://www.itu.int/ITU-T/studygroups/com17/languages.
[X.681]
ITU-T Recommendation X.681 (1997) | ISO/IEC 8824 2:1998,
"Information technology Abstract Syntax Notation One (ASN.1):
Information object specification",
http://www.itu.int/ITU-T/studygroups/com17/languages.
[X.682]
ITU-T Recommendation X.682 (1997) | ISO/IEC 8824-3:1998,
"Information technology Abstract Syntax Notation One (ASN.1):
Constraint specification",
http://www.itu.int/ITU-T/studygroups/com17/languages.
[X.683]
ITU-T Recommendation X.683 (1997) | ISO/IEC 8824-4:1998,
"Information technology Abstract Syntax Notation One (ASN.1):
Expires May 13, 2002 [Page 32]
Internet Draft ASN.1 for SMIng November 13, 2001
Parameterization of ASN.1 specifications",
http://www.itu.int/ITU-T/studygroups/com17/languages.
[X.690]
ITU-T Recommendation X.690 (1997) | ISO/IEC 8825-1:1998,
"Information technology ASN.1 encoding Rules: Specification of
Basic Encoding Rules (BER), Canonical Encoding Rules (CER), and
Distinguished Encoding Rules (DER)",
http://www.itu.int/ITU-T/studygroups/com17/languages.
[X.691]
ITU-T Recommendation X.691 (1997) | ISO/IEC 8825-2:1998,
"Information technology ASN.1 encoding rules: Specification of
Packed Encoding Rules (PER)",
http://www.itu.int/ITU-T/studygroups/com17/languages.
[RFC2026]
Bradner, S., "The Internet Standards Process -- Revision 3", RFC
2026, Harvard University, October, 1996.
[RFC2119]
S. Bradner, "Key words for use in RFCs to Indicate Requirement
Levels" RFC 2119, Harvard University, March 1997.
[SMING-OBJ]
Elliot, C., Harrington, D., Jason, J., Schoenwaelder, J., Strauss,
F., and W. Weiss, "SMIng Objectives", Work in progress (draft-ietf-
sming-reqs-06.txt), Cisco Systems, Enterasys Networks, Intel
Corporation, TU Braunschweig, Ellacoya Networks, October 2001.
[SMING-NMRG]
Strauss, F., Schoenwaelder, J., and McCloghrie, K., "SMIng - Next
Generation Structure of Management Information", Work in Progress
(draft-irtf-nmrg-sming-04), TU Braunschweig, Cisco Systems, November
2000.
[SMING-SNMP]
Strauss, F., and Schoenwaelder, J., "SMIng Mappings to SNMP", Work
in Progress (draft-ietf-sming-snmp-02), TU Braunschweig, July 2001.
[SMI-DS]
Bierman, A., "Structure of Management Information: Data Structures",
Work in Progress (draft-bierman-sming-ds-00.txt), Cisco Systems,
November 2001.
[ASN1-DUB]
Dubuisson, O., "ASN.1 - Communication between Heterogeneous
Systems", OSS Nokalva, 2000, http://www.oss.com/asn1/dubuisson.html.
[ASN1-LAR]
Larmouth, J., "ASN.1 Complete", Open Systems Solutions, 1999,
http://www.oss.com/asn1/larmouth.html.
Expires May 13, 2002 [Page 33]
Internet Draft ASN.1 for SMIng November 13, 2001
Authors' Addresses
Olivier Dubuisson
France Telecom R&D
DTL/MSV
22307 Lannion Cedex
France
Phone: +33 2 96 05 38 50
EMail: Olivier.Dubuisson@francetelecom.com
URI: http://asn1.elibel.tm.fr
Phillip H. Griffin
Griffin Consulting
1625 Glenwood Avenue
Hayes Barton at Five Points
Raleigh, North Carolina 27608-2319
USA
Phone: +1-919-832-7008
EMail: phil.griffin@asn-1.com
URI: http://ASN-1.com
Michel Perin
Atos Origin
Tour "Les Miroirs"
18, avenue d'Alsace
92926 Paris La Dιfense Cedex
France
Phone: +33 1 55 91 28 41
EMail: michel.perin@atosorigin.com
URI: http://www.marben-products.com
Amardeo Sarma
NEC Europe Ltd.
Network Laboratories
Adenauerplatz 6
69115 Heidelberg
Germany
Phone: +49 6221 13708-19
EMail: sarma@ccrle.nec.de
Bancroft Scott
OSS Nokalva
One Executive Drive
Suite #450
Expires May 13, 2002 [Page 34]
Internet Draft ASN.1 for SMIng November 13, 2001
Somerset, NJ 08873
USA
Phone: +1-732-302-9669 x-200
EMail: baos@oss.com
URI: http://www.oss.com
Alessandro Triglia
OSS Nokalva
One Executive Drive
Suite #450
Somerset, NJ 08873
USA
Phone: +39 091 625 7685
EMail: sandro@mclink.it
URI: http://www.oss.com
A. The ASN.1 SMIng module
--****************************************************
--
-- ASN1-SMIng base module
--
-- Alessandro Triglia, OSS Nokalva, 2001
--
--****************************************************
ASN1-SMIng DEFINITIONS IMPLICIT TAGS ::= BEGIN
SMICharacterString ::= UTF8String(SIZE(0..65535))
(CONSTRAINED BY {--Not all characters are allowed--})
SMIOctetString ::= OCTET STRING (SIZE(0..65535))
Integer32 ::= INTEGER(-2147483648..2147483647)
Integer64 ::= INTEGER
(-9223372036854775808..9223372036854775807)
Unsigned32 ::= INTEGER(0..4294967295)
Unsigned64 ::= INTEGER(0..18446744073709551615)
Float32 ::= REAL
(CONSTRAINED BY {-- Encodable in 4 octets --})
Float64 ::= REAL
Expires May 13, 2002 [Page 35]
Internet Draft ASN.1 for SMIng November 13, 2001
(CONSTRAINED BY {-- Encodable in 8 octets --})
Float128 ::= REAL
(CONSTRAINED BY {-- Encodable in 16 octets --})
Counter32 ::= Unsigned32
Counter64 ::= Unsigned64
TimeTicks ::= Unsigned32
IpAddress ::= SMIOctetString (SIZE(4))
Opaque ::= SMIOctetString
Status ::= ENUMERATED { current, deprecated, obsolete }
MaxAccess ::= ENUMERATED { none,
notificationsOnly, readOnly, readWrite }
NamingScheme ::= ENUMERATED { tabular,
hierarchical, extensible }
EntityInstanceRelationship ::= ENUMERATED { none, augments,
extends, expands }
MaxOperation ::= ENUMERATED { none, createDelete }
MODULE-INFO ::= CLASS {
&organization SMICharacterString,
&contact SMICharacterString,
&Revisions MODULE-REVISION,
&status Status DEFAULT current,
&description SMICharacterString }
WITH SYNTAX {
ORGANIZATION &organization
CONTACT &contact
REVISIONS &Revisions
[STATUS &status]
DESCRIPTION &description }
MODULE-REVISION ::= CLASS {
&date GeneralizedTime,
&description SMICharacterString }
WITH SYNTAX {
Expires May 13, 2002 [Page 36]
Internet Draft ASN.1 for SMIng November 13, 2001
DATE &date
DESCRIPTION &description }
ENTITY-CLASS ::= CLASS {
&Syntax,
&units SMICharacterString OPTIONAL,
&displayFormat SMICharacterString OPTIONAL,
&assignedAttributeIDs SEQUENCE OF RELATIVE-OID
OPTIONAL,
&AttributeInfo ATTRIBUTE-INFO OPTIONAL,
&indexingAttributeIDs SEQUENCE OF RELATIVE-OID
OPTIONAL,
&namingScheme NamingScheme DEFAULT tabular,
&extensionID RELATIVE-OID DEFAULT {0},
&status Status DEFAULT current,
&description SMICharacterString }
WITH SYNTAX {
SYNTAX &Syntax
[UNITS &units]
[DISPLAY-FORMAT &displayFormat]
[ASSIGNED-ATTRIBUTE-IDS &assignedAttributeIDs]
[ATTRIBUTE-INFO &AttributeInfo]
[INDEXING-ATTRIBUTES &indexingAttributeIDs]
[NAMING-SCHEME &namingScheme]
[EXTENSION &extensionID]
[STATUS &status]
DESCRIPTION &description }
ATTRIBUTE-INFO ::= CLASS {
&attributeID RELATIVE-OID,
&maxAccess MaxAccess DEFAULT none,
&status Status DEFAULT current,
&description SMICharacterString }
WITH SYNTAX {
ATTRIBUTE &attributeID
[MAX-ACCESS &maxAccess]
[STATUS &status]
DESCRIPTION &description }
EVENT ::= CLASS {
&status Status DEFAULT current,
&description SMICharacterString }
WITH SYNTAX {
[STATUS &status]
Expires May 13, 2002 [Page 37]
Internet Draft ASN.1 for SMIng November 13, 2001
DESCRIPTION &description }
ENTITY-INSTANCE ::= CLASS {
&entityInstanceOid OBJECT IDENTIFIER,
&entityClass ENTITY-CLASS,
&baseEntityInstanceOid OBJECT IDENTIFIER OPTIONAL,
&relationship EntityInstanceRelationship
DEFAULT none,
&maxOperation MaxOperation DEFAULT none,
&status Status DEFAULT current,
&description SMICharacterString }
WITH SYNTAX {
OID &entityInstanceOid
ENTITY-CLASS &entityClass
[BASE-ENTITY-INSTANCE &baseEntityInstanceOid]
[RELATIONSHIP &relationship]
[MAX-OPERATION &maxOperation]
[STATUS &status]
DESCRIPTION &description }
NOTIFICATION ::= CLASS {
¬ificationOid OBJECT IDENTIFIER,
&event EVENT,
&entityClass ENTITY-CLASS,
&transmittedAttributeIDs SEQUENCE OF RELATIVE-OID
OPTIONAL,
&status Status DEFAULT current,
&description SMICharacterString }
WITH SYNTAX {
OID ¬ificationOid
EVENT &event
ENTITY-CLASS &entityClass
[TRANSMITTED-ATTRIBUTES &transmittedAttributeIDs]
[STATUS &status]
DESCRIPTION &description }
NODE ::= CLASS {
&oid OBJECT IDENTIFIER,
&status Status DEFAULT current,
&description SMICharacterString }
WITH SYNTAX {
OID &oid
[STATUS &status]
DESCRIPTION &description }
Expires May 13, 2002 [Page 38]
Internet Draft ASN.1 for SMIng November 13, 2001
NODE-GROUP ::= CLASS {
&nodeGroupOid OBJECT IDENTIFIER,
&memberOids SEQUENCE OF OBJECT IDENTIFIER,
&status Status DEFAULT current,
&description SMICharacterString }
WITH SYNTAX {
OID &nodeGroupOid
MEMBERS &memberOids
[STATUS &status]
DESCRIPTION &description }
COMPLIANCE-STATEMENT ::= CLASS {
&statementOid OBJECT IDENTIFIER,
&mandatoryNodeGroupOids SEQUENCE OF OBJECT IDENTIFIER
OPTIONAL,
&OptionalNodeGroupsInfo OPTIONAL-NODE-GROUP-INFO
OPTIONAL,
&RefinedAttributesInfo REFINED-ATTRIBUTE-INFO OPTIONAL,
&status Status DEFAULT current,
&description SMICharacterString }
WITH SYNTAX {
OID &statementOid
[MANDATORY-NODE-GROUPS &mandatoryNodeGroupOids]
[OPTIONAL-NODE-GROUPS &OptionalNodeGroupsInfo]
[REFINED-ATTRIBUTES &RefinedAttributesInfo]
[STATUS &status]
DESCRIPTION &description }
OPTIONAL-NODE-GROUP-INFO ::= CLASS {
&nodeGroupOid OBJECT IDENTIFIER,
&description SMICharacterString }
WITH SYNTAX {
NODE-GROUP &nodeGroupOid
DESCRIPTION &description }
REFINED-ATTRIBUTE-INFO ::= CLASS {
&entityClass ENTITY-CLASS,
&attributeID RELATIVE-OID,
&description SMICharacterString }
WITH SYNTAX {
Expires May 13, 2002 [Page 39]
Internet Draft ASN.1 for SMIng November 13, 2001
ENTITY-CLASS &entityClass
ATTRIBUTE &attributeID
DESCRIPTION &description }
END
Full Copyright Statement
Copyright (C) The Internet Society (2001). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph
are included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Expires May 13, 2002 [Page 40]