[Search] [pdf|bibtex] [Tracker] [WG] [Email] [Nits]

Versions: 00 01                                                         
INTERNET-DRAFT                                           David L. Battle
                                                     Cisco Systems, Inc.

                                                             Bryan Levin
                                                        Allegro Networks

                                                            13 July 2001

                   SNMP Bulk Data Transfer Extensions


                 <draft-ietf-eos-snmp-bulkdata-00.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 (2001).  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 table rows and other information.








EOS Working Group         Expires January 2002                  [Page 1]


Internet Draft      SNMP Row Operations Extensions          13 July 2001


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 transfer .....................................    5
   5. Coexistence and Transition ..................................    5
   6. Managed Object Definitions ..................................    5
   7. Intellectual Property .......................................   17
   8. Acknowledgements ............................................   18
   9. Security Considerations .....................................   18
   10. References .................................................   18
   11. Editor's Addresses .........................................   21
   A. Impact to SNMP and other Protocols ..........................   22
   A.1. SNMPv3 ....................................................   22
   B. Full Copyright Statement ....................................   22





























EOS Working Group         Expires January 2002                  [Page 2]


Internet Draft      SNMP Row Operations Extensions          13 July 2001


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 January 2002                  [Page 3]


Internet Draft      SNMP Row Operations Extensions          13 July 2001


   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.

      -


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.

      -  Define a mechanism that can be used to transfer large tables to
         the NMS without constant NMS participation.





EOS Working Group         Expires January 2002                  [Page 4]


Internet Draft      SNMP Row Operations Extensions          13 July 2001


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, alternately, a whole
   MIB subtree.  If using the MIB table method, the user can select just
   the columns and rows that are to be saved and uploaded.


4.2.  Creating a row in the xferTable

   This includes information about the remote fileserver, path/filename,
   login authentication and an index reference to an entry that was
   previously created in the Data Slice table.


4.3.  Activating a transfer

   Perform an SNMP Set to the RowStatus variable 'xferEntryStatus',
   giving it the value of 'createAndGo' or 'active'.  This will initiate
   the file transfer.  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.



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,



EOS Working Group         Expires January 2002                  [Page 5]


Internet Draft      SNMP Row Operations Extensions          13 July 2001


       experimental, IpAddress, Unsigned32   FROM SNMPv2-SMI
       RowStatus, TimeStamp, DisplayString   FROM SNMPv2-TC
       MODULE-COMPLIANCE, OBJECT-GROUP       FROM SNMPv2-CONF;

   bulkDataMIB MODULE-IDENTITY
       LAST-UPDATED         "200107121954Z"
       ORGANIZATION         "IETF Evolution of SNMP Working Group"
       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: 204 Golfclub Rd
                           Knoxville, TN 37919-5924

                           Tel: +1 865 588-7763
                           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 }

   bulkDataSliceObjects         OBJECT IDENTIFIER ::= { bulkDataMIB 1 }

   bulkDataFileTransferObjects  OBJECT IDENTIFIER ::= { bulkDataMIB 2 }

   -- Data Slicing Control

   sliceTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SliceEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table describes a bulk data slice that is a subset of
           the current running agent's MIB data."
       ::= { bulkDataSliceObjects 1 }

   sliceEntry OBJECT-TYPE
       SYNTAX      SliceEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
            "The data slice entry."
       INDEX { sliceIndex }
       ::= { sliceTable 1 }



EOS Working Group         Expires January 2002                  [Page 6]


