Man Linux: Main Page and Category List


     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

             This is specified within a Balance stanza. This value informs
             wackamole of the maximum number of interfaces it will assume
             responsibility 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
             recollect 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
             attempt 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
             netmask (the number of set bits in the netmask).  Note that many
             operating 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
             wackamole as to the netspace in which the IP sits.  As the
             netmask directly on the interface is often /32, it often does not
             illustrate 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
             responses 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.
             Wackamole 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
             virtual interfaces where brought online.

     post down
             This occurs after a balancing round during which one or more
             virtual 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


     wackamole(8) wackatrl(1)