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

FreeBSD Manual Pages


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

     bsnmpd -- simple and extensible SNMP daemon

     bsnmpd [-dh] [-c file] [-D	options] [-I paths] [-l	prefix]
	    [-m	variable[=value]] [-p file]

     The bsnmpd	daemon server the internet SNMP	(Simple	Network	Management
     Protocol).	 It is intended	to serve only the absolute basic MIBs and im-
     plement all other MIBs through loadable modules.  In this way the bsnmpd
     can be used in unexpected ways.

     The options are as	follows:

     -d		 This option is	used for debugging bsnmpd 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 bsnmpd	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 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 config-
     uration read causes bsnmpd	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 initialization of	bsnmpd,	when a module
     is	loaded and when	bsnmpd 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 bsnmpd receives a SIGHUP.	All other sections are executed	when
     either a module with the same name	as the section is loaded or bsnmpd 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 separated 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 host-
     name, 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 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
     /etc/hosts.allow, /etc/hosts.deny
			    Access controls that should	be enforced by TCP
			    wrappers should be defined here.  Further details
			    are	described in hosts_access(5).

     gensnmptree(1), hosts_access(5)

     The bsnmpd	conforms to the	applicable IETF	RFCs.

     Hartmut Brandt <>


BSD			       February	27, 2006			   BSD


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

home | help