Internet Draft      SNMP Row Operations Extensions          13 July 2001


   SliceEntry ::= SEQUENCE {
       sliceIndex              Unsigned32,
       sliceType               INTEGER,
       sliceOIDSubtree         OBJECT IDENTIFIER,
       sliceColumnMask         OCTET STRING,
       sliceRowRangeType       INTEGER,
       sliceRowRangeTimestamp  TimeStamp,
       sliceRowRangeStart      Unsigned32,
       sliceRowRangeEnd        Unsigned32,
       sliceRowRangeNetmask1   IpAddress,
       sliceRowRangeNetmask2   IpAddress,
       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 }

   sliceType OBJECT-TYPE
       SYNTAX     INTEGER {
                      oidSubtree(1),
                      mibTable(2)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This describes the type of data bulk data.

            If set to oidSubtree(1) then all MIB data with the prefix of
            sliceOIDSubtree will be included in the data slice.

            If set to mibTable(2), then the values of sliceColumnMask,
            sliceRowRangeType,sliceRowRangeTimestamp,sliceRowRangeStart,
            sliceRowRangeEnd are significant."
       ::= { sliceEntry 2 }

   sliceOIDSubtree OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "Valid only if sliceType is set to oidSubtree(1).




EOS Working Group         Expires January 2002                  [Page 7]


Internet Draft      SNMP Row Operations Extensions          13 July 2001


           This describes an OID prefix, whose subtree will be included
   in the
           data slice."
       ::= { sliceEntry 3 }

   sliceColumnMask OBJECT-TYPE
       SYNTAX      OCTET STRING (SIZE (1..255))
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "A bitstring that represents which columns of the conceptual
           table are to be included in this data slice.  If the bit has
           a value of '1', the column is to be included in this data
           slice.

           The mapping of bit positions to table columns is from most
           significant bit (first column entry) to least significant
           bit (last column entry)."
       ::= { sliceEntry 4 }

   sliceRowRangeType OBJECT-TYPE
       SYNTAX      INTEGER {
                      simple(1),
                      netMask(2),
                      olderThan(3),
                      newerThan(4)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This defines how the rows will be selected.

            If set to simple(1), the rows will range from the value of
            sliceRowRangeStart thru sliceRowRangeEnd, inclusive.

           If set to netMask(2), all rows whose index matches a netmask
           wildcard will be selected.  For tables that have one
           IpAddress in their index field, sliceRowRangeNetmask1 will be
           the selector.  For tables that have two IpAddress fields,
           sliceRowRangeNetmask1 will be used to match the first
           IpAddress index and sliceRowRangeNetmask2 will be used to
           match the second IpAddress index.

           If set to olderThan(3) or newerThan(4), table rows that have
           been changed (ie, have had a value change in their row)
           before or after the timestamp 'sliceRowRangeTimestamp' will
           be selected."
       ::= { sliceEntry 5 }



EOS Working Group         Expires January 2002                  [Page 8]


Internet Draft      SNMP Row Operations Extensions          13 July 2001


   sliceRowRangeTimestamp OBJECT-TYPE
       SYNTAX      TimeStamp
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This defines the rows in a table that are older than
           or newer than this timestamp.

           If sliceRowRangeType is set to olderThan(3), all rows whose
           time of last modification are older than this timestamp are
           included in this data slice.  If sliceRowRangeType is set to
           newerThan(4), all rows whose time of last modification are
           newer than this timestamp are included in this data slice.

           This column is only significant if sliceRowRangeType
           is set to olderThan(3) or newerThan(4)."
       ::= { sliceEntry 6 }

   sliceRowRangeStart OBJECT-TYPE
       SYNTAX      Unsigned32
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "For simple tables (ie, where the indexing is a single
           integer), this  defines the beginning index value to be
           included in the data slice. The rows selected are an
           inclusive range bounded by the values of sliceRowRangeStart
           and sliceRowRangeEnd.

           This column is only significant if sliceRowRangeType
           is set to simple(1)."
       ::= { sliceEntry 7 }

   sliceRowRangeEnd OBJECT-TYPE
       SYNTAX      Unsigned32
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "For simple tables (ie, where the indexing is a single
           integer), this defines the ending index value to be included
           in the data slice.  The rows selected are an inclusive range
           bounded by the values of sliceRowRangeStart and
           sliceRowRangeEnd.

           This column is only significant if sliceRowRangeType
           is set to simple(1)."
       ::= { sliceEntry 8 }




EOS Working Group         Expires January 2002                  [Page 9]


Internet Draft      SNMP Row Operations Extensions          13 July 2001


   sliceRowRangeNetmask1 OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "For tables that are indexed by an IpAddress component, this
           defines the netmask for the selection of rows to be included
           in the data slice.  All rows that match this netmask will be
           included in this data slice.  This column is only significant
           if sliceRowRangeType is set to netMask(2).

           Note that for multiply indexed tables where there is more
           than one IpAddress, this mask will be applied to the first
           one, only.

           If both sliceRowRangeNetmask1 and sliceRowRangeNetmask2 are
           defined, the rows selected will be the logical intersection
           of the sliceRowRangeNetmask1 rows and the
           sliceRowRangeNetmask2 rows."
       ::= { sliceEntry 9 }

   sliceRowRangeNetmask2 OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "For tables that are indexed by an IpAddress component, this
           defines the netmask for the selection of rows to be included
           in the data slice.  All rows that match this netmask will be
           included in this data slice.  This column is only significant
           if sliceRowRangeType is set to netMask(2).

           Note that for multiply indexed tables where there is more
           than one IpAddress, this mask will be applied to the first
           one, only.

           If both sliceRowRangeNetmask1 and sliceRowRangeNetmask2 are
           defined, the rows selected will be the logical intersection
           of the sliceRowRangeNetmask1 rows and the
           sliceRowRangeNetmask2 rows."
       ::= { sliceEntry 10 }

   sliceEntryStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The control variable that allows creation, modification, and



EOS Working Group         Expires January 2002                 [Page 10]


