Correct FileDescription and InternalName
[ACE_TAO.git] / ACE / ASNMP / README
blob3d543a3d6582a3873ecd1ff7d8601a98e192a0f9
1 ====================================================================
2 ASNMP = ACE+SNMP++ Version 2.1
3 By Michael R. MacFaden mrm@acm.org, mrm@yagosys.com
4 ====================================================================
6 What is ASNMP ? ==> ACE+SNMP! aka Another SNMP API
7   HP's SNMP++ 2.5 freely available C++ SNMP class library
8   has been adapted to the ACE 4.2 Framework.
10 What is Simple Network Management Protocol(SNMP)?
11   See the FAQ:
12   http://www.snmp.com/FAQs/snmp-faq-part1.txt
13   http://www.snmp.com/FAQs/snmp-faq-part2.txt
15 What was changed from HP version?
16   See src/ChangeLog file.
18 Is HP SNMP++ compatible with ASNMP?
19   It is neither source nor binary compatible. About 10% of the API has changed.
20   There have been API changes to make the interface more orthogonal
21   and to reduce implementation complexity such as consolidating constructors
22   with default formal values, and to remove some inconsistencies
23   with the HP interface as well as locking down valid() semantics, etc.
25 What platforms have the test programs been verified on?
26   Solaris 2.4, 2.5.1 using SUN C++ 4.1,4.2 compiler. Linux/GCC
27   fixes are now in as well.
29 Why use this version?
30   The SNMP++ version ships only for HP-UX and for Windows.
31   It is not very portable nor does it do a good job at checking
32   for out of memory exhaustion conditions (asn1.cpp). There is some great
33   code here. ACE needs an SNMP library to build NM type
34   communications applications. Hence ASNMP was born in my spare time.
36 How does ASNMP differ from SNMP?
37   Current version uses ACE OS Adaption layer.  All memory
38   allocation is now consistent, uses ACE_NEW().
39   Standard ACE Debugging (ACE_TRACE) has been inserted.
40   ASNMP has less global namespace pollution by moving all non-class
41   functions into interface classes or made into static locals.
43   An agent intefarce has been added (asnmp/sagent.h) so both agents
44   and managers can use this class library. A trivial agent
45   exists in ASNMP/agent/
47   X11 GUI support removed from this version since this is
48   not the place to include GUI support in the new world of
49   multi-threaded apps.
51   The async interface does not match the HP implementation.
53 How to build this library
54   Set ACE_ROOT and platform_macros.GNU per ../INSTALL file.
55   create libasnmp.a, libasnmp.so and then run the tests
57 Any Support for ASNMP?
58    As time permits through github.
60 Where to ask questions?
61   Please use github issues or discussions at https://github.com/DOCGroup/ACE_TAO
62   or mrm@acm.org
64 NOTE: Please do not bother Eric Mellquist unless you are using
65    the original HP version of this library.
67 Where can I get the original HP SNMP++?
68    From ftp://rosegarden.external.hp.com:/pub/snmp++
70 What version of SNMP is fully supported?
71   SNMP Version 1 (RFC 1155,1157, 1215)
73 What about SNMP Version 2c?
74   V2c is defined in RFC 1901 - 1908
75   These bits are added to v1 code in this library: GetBulk PDU, Counter64
76   These bits are missing Inform (RFC 1905)
77   RFC 1903 defined new datatypes using existing SMI via macros.
78   These should be coded as if they were SMI datatypes to encapsulate
79   their behavior. V2c hasn't been deployed
81 What about SNMP Version 3?
82    It is looking good for V3, but so far, we're just watching.
83    http://www.ietf.org/html.charters/snmpv3-charter.html
84    A C implemenation is now available from UC Davis.
86 What copyrights/legal requirements are required when using this code?
87   See ./COPYRIGHT
89 Does this really work?
90   See tests/ directory  for the current test reports (purify/purecov/...).
92 How does one Extend an SNMP Agent?
93   Extending an agent typically means updating the agent source or
94   using a dynamic link style API. RFC 2257 (AgentX) is the current design
95   for doing this in a standard way. This hasn't been well formalized yet
96   so extending an existing agent is still a vendor API thing.
98   The agent provided here is a template. A mib compiler and agent
99   library typically provide better agent support. See the UC-Davis
100   SNMP software for an example Agent that is portable and can report
101   on many flavors of UNIX and Windows.
103 Any Future Plans?
104   The ASNMP library will be improved for performance and made to use
105   higher level design patterns. Hopefully it will be used as a
106   vehicle for grad students to learn something about network mgmt
107   code work a related cousin of general distributed programming.
110 Regards,
111 Michael R. MacFaden
112 Member of the Technical Staff
113 Cabletron Systems, Inc.
114 215 Moffet Park Drive
115 Sunnyvale, CA 94089
116 mrm@yagosys.com
117 http://www.yagosys.com
119 ====================================================================
120 SNMP++ For UNIX Source Code and Examples:
121 ====================================================================
122 Included within this package can be found the source code and
123 examples for SNMP++. The following represents the directories which
124 are included within the compressed tar file and their contents.
126 For more details on the API , please refer to the API specification.
128 This library is a complete implementation of SNMP++ and does not
129 require other SNMP libraries to be present.
131 Required Tools:
132 ---------------------------------------------------------------------
135 readme.txt ( this file)
138 |------ src ( .cpp files and Makefile for building libraries )
140 |------ examples ( a variety of apps, .cpp and Makefile included )
142 |------ tests - unit test routines
145 src Directory Contents:
146 --------------------------------------------------------------------
147 Makefile             - make file for ACE/Solaris 2. build
148 target.cpp           - Collection of attributes(address, timeout, etc) used
149                        to define a command session
150 snmp.cpp             - A logical session between NM app and agent
151 pdu.cpp              - Pdu class source (vb list and API command)
152 wpdu.cpp             - Adapter pattern based class between CMU and HP code
153 transaction.cpp      - synchronous transaction clss
154 vb.cpp               - Variable Binding class source (oid + value)
156 << SMI datatypes used to get/set values in SNMPv1 agents >>
158 address.cpp          - Address class source
159 gauge.cpp            - Gauge32 class source
160 integer.cpp          - Integer32 class source
161 counter.cpp          - Counter32 class source
162 ctr64.cpp            - Counter64 class source
163 timetick.cpp         - TimeTicks class source
164 octet.cpp            - Octet String class source
165 oid.cpp              - Oid class source
166 asn1.cpp             - ASN1 encoding and decoding code. CMU code.
168 examples Directory Contents:
169 ---------------------------------------------------------------------
170 Makefile             - make file for building console apps
171 get.cpp          - source for SNMP get program
172 next.cpp         - source for SNMP get Next program
173 set.cpp          - source for SNMP set program
174 trap.cpp         - source for SNMP trap send program
175 walk.cpp         - source for SNMP walk program