This file documents the GXSNMP library, a SNMPv3 library designed after the official SNMPv3 IETF RFC documents.

Copyright (C) 1998 Jochen Friedrich

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies, electronic or otherwise.

Permission is granted to copy and distributed modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distributed translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by Jochen Friedrich.

Copying
*******

libgxsnmp is free; this means that everyone is free to use it and free to redistribute it on a free basis. libgxsnmp is not in the public domain; it is copyrighted and there are restrictions on its distribution, but these restrictions are designed to permit everything that a good cooperating citizen would want to do. What is not allowed is to try to prevent others from further sharing any version of libgxsnmp that they might get from you.

Specifically, we want to make sure that you have the right to give away copies of libgxsnmp, that you receive source code or else can get it if you want it, that you can change libgxsnmp or use pieces of it in new free programs, and that you know you can do these things.

To make sure that everyone has such rights, we have to forbid you to deprive anyone else of these rights. For example, if you distribute copies of libgxsnmp, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must tell them their rights.

Also, for our own protection, we must make certain that everyone finds out that there is no warranty for libgxsnmp. If libgxsnmp is modified by someone else and passed on, we want their recipients to know that what they have is not what we distributed, so that any problems introduced by others will no reflect on our reputation.

The precise conditions of the licenses for libgxsnmp are found in the General Public Licenses that accompany it.

libgxsnmp is an implementation of the SNMPv3 network management protocol. It can be used for both synchronous and asynchronous communication between managed network devices. The synchronous API is usually used in simple command line applications while the async interface is being used by SNMP agents of graphical (GUI) programs. Both interfaces can be mixed and are completely reentrant to enable multithreaded applications.

SNMPv3 is the current proposed standard for the simple network protocol. It is the 3rd version of the Simple Network Management Protocol used by almost all current active network components as well as a rising number of applications. Examples of these managed applications are SPPS or HACMP from IBM. SNMP is also used more and more in general Systems management as a standard API for managed devices in a heterogenous computer environment.

SNMPv3 is the followup version of previous SNMPv1 and SNMPv2c protocol which are currently still in wide use. It is designed to eliminate some of the problems of SNMPv1 and SNMPv2c as e.g. the missing security functions like SNMP encryption or strong SNMP authentication. SNMPv3 is designed to be compatible with SNMPv1 and SNMPv2c and a coexisting document explains how to write SNMP applications supporting all versions of SNMP at the same time.

A basic introduction to SNMPv3 can be found in draft-ietf-snmpv3-intro-01.txt. [ Fill in the assigned IETF RFC number once available -- Jochen ] SNMPv3 is defined in RFC2271-2275. The coexistance with SNMPv1 and SNMPv2c is explained in draft-ietf-snmpv3-coex-00.txt.

All these documents can be found the the gxsnmp docs directory which might differ depending on the distribution being used (please refer to your distribution / packaging tools documentation).

The SNMPv3 RFCs define 4 modules for SNMP:

  * The Dispatcher Module

  * The Message Processing Module

  * The Security Module

  * The Access Module

Additionally, libgxsnmp implements:

  * The Transport Module

  * The Session Module

These modules and the interfaces to each module will be explained in the following chapters.