%
%	$Header: snmpset.tex,v 1.1 89/01/15 19:59:43 jrd Exp $
%	Author: J. Davin
%	Copyright 1988, 1989, Massachusetts Institute of Technology
%

\newpage
\subsection{The Snmpset Command}

The snmpset command initiates a network management
request to remote management agent and displays the
response. It is coded to run in a BSD 4.3 UNIX environment.

The code for the snmpset command illustrates the use of the
Development Kit to accelerate development
of network management applications as well as the
use of the SNMP protocol {\it set} operation.

Sources for the snmpset command reside in the
\verb"snmpset" subdirectory of the Development Kit
distribution hierarchy.

The snmpset command attempts to alter the
items of management information named
according to the conventions of RFC 1067 to have values
specified by the user.
It is invoked with the syntax:

{\bf snmpset} [{\bf -h} {\it remoteHost}] [{\bf -p} {\it remotePort}]
[{\bf -c} {\it communityName}]
[{\bf -t} {\it timeout}]
[{\bf -i} {\it requestId}]
[{\it name kind value} ] $\ldots$

If the {\bf -h} flag is present, then the program
will send its management request
to the IP address specified as {\it remoteHost.}

If the {\bf -p} flag is present, then the program
will send its management request
to the UDP port specified as {\it remotePort,}
instead of that assigned to the ``snmp'' service
in the \verb"/etc/services" database.

If the {\bf -c} flag is present, then the program
will generate and accept management requests
associated with the community name specified as {\it communityName,}
instead of using the community name ``public.''

If the {\bf -i} flag is present, then the program
will identify its management request by
the number specified as {\it requestId,}
instead of using the value zero.

If the {\bf -t} flag is present, then the program
will terminate after the number of seconds
specified as {\it timeout,}
instead of waiting forever for a response from the
remote agent.

For example, the command

snmpset -h anyhost 1.3.6.1.2.1.1.1.0 OctetString ``hello''
1.3.6.1.2.1.1.2.0 ObjectId 1.2.3.4.5.6.7

has the (hypothetical) effect of altering the
\verb"sysDescr" and \verb"sysObjectId"
values for the host named {\it anyhost.} The former
is altered to the \verb"OctetString" value ``hello,''
whereas the latter is altered to the \verb"ObjectId"
value 1.2.3.4.5.6.7.

The kinds of values recognized are those enumerated in
RFC 1065:
\begin{quote}\small\begin{verbatim}
Integer
Counter
Guage
OctetString
ObjectId
IPAddr
TimeTicks
\end{verbatim}\end{quote}