Internet Draft      SNMP Row Operations Extensions          13 July 2001


           deletion of entries in this table."
       ::= { sliceEntry 11 }


   -- File Transfer Control

   xferTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF XferEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table describes a bulk data transfer protocol, file
            encoding, remote path/filename, remote authentication
            and local file transfer status."
       ::= { bulkDataFileTransferObjects 1 }

   xferEntry OBJECT-TYPE
       SYNTAX      XferEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The transfer table entry."
       INDEX { xferIndex }
       ::= { xferTable 1 }

   XferEntry ::= SEQUENCE {
       xferIndex                 Unsigned32,
       xferSliceIndex            Unsigned32,
       xferProtocol              INTEGER,
       xferFileEncoding          INTEGER,
       xferFileCompression       INTEGER,
       xferFileServerManditory   DisplayString,
       xferFileServerOptional    DisplayString,
       xferFileWriteControl      INTEGER,
       xferFilePath              DisplayString,
       xferFileName              DisplayString,
       xferAuthUsername          DisplayString,
       xferAuthPassword          DisplayString,
       xferState                 INTEGER,
       xferStartTime             TimeStamp,
       xferCompletionTime        TimeStamp,
       xferFileSize              Unsigned32,
       xferEntryStatus           RowStatus }

   xferIndex OBJECT-TYPE
       SYNTAX      Unsigned32 (1..4294967295)
       MAX-ACCESS  not-accessible
       STATUS      current



EOS Working Group         Expires January 2002                 [Page 11]


