[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Proposal


Following is a very rough draft of an updated "getCols" proposal:

   Internet Draft                                      David T. Perkins
   Document: draft-perkins-eos-gc-00.txt                       SNMPinfo
   Expires: March 2003                                   September 2002
                        SNMP Get Columns Operation 
Status of this Memo 
   This document is an Internet-Draft and is in full conformance with 
   all provisions of Section 10 of RFC2026 [1].  
   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-
   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 
   The list of Internet-Draft Shadow Directories can be accessed at 
   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 
   document are to be interpreted as described in [RFC2119]. 
   This document describes a new operation for the SNMP protocol between 
   a command generator and a command responder. It is used to 
   efficiently retrieve specified columns from a table. The values are 
   returned grouped by rows. The operation returns the rows in 
   lexigraphical order to allow multiple operations to be used when all 
   data cannot be returned in a single response. The operation also 
   supports a simple filtering operation that allows the command 
   responder to eliminate data unwanted by the command generator. 
1. Introduction 
   The SNMPv1 protocol has GET and GETNEXT operations to retrieve data. 
   Version 2 of the SNMP protocol operations has GET and GETNEXT 
   operations, and in addition has the GETBULK operation. For tables the 
   have a few number of rows in a table, these operations allow for 
   efficient retrieval all rows of a table. However, for tables with 
   more than 50 to 100 rows, these operations do not provide the needed 
   efficiency. The result is sluggish or applications that are so slow 
   that they become unusable. The GETCOLS operation described in this 
   document in much more efficient than these existing operations, also 
   fits well when the maximum message size is increased from 1000 to 
   32000 octets. The SNMPv3 protocol allows new operations to be added 
   without any changes to the protocol definition any many components of 
   a manager or agent. 
2. New PDU Definitions 
       ObjectName, ObjectSyntax, Integer32 
           FROM SNMPv2-SMI; 
   -- GETCOLS Request 
   GetColsRequest-PDU ::= 
    [XXX]                                -- 9? 
       SEQUENCE { 
           max-rows                      -- 0 = all 
                      SNMP Get Columns Operation        September 2002 

           start-after-inst              -- 0 = none 
               CHOICE { 
                   beginning NULL, 
                   named      _ OID { 0 0 <encoded index value> } 
                       OBJECT IDENTIFIER }  
           inst-filter Filter-spec, 
               SEQUENCE (0..max-bindings) OF Col-name 
   Col-name ::= OBJECT IDENTIFIER        -- ID (name) of column 
   Filter-spec ::= SEQUENCE OF Filter-item 
   Filter-item ::= CHOICE { 
       val-int [0] INTEGER, 
       val-str [1] OCTET STRING, 
       val-oid [2] OBJECT IDENTIFIER, 
       val-inst [8] OBJECT IDENTFIER, 
       val-col [9] OBJECT IDENTIFIER, 
       op-eq [10] NULL, 
       op-neq [11] NULL, 
       op-and [12] NULL, 
       op-or [13] NULL, 
       op-gt [14] NULL, 
       op-ge [15] NULL, 
       op-lt [16] NULL, 
       op-le [17] NULL 
   GetColsResponse-PDU ::= 
     [XXX]                               -- 10? 
       SEQUENCE { 
           error-status                     -- 0 = all 
           error-index                      -- 0 = none 
                      SNMP Get Columns Operation        September 2002 

   RowList ::= SEQUENCE (0..max-bindings) OF RowValues 
   RowValues ::= SEQUENCE { 
       row-inst OBJECT-IDENTIFIER, -- values is { 0 0 <encoded-index> } 
       col-values SEQUENCE OF Object-Syntax 
Security Considerations 
   Stuff here 
   References here  
   <Add any acknowledgements> 
Author's Addresses 
   David T. Perkins 
   3600 Benton Street #24 
   Santa Clara, CA 95051 
   Phone: 408 394-8702 
   Email: dperkins@dsperkins.com