INTERNET-DRAFT Bryan Levin
Allegro Networks
David L. Battle
Cisco Systems, Inc.
1 March 2002
SNMP Bulk Data Transfer Extensions
<draft-ietf-eos-snmp-bulkdata-01.txt>
Status of this Memo
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 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
Copyright Notice
Copyright (C) The Internet Society (2002). All Rights Reserved.
Abstract
This document describes a set of extensions (protocol operations and
textual conventions) to the existing SNMP framework architecture
[RFC2571]. These extensions provide mechanisms for efficient bulk
retrieval of virtual SNMP tables that are user-defined in terms of
similarly-instanced column entries from existing MIB tables.
EOS Working Group Expires September 2002 [Page 1]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
Table of Contents
1. The SNMP Network Management Framework ....................... 3
2. Overview .................................................... 4
2.1. Terms ..................................................... 4
2.2. Motivations for the Extensions ............................ 4
2.3. Design Goals .............................................. 4
3. The Extensions .............................................. 5
4. Elements of Procedure ....................................... 5
4.1. Creating a row in the sliceTable .......................... 5
4.2. Creating a row in the xferTable ........................... 5
4.3. Activating a snapshot and file transfer ................... 5
4.4. Monitoring/Controlling a queued transfer .................. 5
5. Coexistence and Transition .................................. 6
6. Managed Object Definitions .................................. 6
7. Intellectual Property ....................................... 23
8. Acknowledgements ............................................ 24
9. Security Considerations ..................................... 24
10. References ................................................. 24
11. Editor's Addresses ......................................... 27
A. Impact to SNMP and other Protocols .......................... 28
A.1. SNMPv3 .................................................... 28
B. Full Copyright Statement .................................... 28
EOS Working Group Expires September 2002 [Page 2]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
1. The SNMP Network Management Framework
The SNMP Management Framework presently consists of five major
components:
- An overall architecture, described in RFC 2571 [RFC2571].
- Mechanisms for describing and naming objects and events for the
purpose of management. The first version of this Structure of
Management Information (SMI) is called SMIv1 and described in
RFC 1155 [RFC1155], RFC 1212 [RFC1212] and RFC 1215 [RFC1215].
The second version, called SMIv2, is described in RFC 2578
[RFC2578], RFC 2579 [RFC2579] and RFC 2580 [RFC2580].
- Message protocols for transferring management information. The
first version of the SNMP message protocol is called SNMPv1 and
described in RFC 1157 [RFC1157]. A second version of the SNMP
message protocol, which is not an Internet standards track
protocol, is called SNMPv2c and described in RFC 1901 [RFC1901]
and RFC 1906 [RFC1906]. The third version of the message
protocol is called SNMPv3 and described in RFC 1906 [RFC1906],
RFC 2572 [RFC2572] and RFC 2574 [RFC2574].
- Protocol operations for accessing management information. The
first set of protocol operations and associated PDU formats is
described in RFC 1157 [RFC1157]. A second set of protocol
operations and associated PDU formats is described in RFC 1905
[RFC1905].
- A set of fundamental applications described in RFC 2573
[RFC2573] and the view-based access control mechanism described
in RFC 2575 [RFC2575].
A more detailed introduction to the current SNMP Management Framework
can be found in RFC 2570 [RFC2570].
Managed objects are accessed via a virtual information store, termed
the Management Information Base or MIB. Objects in the MIB are
defined using the mechanisms defined in the SMI.
This memo specifies a MIB module that is compliant to the SMIv2. A
MIB conforming to the SMIv1 can be produced through the appropriate
translations. The resulting translated MIB must be semantically
equivalent, except where objects or events are omitted because no
translation is possible (use of Counter64). Some machine readable
information in SMIv2 will be converted into textual descriptions in
SMIv1 during the translation process. However, this loss of machine
EOS Working Group Expires September 2002 [Page 3]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
readable information is not considered to change the semantics of the
MIB.
2. Overview
This document describes a set of SNMP extensions to current protocol
operations [RFC1905] to provide for efficient management operations
(i.e. bulk retrieval of mib data).
2.1. Terms
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 [RFC2119].
2.2. Motivations for the Extensions
Experience has shown that current SNMP protocol operations and
management structures are not ideally suited to retrieving large
amounts of information. The extensions described in this document
are specifically designed to minimize, or provide opportunities to
minimize, the following problems which inhibit the effectiveness of
SNMP:
- The existing bulk transfer mechanism (GetBulk) is difficult to
use and difficult to control (can overshoot table boundaries).
- No mechanism is currently provided for transfering large tables
to the NMS without constant, active NMS participation.
- No mechanism is currently provided to allow filtering of large
tables by column constraints.
- No mechanism is currently provided to allow creation of
synthetic tables by combining columns from existing tables.
2.3. Design Goals
Several goals were identified when considering the kind and nature of
extensions that were needed:
- Define a mechanism that is easy for normal humans to implement
and use.
EOS Working Group Expires September 2002 [Page 4]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
- Define a mechanism that can be used to transfer large tables to
the NMS without constant NMS participation. Both a "push" and
"pull" model is supported.
3. The Extensions
The extension consists of a mib document together with a description
of how it can be incorporated into an existing SNMP Agent in order to
achieve the desired bulk data retrieval behavior.
4. Elements of Procedure
4.1. Creating a row in the sliceTable
This can be a partial or complete MIB table or even a synthetic table
which is user-defined and created by listing a set of column Object
Identifiers together as a group. Entries in this table are expected
to persist and be useful in repeated snapshot requests.
4.2. Creating a row in the xferTable
This includes information about the fileserver(s) (either local or
remote) IP address, pathname, login authentication and file transfer
protocol. Entries in this table are expected to persist and be
useful in repeated file "push" operations.
4.3. Activating a snapshot and file transfer
Perform an SNMP Set to the RowStatus variable 'snapshotEntryStatus',
giving it the value of 'createAndGo' or 'active'. This will initiate
the snapshot operation as well as file transfer(s). Note that this
variable could be set via remote SNMP Sets, via the local agent's
craft interface, or via a threshold or timer event, such as found in
the DISMAN-SCHEDULE-MIB.
4.4. Monitoring/Controlling a queued transfer
Perform an SNMP Get to the xferCtlTable to monitor or control (cancel
or retry) individual file transfers.
EOS Working Group Expires September 2002 [Page 5]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
5. Coexistence and Transition
Since this extension doesn't directly impact existing SNMP Protocol
operations, coexistence and transition issues are minimized. If an
NMS attempts to use this extension and an agent supports it, life is
good. Otherwise, fallback to traditional protocol operations is
still possible.
6. Managed Object Definitions
BULK-DATA-MIB DEFINITIONS ::= BEGIN
IMPORTS
OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE,
experimental, Unsigned32 FROM SNMPv2-SMI
RowStatus, TimeStamp, DisplayString FROM SNMPv2-TC
InetAddressType, InetAddress FROM INET-ADDRESS-MIB
MODULE-COMPLIANCE, OBJECT-GROUP,
NOTIFICATION-GROUP FROM SNMPv2-CONF;
bulkDataMIB MODULE-IDENTITY
LAST-UPDATED "200228021100Z"
ORGANIZATION "EOS (Evolution of SNMP)"
CONTACT-INFO "Bryan Levin, Allegro Networks
Postal: 6399 San Ignacio
San Jose, CA 95119-1206
Tel: +1 408 281-5500
E-mail: snmp@allegronetworks.com
David Battle, Cisco Systems
Postal:
Tel: +1
E-mail: dbattle@cisco.com"
DESCRIPTION
"The MIB module for defining Bulk Data objects along with
the Bulk Data file format, Upload Fileserver and Data Slice."
::= { experimental 999 }
bulkDataAgentCapabilities OBJECT IDENTIFIER ::= { bulkDataMIB 1 }
bulkDataObjects OBJECT IDENTIFIER ::= { bulkDataMIB 2 }
bulkDataTraps OBJECT IDENTIFIER ::= { bulkDataMIB 3 }
EOS Working Group Expires September 2002 [Page 6]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
-- Agent Capabilities
acFileEncoding OBJECT-TYPE
SYNTAX INTEGER {
ascii(1),
xml(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This describes the agent's capability in term of which
file encoding styles it supports."
::= { bulkDataAgentCapabilities 1 }
acFileCompression OBJECT-TYPE
SYNTAX INTEGER {
noCompression(1),
bzip(2),
gzip(3)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This describes the agent's capability in term of which
file compression styles it supports."
::= { bulkDataAgentCapabilities 2 }
acXferProtocol OBJECT-TYPE
SYNTAX INTEGER {
cp(1),
ftp(2),
scp(3)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This describes the agent's capability in term of which
file transfer protocols it supports."
::= { bulkDataAgentCapabilities 3 }
-- Data Slicing Control (creating virtual mib tables)
sliceTable OBJECT-TYPE
EOS Working Group Expires September 2002 [Page 7]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
SYNTAX SEQUENCE OF SliceEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table describes a bulk data slice that is a user-
defined subset of the current running agent's MIB data.
Virtual tables are built by specifying a sequence of
columnar Object Identifiers from real mib tables."
::= { bulkDataObjects 1 }
sliceEntry OBJECT-TYPE
SYNTAX SliceEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The data slice entry."
INDEX { sliceIndex, sliceSubId }
::= { sliceTable 1 }
SliceEntry ::= SEQUENCE {
sliceIndex Unsigned32,
sliceSubId Unsigned32,
sliceColumnOID OBJECT IDENTIFIER,
sliceSnmpContext DisplayString,
sliceColumnDisplayHint DisplayString,
sliceAdminString DisplayString,
sliceEntryStatus RowStatus }
sliceIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An arbitrary integer to uniquely identify this entry. To
create an entry a management application should pick a
random number."
::= { sliceEntry 1 }
sliceSubId OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A sequential sub-index to identify a component of a slice
entry."
::= { sliceEntry 2 }
EOS Working Group Expires September 2002 [Page 8]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
sliceColumnOID OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"An Object Identifier, which must refer to a column of a
conceptual table. A slice is defined to be a series of
columns OIDs that exist in various tables which are
accessible via the local agent."
::= { sliceEntry 3 }
sliceSnmpContext OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"In mib groups that are not inherently instancable, an snmp
manager context is used to multiply access the separate
instances (eg, the bridge mib)."
::= { sliceEntry 4 }
sliceColumnDisplayHint OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This defines how the data file will render this OID's value
in the snapshot data file.
The following subset of the C printf-style formatting
macros is supported:
%s - ascii string field
%d - numeric field"
::= { sliceEntry 5 }
sliceAdminString OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Used for administrative purposes. Usually meaningful only
to the controlling NMS."
DEFVAL { ''H } -- the empty string
::= { sliceEntry 6 }
sliceEntryStatus OBJECT-TYPE
SYNTAX RowStatus
EOS Working Group Expires September 2002 [Page 9]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The control variable that allows creation, modification,
and deletion of entries in this table."
::= { sliceEntry 7 }
-- Fileserver/host Transfer Table
xferTable OBJECT-TYPE
SYNTAX SEQUENCE OF XferEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table describes a bulk data slice file transfer
information. It is referenced when a snapshot is being
requested."
::= { bulkDataObjects 2 }
xferEntry OBJECT-TYPE
SYNTAX XferEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The snapshot file transfer request table entry."
INDEX { xferIndex, xferSubId }
::= { xferTable 1 }
XferEntry ::= SEQUENCE {
xferIndex Unsigned32,
xferSubId Unsigned32,
xferHostIpType InetAddressType,
xferHostIpAddr InetAddress,
xferProtocol INTEGER,
xferWriteControl INTEGER,
xferFilePath DisplayString,
xferAuthUsername DisplayString,
xferAuthPassword DisplayString,
xferAdminString DisplayString,
xferEntryStatus RowStatus }
xferIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS not-accessible
STATUS current
EOS Working Group Expires September 2002 [Page 10]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
DESCRIPTION
"An integer to uniquely identify a transfer destination set."
::= { xferEntry 1 }
xferSubId OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Sub index that allows several transfer entries to be
grouped together to form a transfer set."
::= { xferEntry 2 }
xferHostIpType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Used along with xferHostIpAddr to define the IP address
version."
DEFVAL { ipv4 }
::= { xferEntry 3 }
xferHostIpAddr OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The IP address of the fileserver where the snapshot is to
be transferred."
::= { xferEntry 4 }
xferProtocol OBJECT-TYPE
SYNTAX INTEGER {
cp(1),
ftp(2),
scp(3)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This defines the standard protocol that is used to upload
the snapshot to the fileserver. The agent is the client in
this transaction; ie, it initiates the upload to the
fileserver.
When the snapshot is being kept on the local system, cp(1)
is to be specified. For remote file transfers, ftp(2) or
EOS Working Group Expires September 2002 [Page 11]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
scp(3) should be specified."
DEFVAL { ftp }
::= { xferEntry 5 }
xferWriteControl OBJECT-TYPE
SYNTAX INTEGER {
failIfExists(1),
overwrite(2)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This defines the action to take when uploading bulk
data to a fileserver. If set to failIfExists(1) and
a file already exists on the fileserver, the upload will
fail and the existing file on the server will not be
overwritten. If set to overwrite(2), a file will be
uploaded and saved under the specified path and name
even if one by that composite name already exists;
if none exists by that composite name, a new file
will be created."
DEFVAL { failIfExists }
::= { xferEntry 6 }
xferFilePath OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The remote directory path where the file is to be saved on
the fileserver."
::= { xferEntry 7 }
xferAuthUsername OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The user name to use when authenticating with the remote
fileserver."
::= { xferEntry 8 }
xferAuthPassword OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The password to use when authenticating with the remote
EOS Working Group Expires September 2002 [Page 12]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
fileserver."
::= { xferEntry 9 }
xferAdminString OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Used for administrative purposes. Usually meaningful only
to the controlling NMS."
DEFVAL { ''H } -- the empty string
::= { xferEntry 10 }
xferEntryStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The control that allows creation, modification, and deletion
of entries.
Setting this variable to createAndGo(4) or active(1) will
case a row creation to be performed in this table. Note
that no actual file transfer occurs until a snapshot table
entry is created.
Setting this variable to delete will delete this row entry."
::= { xferEntry 11 }
-- Snapshot Control Table
snapshotTable OBJECT-TYPE
SYNTAX SEQUENCE OF SnapshotEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table describes a bulk data slice snapshot request.
The agent is expected to capture the values of the slice
(atomically, if possible) and save them in a file on the
local system when a row in this table is created and set to
createAndGo(4) or active(1)."
::= { bulkDataObjects 3 }
snapshotEntry OBJECT-TYPE
SYNTAX SnapshotEntry
EOS Working Group Expires September 2002 [Page 13]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The snapshot request table entry."
INDEX { snapshotIndex, snapshotSliceIndex, snapshotXferId }
::= { snapshotTable 1 }
SnapshotEntry ::= SEQUENCE {
snapshotIndex Unsigned32,
snapshotSliceIndex Unsigned32,
snapshotXferId Unsigned32,
snapshotSnapFileName DisplayString,
snapshotFileEncoding INTEGER,
snapshotFileCompression INTEGER,
snapshotStartTime TimeStamp,
snapshotCompletionTime TimeStamp,
snapshotFileSize Unsigned32,
snapshotState INTEGER,
snapshotAdminString DisplayString,
snapshotEntryStatus RowStatus }
snapshotIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An integer to uniquely identify the data slice that is to
be transferred to the fileserver. This refers to an entry
in the SliceTable."
::= { snapshotEntry 1 }
snapshotSliceIndex OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An integer to uniquely identify the data slice to saved on
the local system."
::= { snapshotEntry 2 }
snapshotXferId OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An instance in the xfer table that describes where and how
to copy the bulk data snapshot to a fileserver."
::= { snapshotEntry 3 }
EOS Working Group Expires September 2002 [Page 14]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
snapshotSnapFileName OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The bulk data snapshot is saved under this filename."
::= { snapshotEntry 4 }
snapshotFileEncoding OBJECT-TYPE
SYNTAX INTEGER {
ascii(1),
xml(2)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If set to ascii(1), the format is human-readable ascii with
a lines in the form:
# timestampStart timestampCompletion col-1 col-2 ... col-n
instance-1 value-1 value-2 ...
instance-2 value-3 value-4 ...
...
where:
timestampStart and timestampCompletion are the values of
sysUptime on the agent when the snapshot of the data slice
was initiated and completed (with or without errors).
column-1 thru column-n are the human-readable MIB module
column names that are included in this data slice.
instance-1 (etc) are human-readable MIB module instance
names in usual dotted notation.
value-1 (etc) are human-readable ascii representations
of the actual values of the data cells. This is in
DisplayString format regardless of the native data type of
the column.
It is implementation-specific if the column name is stored
in dotted-OID format (.1.3.6...) or in symbolic format
(ifInOctets).
For example, an ifTable data slice file fragment might be:
# 28711187 28711190 ifDescr ifType ifInOctets ifOutOctets
1 lo0 softwareLoopback 54550782 54552115
EOS Working Group Expires September 2002 [Page 15]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
2 eth0 ethernet-csmacd 372380346 2746062289
3 eth0.0 ethernet-csmacd 4002949 126167
If set to xml(2), the data will be saved in XML tagged
format."
DEFVAL { ascii }
::= { snapshotEntry 5 }
snapshotFileCompression OBJECT-TYPE
SYNTAX INTEGER {
noCompression(1),
bzip(2),
gzip(3)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If set to noCompression(1), no file compression will be
applied before the data slice is transferred to the
fileserver.
If set to bzip(2), the standard bzip compression algorithm
will be applied to the data slice before the file is
uploaded to the fileserver.
If set to gzip(3), the standard GNU gzip compression
algorithm will be applied to the data slice before the file
is uploaded to the fileserver."
DEFVAL { noCompression }
::= { snapshotEntry 6 }
snapshotStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUptime on the agent when the snapshot was
initiated."
::= { snapshotEntry 7 }
snapshotCompletionTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUptime on the agent when the snapshot was
completed (with or without an error)."
::= { snapshotEntry 8 }
EOS Working Group Expires September 2002 [Page 16]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
snapshotFileSize OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The actual size of the file (after optional file
compression was applied) at the completion of the snapshot.
The size is measured in bytes. This variable is only valid
upon the successful completion of a slice snapshot."
::= { snapshotEntry 9 }
snapshotState OBJECT-TYPE
SYNTAX INTEGER {
running(1),
ready(2),
noSpace(3),
badName(4),
writeErr(5),
noMem(6),
aborted(7)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The file state:
running data is being written to the file
ready the file is ready to be sent or retrieved
noSpace no data due to insufficient file space
badName no data due to a name or path problem
writeErr no data due to fatal file write error
noMem no data due to insufficient dynamic memory
aborted terminated by operator command
Only the 'ready' state implies that snapshot has successfully
completed."
::= { snapshotEntry 10 }
snapshotAdminString OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Used for administrative purposes. Usually meaningful only
to the controlling NMS."
DEFVAL { ''H } -- the empty string
::= { snapshotEntry 11 }
EOS Working Group Expires September 2002 [Page 17]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
snapshotEntryStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The control that allows creation, modification, and deletion
of entries.
Setting this variable to createAndGo(4) or active(1) will
initiate a snapshot of a slice entry to the local system
and optionally initiate a remote file copy.
Setting this variable to delete() will delete this row entry
and delete the corresponding data file on the local system.
Note that in practice, this variable could be set by an
operator via the agent's craft interface, remotely via an
NMS using SNMP or locally within the agent via automatic
means, such as described in the DISMAN-SCHEDULE-MIB."
::= { snapshotEntry 12 }
-- Snapshot File Transfer Control Table
xferCtlTable OBJECT-TYPE
SYNTAX SEQUENCE OF XferCtlEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains individual (fileserver host) transfer
requests. There will be an entry in this table For each
filserver that is to receive a snapshot slice. The current
transfer status can be monitored as well as controlled
(aborted, retried)."
::= { bulkDataObjects 4 }
xferCtlEntry OBJECT-TYPE
SYNTAX XferCtlEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The snapshot file transfer request table entry."
INDEX { xferCtlIndex, sliceIndex, xferIndex, xferSubId }
::= { xferCtlTable 1 }
XferCtlEntry ::= SEQUENCE {
EOS Working Group Expires September 2002 [Page 18]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
xferCtlIndex Unsigned32,
xferCtlStartTime TimeStamp,
xferCtlCompletionTime TimeStamp,
xferCtlPercentXferred Unsigned32,
xferCtlStatus INTEGER }
xferCtlIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An integer to uniquely identify a transfer destination set."
::= { xferCtlEntry 1 }
xferCtlStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUptime on the agent when the file transfer
was initiated."
::= { xferCtlEntry 2 }
xferCtlCompletionTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUptime on the agent when the file transfer
was completed (with or without an error)."
::= { xferCtlEntry 3 }
xferCtlPercentXferred OBJECT-TYPE
SYNTAX Unsigned32 (0..100)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of the snapshot file that has been transferred
to the fileserver, in percent of completion (0..100)."
::= { xferCtlEntry 4 }
xferCtlStatus OBJECT-TYPE
SYNTAX INTEGER {
inProgress(1),
complete(2),
noSpace(3),
badName(4),
writeErr(5),
EOS Working Group Expires September 2002 [Page 19]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
badLogin(6),
abortXfer(7),
retryXfer(8),
deleteRow(9)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This allows individual file transfer requests to be
controlled.
inProgress(1) is returned if a file transfer is currently
being performed by the local system. This is a read-only
value.
complete(2) is returned upon successful file transfer.
This is a read-only value.
noSpace(3), badName(4), writeErr(5), badLogin(6) are error
status values that describe the error conditions of
insufficient fileserver space to create the file, invalid
filename, misc write error or authentication error on the
fileserver. These values are readable but not writable.
abortXfer(7), retryXfer(8) are writable values and allow
remote control of currently pending file transfer requests.
deleteRow(9) is a writable value that causes a row deletion
from this table. In addition, any pending operations on
this row are aborted."
::= { xferCtlEntry 5 }
-- Traps
bulkDataXfer NOTIFICATION-TYPE
OBJECTS {
-- xferCtlIndex,
-- xferIndex,
-- xferSubId,
xferCtlStatus
}
STATUS current
DESCRIPTION
"Asynchronous events that are sent when a file transfer
request changes state."
EOS Working Group Expires September 2002 [Page 20]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
::= { bulkDataTraps 1 }
-- Conformance
bulkMIBConformance OBJECT IDENTIFIER ::= { bulkDataMIB 4 }
bulkMIBCompliances OBJECT IDENTIFIER ::= { bulkMIBConformance 1 }
bulkMIBGroups OBJECT IDENTIFIER ::= { bulkMIBConformance 2 }
-- Compliance
bulkMIBCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for entities which implement
the Bulk Data MIB. Implementation of this MIB
is based on individual product needs."
MODULE -- this module
MANDATORY-GROUPS {
bulkCapabilitiesGroup,
bulkSliceGroup,
bulkFileTransferGroup,
bulkSnapshotGroup,
bulkXferCtlGroup,
bulkTrapGroup
}
::= { bulkMIBCompliances 1 }
-- Units of Conformance
bulkCapabilitiesGroup OBJECT-GROUP
OBJECTS {
acFileEncoding,
acFileCompression,
acXferProtocol
}
STATUS current
DESCRIPTION
EOS Working Group Expires September 2002 [Page 21]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
"Bulk Data agent capabilities management."
::= { bulkMIBGroups 1 }
bulkSliceGroup OBJECT-GROUP
OBJECTS {
sliceColumnOID,
sliceSnmpContext,
sliceColumnDisplayHint,
sliceAdminString,
sliceEntryStatus
}
STATUS current
DESCRIPTION
"Bulk Data slice management."
::= { bulkMIBGroups 2 }
bulkFileTransferGroup OBJECT-GROUP
OBJECTS {
xferHostIpType,
xferHostIpAddr,
xferProtocol,
xferWriteControl,
xferFilePath,
xferAuthUsername,
xferAuthPassword,
xferAdminString,
xferEntryStatus
}
STATUS current
DESCRIPTION
"Bulk File transfer management."
::= { bulkMIBGroups 3 }
bulkSnapshotGroup OBJECT-GROUP
OBJECTS {
snapshotSnapFileName,
snapshotFileEncoding,
snapshotFileCompression,
snapshotStartTime,
snapshotCompletionTime,
snapshotFileSize,
snapshotState,
snapshotAdminString,
snapshotEntryStatus
}
STATUS current
DESCRIPTION
"Bulk data snapshot management."
EOS Working Group Expires September 2002 [Page 22]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
::= { bulkMIBGroups 4 }
bulkXferCtlGroup OBJECT-GROUP
OBJECTS {
xferCtlStartTime,
xferCtlCompletionTime,
xferCtlPercentXferred,
xferCtlStatus
}
STATUS current
DESCRIPTION
"Bulk Data transfer control management."
::= { bulkMIBGroups 5 }
bulkTrapGroup NOTIFICATION-GROUP
NOTIFICATIONS { bulkDataXfer }
STATUS current
DESCRIPTION
"Bulk Data trap management."
::= { bulkMIBGroups 6 }
END
7. 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
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.
EOS Working Group Expires September 2002 [Page 23]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
8. Acknowledgements
This document is the result of the efforts of the Evolution Of SNMP
(EOS) Working Group. Some special thanks are in order to the
following EOS WG members for their ideas, efforts and asundry
contributions:
Dr. Jeff Case
Dale Francisco
David Perkins
Randy Presuhn
Jeurgen Schoenwaelder
Bob Stewart
Troy Dixler
L. Heintz
Nalinaksh Pai
9. Security Considerations
TBD
10. References
[RFC1155] Rose, M. and K. McCloghrie, "Structure and
Identification of Management Information for TCP/IP-
based internets", STD 16, RFC 1155, May 1990.
[RFC1157] Case, J., M. Fedor, M. Schoffstall and J. Davin, "The
Simple Network Management Protocol", STD 15, RFC 1157,
May 1990.
[RFC1212] Rose, M. and K. McCloghrie, "Concise MIB Definitions",
STD 16, RFC 1212, March 1991.
[RFC1901] The SNMPv2 Working Group, Case, J., McCloghrie, K.,
Rose, M. and S. Waldbusser, "Introduction to
Community-based SNMPv2", RFC 1901, January 1996.
[RFC2571] Harrington, D., Presuhn, R., and B. Wijnen, "An
Architecture for Describing SNMP Management Frameworks",
RFC 2571, April 1999.
[RFC2578] McCloghrie, K., Perkins, D. and J. Schoenwaelder,
"Structure of Management Information Version 2 (SMIv2)",
STD 58, RFC 2578, April 1999.
[RFC2579] McCloghrie, K., Perkins, D., and J. Schoenwaelder,
EOS Working Group Expires September 2002 [Page 24]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
"Textual Conventions for SMIv2", STD 58, RFC 2579, April
1999.
[RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder,
"Conformance Statements for SMIv2", STD 58, RFC 2580,
April 1999.
[RFC-PROTO] Presuhn, R., Case, J., McCloghrie, K., Rose, M., and S.
Waldbusser, "Protocol Operations for the Simple Network
Management Protocol", <draft-ietf-snmpv3-update-proto-
05.txt>, March 2002.
[RFC-TMM] Presuhn, R., Case, J., McCloghrie, K., Rose, M., and S.
Waldbusser, "Transport Mappings for the Simple Network
Management Protocol", <draft-ietf-snmpv3-update-
transmap-05.txt>, March 2002.
[RFC-MIB] Presuhn, R., Case, J., McCloghrie, K., Rose, M. and S.
Waldbusser, "Management Information Base for the Simple
Network Management Protocol", <draft-ietf-snmpv3-
update-mib-05.txt>, March 2002.
[RFC-COEX] Frye, R., Levi, D., Routhier, S., and B. Wijnen,
"Coexistence between Version 1, Version 2, and Version 3
of the Internet-standard Network Management Framework",
<draft-ietf-snmpv3-coex-v2-00.txt>, March 2002.
[RFC1909] McCloghrie, K., Editor, "An Administrative
Infrastructure for SNMPv2", RFC 1909, February 1996.
[RFC1910] Waters, G., Editor, "User-based Security Model for
SNMPv2", RFC 1910, February 1996.
[RFC2279] Yergeau, F., "UTF-8, a transformation format of ISO
10646", RFC 2279, January, 1998.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[BCP-11] Hovey, R. and S. Bradner, "The Organizations Involved in
the IETF Standards Process", BCP 11, RFC 2028, October
1996.
[RFC2863] McCloghrie, K. and F. Kastenholz. "The Interfaces Group
MIB." RFC 2863, June 2000.
[SNMP-MPD] Case, J., Harrington, D., Presuhn, R. and B. Wijnen,
"Message Processing and Dispatching for the Simple
EOS Working Group Expires September 2002 [Page 25]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
Network Management Protocol (SNMP)", <draft-ietf-
snmpv3-mpd-v2-00.txt>, March 2002.
[SNMP-USM] Blumenthal, U. and B. Wijnen, "The User-Based Security
Model for Version 3 of the Simple Network Management
Protocol (SNMPv3)", <draft-ietf-snmpv3-usm-v2-00.txt>,
March 2002.
[SNMP-ACM] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based
Access Control Model for the Simple Network Management
Protocol (SNMP)", <draft-ietf-snmpv3-vacm-04.txt>,
February 1999. <draft-ietf-snmpv3-vacm-v2-00.txt>,
March 2002.
[RFC-APPL] Levi, D., Meyer, P. and B. Stewart, "SNMP
Applications", <draft-ietf-snmpv3-apps-v2-00.txt>, March
2002.
[RFC2570] Case, J., Mundy, R., Partain, D. and B. Stewart,
"Introduction to Version 3 of the Internet-standard
Network Management Framework", <draft-ietf-snmpv3-
intro-04.txt>, January 1999.
[RFC-COEX] Frye, R., Levi, D., Routhier, S., and B. Wijnen,
"Coexistence between Version 1, Version 2, and Version 3
of the Internet-standard Network Management Framework",
<draft-ietf-snmpv3-coex-v2-00.txt>, March 2002.
EOS Working Group Expires September 2002 [Page 26]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
11. Editor's Addresses
Bryan Levin
Allegro Netowrks
6399 San Ignacio
San Jose, Ca 95199-1206
Phone: +1 408-281-5500
EMail: snmp@allegronetworks.com
David L. Battle
Cisco Systems
204 Golfclub Rd
Knoxville, TN 37919-5924
Phone: +1 865-588-7763
EMail: dbattle@cisco.com
EOS Working Group Expires September 2002 [Page 27]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
APPENDIXES
A. Impact to SNMP and other Protocols
A.1. SNMPv3
An issue remains whether a new message processing model MUST be
specified as part of the SNMPv3 (or later) standard. Otherwise, it is
not seen that these extensions pose any impact to other SNMPv3
architectural components (i.e. USM, VACM) because the new protocol
operations and their contents contain sufficient information (along
with the information provided in whatever version-specific message
wrapper they are contined within) to satisfy the abstract service
interfaces for those components.
B. Full Copyright Statement
Copyright (C) The Internet Society (2002). 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.
Acknowledgement
EOS Working Group Expires September 2002 [Page 28]
Internet Draft SNMP Bulk Data Transfer Extensions 1 March 2002
Funding for the RFC Editor function is currently provided by the
Internet Society.
EOS Working Group Expires September 2002 [Page 29]