Date: Wednesday 16 February 1994, 12:09:09 CET
From: "Bert Wijnen" <wijnen@vnet.ibm.com>
To:   SNMP DPI developers
Subject: DPI version 2.0 - Freely Available SNMP DPI 2.0 API
Version: 0.01

/*********************************************************************/
/*                                                                   */
/* Copyright    - (C) International Business Machines Corp. 1994     */
/*                                                                   */
/*   Permission to use, copy, modify, and distribute this software   */
/*   and its documentation for any lawful purpose and without fee is */
/*   hereby granted, provided that this notice be retained unaltered,*/
/*   and that the names of IBM and all other contributors shall not  */
/*   be used in advertising or publicity pertaining to distribution  */
/*   of the software without specific written prior permission.      */
/*   No contributor makes any representations about the suitability  */
/*   of this software for any purpose.  It is provided "as is"       */
/*   without express or implied warranty.                            */
/*                                                                   */
/*   IBM AND ALL OTHER CONTRIBUTORS DISCLAIM ALL WARRANTIES WITH     */
/*   REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF    */
/*   MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, TITLE,    */
/*   AND NON-INFRINGEMENT.                                           */
/*                                                                   */
/*   IN NO EVENT SHALL IBM OR ANY OTHER CONTRIBUTOR BE LIABLE FOR    */
/*   ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, WHETHER IN      */
/*   CONTRACT, TORT, OR OTHER FORM OF ACTION, ARISING OUT OF OR IN   */
/*   CONNECTION WITH, THE USE OR PERFORMANCE OF THIS SOFTWARE.       */
/*                                                                   */
/*********************************************************************/

   This directory contains a developers toolkit for DPI sub-agent
   developers and or prgrammers who want to include the DPI 2.0
   protocol in their SNMP agent.

   You have the choice to obtain a regular tar file or a compressed
   tar file. The files (at software.watson.ibm.com) are:

          README          - this file
          dpi20api.tar    - plain tar file
          dpi20api.tar.Z  - compressed tar file
    
   I have compiled the code with the following compilers:

          IBM C-Set++ compiler on OS/2 2.1
          IBM XL C compiler on AIX 3.2
          Metaware High C compiler on AIX/ESA V2 R2

   To install, you must FTP the (compressed) tar file to from the
   server (software.watson.ibm.com - /pub/dpi) and untar the files
   into a directory.

       ftp obtain the dpi20api.tar file from software.watson.com
       mkdir dpi20api  
       cd    dpi20api
       tar -xvf ../dpi20api.tar

   The following files should now be in the dpi20api directory:

   dpi20rfc.txt    - The draft DPI version 2.0 RFC as it is being
                     submitted for publication.
   dpi20ref.txt    - The DPI version 2.0 Programmers Reference in
                     ASCII format (same page layout as RFC)
   snmp_mDPI.c     - The base code that encodes/decodes DPI packets
                     system independent
   snmp_qDPI.c     - The system independent code for query_DPI_port
   snmp_lDPI.c     - The somewhat system dependent code for transport
                     related DPI API functions. You may need to adapt
                     this file to your needs.
   snmp_lDPI.h     - Include file used within the above 3 snmp_.DPI.c
                     files. It is not needed by the DPI sub-agent 
                     programmer.
   dpi_version.h   - DPI version include file
   snmp_dpi.h      - The DPI version 2.0 include file.
                     This is the file that exposes the SNMP DPI API.
   snmp_dpi1.h     - The DPI version 1.1 compatibility include file
                     Will be included by snmp_dpi.h file if the
                     programmers asks for 1.1 compatibilty.
   Makefile        - Makefile to build the dpisample sub-agent
                     (this is the AIX 3.2 sample, should work on most
                     systems or need very little change).
   Make.aix32        Makefile for AIX 3.2 system
   Make.os21         Makefile for OS/2 2.1 system
   dpi_sample.c    - A simple sample DPI 2.0 sub-agent.
                     An explanation of the code is included in 
                     the DPI 2.0 Programmers Reference.
   dpiSimple.mib   - The dpiSimpleMib as implemented by the
                     dpi_sample.c program.
   README          - This readme file.

   To generate the dpisample sub-agent, issue:
       make 
   Then to run it issue:
       dpisample
   Or if you want to see trace info:
       dpisample -d 2
   Now.. it tries to obtain the dpiPort from the agent at the so
   called "localhost". Your agent may not have DPI support yet, so
   you will not see much happen. For instance, you may not have 
   "localhost" defined, in which case you may need to change the
   dpi_sample.c file. If you do have a "localhost", and an SNMP
   agent is active, then you may see a timeout message if it does
   not have DPI support. So then, the next step is to implement a
   DPI capable SNMP agent or find one that you can use.
   See the dpi20ref.txt file (DPI Programmers Reference) for more
   information.

   Your comments will be appreciated. If you need to make any fixes
   to the code, please inform the author also.

   Notes:
   1.The mkDPIbulk function has not yet been implemented.
   2.There is a SNMPDPI mailing list. You can send you email to:

          snmpdpi@watson.ibm.com

   3.To subscribe/unsubscribe send e-mail with the subject line
     containing SUBSCRIBE (or UNSUBSCRIBE) to:

          snmpdpi-request@watson.ibm.com

   4.You can also contact the author directly at the e-mail address
     listed below.

Bert Wijnen
IBM VNET:  wijnen at uitvm1
Internet:  wijnen@vnet.ibm.com
