building an snmp proxy agent

Bert Wijnen <wijnen@uitvm2.vnet.ibm.com> Fri, 04 October 1991 09:10 UTC

Received: from psi.com by NRI.NRI.Reston.VA.US id aa01228; 4 Oct 91 5:10 EDT
Received: by psi.com (5.61/2.1-PSI/PSINet) id AA22030; Fri, 4 Oct 91 05:04:42 -0400
Received: from uu.psi.com by psi.com (5.61/2.1-PSI/PSINet) id AA21475; Fri, 4 Oct 91 04:47:58 -0400
Received: by uu.psi.com (5.65b/4.0.071791-PSI/PSINet) id AA21649; Fri, 4 Oct 91 04:46:15 -0400
Received: from IINUS1.IBM.COM by uu.psi.com (5.65b/4.0.071791-PSI/PSINet) id AA21638; Fri, 4 Oct 91 04:46:11 -0400
Message-Id: <9110040846.AA21638@uu.psi.com>
Received: from UITVM2 by vnet.ibm.com (IBM VM SMTP V2R1) with BSMTP id 7425; Fri, 04 Oct 91 04:48:23 EDT
Date: Fri, 04 Oct 1991 09:50:23 -0000
From: Bert Wijnen <wijnen@uitvm2.vnet.ibm.com>
To: snmp@uu.psi.com, dmitzel@whitney.hac.com
Cc: gcc@watson.ibm.com
Subject: building an snmp proxy agent

Some of your problems we tried to fix by doing an SNMP-DPI
(SNMP Distributed Program Interface), see RFC1228.

In short the idea is this:
 Problems:
   - In many cases (like yours), the agent developer does not have the
     time (or does not want) to learn all the SNMP PDU encoding/decoding
     and/or ASN.1 en/decoding.
   - Only one agent can connect to SNMP port 161.
   - You don't want to go into a running agent and change the source
     of a program that (in many cases) runs with root privileges
 Solution:
   - SNMP-DPI gives you a simple protocol to connect to an existing
     agent and register which variables you want to handle.
   - Agent does all en/decoding for you. You just deliver stuff via
     a couple of simple calls to functions provided with the DPI
     library. These are:
   - Agent multiplexes SNMP packages received/to_be_send via port 161.

SNMP-DPI is included in TCP/IP V2 for VM and MVS (IBM) and TCP/IP for
OS/2 (IBM).
There is also a public domain DPID package, which provides a DPI daemon
on top of a SMUX (RFC1227) capable agent.
It is available for anonymous ftp from
     ftp vm.utcs.utoronto.ca [128.100.100.2]
     cd anonymous.204
     binary
     get dpid.tarbin
     get ping_eng.tarbin
The ping engine is a useful sample of a SNMP-DPI sub-agent.
If you need other samples, feel free to contact me.

Bert Wijnen (wijnen@uitvm2.vnet.ibm.com)