snmpd -- simple and extendable SNMP daemon
snmpd [-dh] [-c file] [-D options] [-I paths] [-l prefix]
[-m variable[=value]] [-p file]
The snmpd daemon servers the internet SNMP (Simple Network Managment Protocol).
It is intended to server only the absolute basic MIBs and implement
all other MIBs through loadable modules. In this way the snmpd can
be used in unexpected ways.
The options are as follows:
-d This option is used for debugging snmpd and causes it not to
-h This option prints a short usage message.
-c file Use file as configuration file instead of the standard one.
-D options Debugging options are specified with a -o flag followed by a
comma separated string of options. The following options are
dump This option causes all sent and received PDUs to
be dumped to the terminal.
events This causes the debugging level of the event
library (see eventlib(3)) to be set to 10.
trace=level This option causes the snmp library trace flag
to be set to the specified value. The value can
be specified in the usual C-syntax for numbers.
-I paths This option specifies a colon separated list of directories
to search for configuration include files. The default is
/etc:/usr/etc/:/usr/local/etc. These paths are only searched
for include specified within <> parantheses.
-l prefix The prefix is used as the default basename for the pid and
the configuration files.
Define a configuration variable.
-p file Specify an alternate pid file instead of the default one.
The snmpd reads its configuration from either the default or the user
specified configuration file. The configuration file consists of the following
types of lines:
+o variable assignments
+o section separators
+o include directives
+o MIB variable assignments
If a line is too long it can be continued on the next line by ending it
with a backslash. Empty lines and lines who's first non-blank character
is a ``#'' sign are ignored.
All MIB variable assignments of the entire configuration (including
nested configuration files) are handled as one transaction, i.e. as if
they arrived in a single SET PDU. Any failure during the initial configuration
read causes snmpd to exit. A failure during the configuration read
caused by a module load causes the loading of the module to fail.
The configuration is red during initialisation of snmpd, when a module is
loaded and when snmpd receives a SIGHUP.
VARIABLE ASSIGNMENTS [Toc] [Back]
Variable assignments can take one of two forms:
variable := string
variable ?= string
The string reaches from the first non-blank character after the equal
sign until the first new line or ``#'' character. In the first case the
string is assigned to the variable unconditionally, in the second case
the variable is only assigned if it does not exist yet.
Variable names must begin with a letter or underscore and contain only
letters, digits or underscores.
SECTION SEPARATORS [Toc] [Back]
The configuration consists of named sections. The MIB variable assignments
in the section named ``snmpd'' are executed only during initial
setup or when snmpd receives a SIGHUP. All other sections are executed
when either a module with the same name as the section is loaded or snmpd
receives a SIGHUP and that module is already loaded. The default section
at the start of the configuration is ``snmpd''. One can switch to
another section with the syntax
Where secname is the name of the section. The same secname can be used in
more than one place in the configuration. All of these parts are collected
into one section.
INCLUDE DIRECTIVES [Toc] [Back]
Another configuration file can be included into the current one with the
include directive that takes one of two forms:
The first form causes the file to be searched in the current directory,
the second form causes the file to be searched in the directories specified
in the system include path. Nesting depths is only restricted by
MIB VARIABLE ASSIGNMENTS [Toc] [Back]
A MIB variable is assigned with the syntax
oid [ suboids ] = value
oid is the name of the variable to be set. Only the last component of the
entire name is used here. If the variable is a scalar, the index (.0) is
automatically appended and need not to be specified. If the variable is a
table column, the index ( suboids) must be specified. The index consist
of elements each seperated from the previous one by a dot. Elements may
be either numbers, strings or hostnames enclosed in  brackets. If the
element is a number it is appended to the current oid. If the element is
a string, its length and the ASCII code of each of its characters are
appended to the current oid. If the element is a hostname, the IP address
of the host is looked up and the four elements of the IP address are
appended to the oid.
For example a oid of
results in the oid
The value of the assignment may be either empty, a string or a number.
If a string starts with a letter or an underscore and consists only of
letters, digits, underscores and minus signs, it can be written without
quotes. In all other cases the string must be enclosed in double quotes.
A variable substitution is written as
where variable is the name of the variable to substitute. Using an undefined
variable is considered an error.
/etc/<prefix>.config Default configuration file, where the default
<prefix> is ``snmpd''.
/var/run/<prefix>.pid Default pid file.
This is the default search path for system include
The definitions for the MIBs implemented in the
The snmpd conforms to the applicable IETF RFCs.
Hartmut Brandt <email@example.com>
FreeBSD 5.2.1 August 15, 2002 FreeBSD 5.2.1 [ Back ]