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

Re: Proposal



HI,

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-
   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. 
    
   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]. 
    
    
Abstract 
    
   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 
    
   GC-SNMP-PDU DEFINITIONS ::= BEGIN 
   IMPORTS 
       ObjectName, ObjectSyntax, Integer32 
           FROM SNMPv2-SMI; 
    
   -- 
   -- GETCOLS Request 
   -- 
   GetColsRequest-PDU ::= 
    [XXX]                                -- 9? 
       SEQUENCE { 
           request-id 
               Integer32, 
    
           max-rows                      -- 0 = all 
               Integer32, 
    
 
 
                      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, 
    
           request-cols 
               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 { 
           request-id 
               Integer32, 
    
           error-status                     -- 0 = all 
               Integer32, 
    
           error-index                      -- 0 = none 
               Integer32, 
    
           requested-values 
               RowList 
           } 
 
 
                      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 
    
                     
   References here  
    
    
    
Acknowledgments 
    
   <Add any acknowledgements> 
    
    
Author's Addresses 
    
   David T. Perkins 
   SNMPinfo 
   3600 Benton Street #24 
   Santa Clara, CA 95051 
    
   Phone: 408 394-8702 
   Email: dperkins@dsperkins.com