Internet Draft      SNMP Row Operations Extensions          13 July 2001


       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."
       ::= { xferEntry 1 }

   xferSliceIndex OBJECT-TYPE
       SYNTAX      Unsigned32
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "An integer to uniquely identify the data slice to be
           transferred to the fileserver."
       ::= { xferEntry 2 }

   xferProtocol OBJECT-TYPE
       SYNTAX      INTEGER {
                      ftp(1),
                      tftp(2),
                      sftp(3),
                      scp(4),
                      http(5),
                      smtp(6)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This defines the standard protocol that is used to upload
           the data slice to the fileserver.  The agent is the client in
           this transaction; ie, it initiates the upload to the
           fileserver."
       ::= { xferEntry 3 }

   xferFileEncoding OBJECT-TYPE
      SYNTAX       INTEGER {
                      standardBER(1),
                      ascii(2),
                      xml(3)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "If set to standardBER(1), the ASN.1/BER format is identical
           to SNMP variable bindings, that is, each object has a full
           OID and a fully tagged value.  The file content is similar to
           what would be obtained with a Get request.

           If set to ascii(2), the format is human-readable ascii with a



EOS Working Group         Expires January 2002                 [Page 12]


Internet Draft      SNMP Row Operations Extensions          13 July 2001


           lines in the form:

           # table-name@timestamp column-1 column-2 ... column-n
           instance-1 value-1 value-2 ...
           instance-2 value-3 value-4 ...
           ...

           where:

             table-name is the ascii representation of the MIB module
             table name in usual dotted notation.

             timestamp is the value of sysUptime on the agent when the
             snapshot of the data slice was taken.

             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.

     For example, an ifTable data slice file fragment might be:

      # interfaces.ifTable@28711187 ifDescr ifType ifInOctets
   ifOutOctets
      1 lo0 softwareLoopback 54550782 54552115
      2 eth0 ethernet-csmacd 372380346 2746062289
      3 eth0.0 ethernet-csmacd 4002949 126167


           If set to xml(3), the data will be saved in XML tagged
   format."
       ::= { xferEntry 4 }

   xferFileCompression OBJECT-TYPE
       SYNTAX      INTEGER {
                      none(1),
                      bzip(2),
                      gzip(3)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION



EOS Working Group         Expires January 2002                 [Page 13]


Internet Draft      SNMP Row Operations Extensions          13 July 2001


           "If set to none(1), no file compression will be applied
           before the data slice is uploaded 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.

           If a compression setting is used, it is acceptable to
           compress the data slice either on-the-fly or in advance of
           uploading to the fileserver."
       ::= { xferEntry 5 }

   xferFileServerManditory OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The primary target upload hostname or address to send the
           bulk file.  Successful upload to this host is required before
           the local agent copy can be deleted."
       ::= { xferEntry 6 }

   xferFileServerOptional OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The secondary upload hostname or address to send the bulk
           file.  Successful upload to this host is optional; an attempt
           is made to transfer the file to this host but successful
           upload is not required for the agent to be able to delete the
           local copy."
       ::= { xferEntry 7 }

   xferFileWriteControl OBJECT-TYPE
       SYNTAX      INTEGER {
                      failIfExists(1),
                      overwrite(2),
                      createNewVersion(3)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This defines the action to take when uploading bulk data to



EOS Working Group         Expires January 2002                 [Page 14]


Internet Draft      SNMP Row Operations Extensions          13 July 2001


           a fileserver.  If set to failIfExists(1) and a filename
           described by xferFilePath and xferFileName already exists,
           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 xferFilePath and
           xferFileName, even if one by that composite name already
           exists; if none exists by that composite name, a new
           file will be created.  If set to createNewVersion(3), the
           version number of the filename on the fileserver will be
           incremented if version numbering is supported on the
           fileserver."
       ::= { xferEntry 8 }

   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 9 }

   xferFileName OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The remote file name of the file that is to be saved on the
           fileserver.  For fileservers that support versioning, the
           appropriate version prefix or suffix is to be added to this
           base filename."
       ::= { xferEntry 10 }

   xferAuthUsername OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The user name to use at the FTP server."
       ::= { xferEntry 11 }

   xferAuthPassword OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The password to use at the FTP server."
       ::= { xferEntry 12 }



EOS Working Group         Expires January 2002                 [Page 15]


Internet Draft      SNMP Row Operations Extensions          13 July 2001


   xferState OBJECT-TYPE
       SYNTAX      INTEGER {
                      running(1),                    ready(2),
                      emptied(3),                    noSpace(4),
                      badName(5),                    writeErr(6),
                      noMem(7),                    buffErr(8),
                      aborted(9)
                   }
       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 read
           emptied    an ephemeral file was successfully consumed
           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
           buffErr    implementation buffer too small
           aborted    short terminated by operator command

           Only the 'ready' state implies that the file is available
           for transfer.

           The disposition of files after an error is implementation
           and file-syste specific."
       ::= { xferEntry 13 }

   xferStartTime OBJECT-TYPE
       SYNTAX      TimeStamp
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The value of sysUptime on the agent when the file transfer
           was initiated.  This variable is only valid upon the
   successful
           completion of a file transfer."
       ::= { xferEntry 14 }

   xferCompletionTime OBJECT-TYPE
       SYNTAX      TimeStamp
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The value of sysUptime on the agent when the file transfer
           was completed.  This variable is only valid upon the



EOS Working Group         Expires January 2002                 [Page 16]


Internet Draft      SNMP Row Operations Extensions          13 July 2001


           successful completion of a file transfer."
       ::= { xferEntry 15 }

   xferFileSize OBJECT-TYPE
       SYNTAX      Unsigned32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The actual size of the file (after optional file compression
           was applied) that was uploaded to the fileserver.  The size
           is measured in bytes.  This variable is only valid upon the
           successful completion of a file transfer."
       ::= { xferEntry 16 }

   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 or active will initiate
           a file transfer to the fileserver.

           Setting this variable to delete will delete this row entry
           and abort any file transfer in progress that corresponds
           to this row entry.

           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."
       ::= { xferEntry 17 }

   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



EOS Working Group         Expires January 2002                 [Page 17]


Internet Draft      SNMP Row Operations Extensions          13 July 2001


   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.

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
       L. Heintz

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



EOS Working Group         Expires January 2002                 [Page 18]


Internet Draft      SNMP Row Operations Extensions          13 July 2001


                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,
                "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>, July 2001.

   [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>, July 2001.

   [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>, July 2001.

   [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>, July 2001.

   [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



EOS Working Group         Expires January 2002                 [Page 19]


Internet Draft      SNMP Row Operations Extensions          13 July 2001


                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
                Network Management Protocol (SNMP)", <draft-ietf-
                snmpv3-mpd-v2-00.txt>, July 2001.

   [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>,
                July 2001.

   [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>, July
                2001.

   [RFC-APPL]   Levi, D., Meyer, P.  and B. Stewart, "SNMP
                Applications", <draft-ietf-snmpv3-apps-v2-00.txt>, July
                2001.

   [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>, July 2001.













EOS Working Group         Expires January 2002                 [Page 20]


Internet Draft      SNMP Row Operations Extensions          13 July 2001


11.  Editor's Addresses

   David L. Battle
   Cisco Systems
   204 Golfclub Rd
   Knoxville, TN 37919-5924

   Phone:      +1 865-588-7763
   EMail:      dbattle@cisco.com


   Bryan Levin
   Allegro Netowrks
   6399 San Ignacio
   San Jose, Ca 95199-1206

   Phone:      +1 408-281-5500
   EMail:      snmp@allegronetworks.com

































EOS Working Group         Expires January 2002                 [Page 21]


Internet Draft      SNMP Row Operations Extensions          13 July 2001


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 (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.

Acknowledgement




EOS Working Group         Expires January 2002                 [Page 22]


Internet Draft      SNMP Row Operations Extensions          13 July 2001


   Funding for the RFC Editor function is currently provided by the
   Internet Society.

















































EOS Working Group         Expires January 2002                 [Page 23]