Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
SNMPD(1)		  BSD General Commands Manual		      SNMPD(1)

     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 Pro-
     tocol).  It is intended to	serve only the absolute	basic MIBs and imple-
     ment 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
		 daemonize itself.

     -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 li-
			      brary (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 <> parentheses.

     -l	prefix	 The prefix is used as the default basename for	the pid	and
		 the configuration files.

     -m	variable[=value]
		 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 fol-
     lowing 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 in	which the 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 configu-
     ration 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 read during initialisation of	snmpd, when a module
     is	loaded and when	snmpd receives a SIGHUP.

     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.

     The configuration consists	of named sections. The MIB variable assign-
     ments in the section named	"snmpd"	are executed only during initial setup
     or	when snmpd receives a SIGHUP. All other	sections are executed when ei-
     ther a module with	the same name as the section is	loaded or snmpd	re-
     ceives 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 col-
     lected into one section.

     Another configuration file	can be included	into the current one with the
     include directive that takes one of two forms:

	   .include "file"
	   .include <"file">

     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 speci-
     fied in the system	include	path. Nesting depth is only restricted by
     available memory.

     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 ele-
     ment 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 ap-
     pended 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 ap-
     pended 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	unde-
     fined 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 <>


BSD				August 15, 2002				   BSD


Want to link to this manual page? Use this URL:

home | help