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

FreeBSD Manual Pages


home | help
WACKAMOLE.CONF(5)	  FreeBSD File Formats Manual	     WACKAMOLE.CONF(5)

     wackamole.conf -- Wackamole daemon	configuration file


     wackamole reads its configuration information from	wackamole.conf (or the
     file specified with -c on the command line).

     Spread  The spread	daemon to which	wackamole should connect.  Default
	     value is "4803".

	     The time interval between a failed	attempt	to connect to Spread
	     and the next attempt.  Default "5s".

     Group   The Spread	group overwhich	all wackamole instances	in the cluster
	     will communicate.

	     The file (unix domain socket) on which wackamole will listen for
	     and to which wackatrl will	send out-of-band administrative	com-

	     This is specified within a	Balance	stanza.	This value informs
	     wackamole of the maximum number of	interfaces it will assume re-
	     sponsibility for in a single balancing roung.  Possible values
	     are non-negative integers and the keywork "all".

	     This is specified within a	Balance	stanza.	 This value specifies
	     how long each balancing round is to take.	The default is "4s".

	     Sample Balance stanza:

		   Balance {
		     AcquisitionsPerRound = all
		     interval =	4s

     Mature  Desribing the time	interval required before an new	node becomes
	     mature and	can assume responsibilities.  The default value	is

	     This time interval	is the interval	at which wackamole will	recol-
	     lect local	arp cache information and share	it with	its peers.
	     The default is "60s".

     Prefer <IP>
	     Tells wackamole that this IP address is preferred and that	an at-
	     tempt should be made to assume responsibility for the VIF headed
	     by	this IP.  Use of this option is	discouraged as wackamole can
	     typically make decisions all by its lonesome.

	     This stanza describes the virtual interfaces (and the virtual IP
	     addresses those interfaces	contain) that wackamole	will manage.
	     A virtual interface can be	a single IP address of the form:


	     Interfaces	may consist of multiple	grouped	IPs (that cannot be
	     separated)	by specifiying them in braces:

		   { int:IP/CIDR int:IP/CIDRnNET int:IP/CIDR }

	     int in the	syntax represents the physical interface on which the
	     IP	address	will be	managed	( e.g. fxp0, eth1, en0,	hme0 ).	 IP is
	     a standard	form IPv4 address.  CIDR is the	numeric	CIDR-form net-
	     mask (the number of set bits in the netmask).  Note that many op-
	     erating systems ( FreeBSD,	Solaris, Mac OS	X) recommend that
	     aliases be	added with a netmask of	0xffffffff and in these	cases,
	     /32 is the	appropirate CIDR to use.  NET provides a hint to wack-
	     amole as to the netspace in which the IP sits.  As	the netmask
	     directly on the interface is often	/32, it	often does not illus-
	     trate that	ARP spoofs can be sent to other	IPs (as	none lie in
	     its directly attached netspace.  NET is a way of effectively
	     telling wackamole the directly attached IP	network	that ARP re-
	     sponses could be sent to.	If NET is not specified, it is assumed
	     to	be a n24.

	     With the exception	of the interface name and perhaps the netmask,
	     these stanzas must	be across all machines in the cluster.	Wack-
	     amole manages IP addresses	by both	index number and IP address,
	     so	it is fundamental that the lists look the same and be in the
	     same order.

	     Sample VirtualInterfaces stanza:

		   VirtualInterfaces {

	     Sample multi-IP VirtualInterfaces stanza:

		   VirtualInterfaces {
		       { fxp0: fxp1: }
		       { fxp0: fxp1: }

     Wackamole allows for user-defined actions to occur	when HA	events occur.
     There are four types of events:

     on	up   This occurs when a	virtual	interface is brought online.

     on	down
	     This occurs when a	virtual	interface is brought offline.

     post up
	     This occurs after a balancing round during	which one or more vir-
	     tual interfaces where brought online.

     post down
	     This occurs after a balancing round during	which one or more vir-
	     tual interfaces where brought offline.

     Wackamole allows shared objects to	loaded and executed during any of
     these events by specifying:

     RunDynamic	module:func event

     module is a shared	object (or dyld	bundle)	that can be loaded using the
     operating systems dynamic run-time	loader (dlopen or dyld).  func is the
     name of the symbol	to be referenced from that object and invoked.	event
     is	one of the four	events listed above.

     Wackamole also has	an optional embedded perl interpreter which allows
     modules written in	perl to	be loaded and executed.	 Perl specific options

	     Takes a directory as a parameter and is effectively the same as
	     performing	use lib	within perl.

	     Takes a module as a parameter and performs	a use on it making it
	     available for use within wackamole.

     The RunDynamic directive envokes perl methods if two colons (::) are used
     to	seperate the module from the func.  Sample execution of
     MyModule::DoMagic on a post up event:

	   PerlUseLib /opt/wackamole/site
	   PerlUse MyModule
	   RunDynamic MyModule::DoMagic	post up

     Yair Amir <> Ryan Caudy <>
     Aashima Munjal <> Theo Schlossnagle <je->

     wackamole(8) wackatrl(1)

FreeBSD	13.0			 May 06, 2014			  FreeBSD 13.0


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

home | help