logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

alfred - Almighty Lightweight Fact Remote Exchange Daemon

Author

       alfred was written by Simon Wunderlich <sw@simonwunderlich.de> and Sven Eckelmann <sven@open-mesh.com>.

       This manual page was written by Simon Wunderlich <sw@simonwunderlich.de> and Sven  Eckelmann  <sven@open-
       mesh.com>.

Linux                                             Sep 21, 2013                                         ALFRED(8)

Client Options

-s, --set-datadata-type
              Sets new data to distribute from stdin for the supplied data type (0-255).

              Note  that  0  -  63  are reserved (please send an e-mail to the authors if you want to register a
              datatype), and can not be used on the commandline. Information must be periodically written  again
              to alfred, otherwise it will timeout and alfred will forget about it (after 10 minutes).

       -r, --requestdata-type
              Collect data from the network and print on stdout

       -d, --verbose
              Show extra information in the data output

       -d, --force
              Start server even when batman-adv or interface(s) are not yet available.

       -V, --req-versionversion
              Specify the data version set for -s

              Skipping the parameter entirely has the same effect as setting the parameter to 0 ('-V 0').

       -M, --modeswitchmodeprimary
                  Switch daemon to mode primary
              secondary
                  Switch daemon to mode secondary

       -I, --change-interfaceinterface
              Change the alfred server to use the new interface(s)

       -B, --change-bat-ifaceinterface
              Change the alfred server to use the new batman-advinterface-S, --server-status
              Request server status information such as mode & interfaces

       -E, --event-monitor
              Start alfred event monitor connecting to the alfred server and reporting update events

Description

       alfred is a user space daemon for distributing arbitrary local information over the mesh/network in a
       decentralized fashion. This data can be anything which appears to be useful - originally designed to
       replace the batman-adv visualization (vis), you may distribute hostnames, phone books, administration
       information, DNS information, the local weather forecast ...

       alfred runs as daemon in the background of the system. A user may insert information by using the alfred
       binary on the command line, or use special programs to communicate with alfred (done via unix sockets).
       alfred then takes care of distributing the local information to other alfred servers on other nodes. This
       is done via IPv6 link-local multicast, and does not require any configuration. A user can request data
       from alfred, and will receive the information available from all alfred servers in the network.

Examples

       Start  an  alfred server listening on bridge br0 (assuming that this bridge includes the batman interface
       bat0):
            alfred-ibr0-m

       Send data to the alfred server and store it under id 65:
            cat/etc/hostname|alfred-s65

       Retrieve all data stored as id 65 from all connected alfred servers:
            alfred-r65
            { "fe:f1:00:00:01:01", "OpenWRT-node-1\x0a" },
            { "fe:f1:00:00:02:01", "OpenWRT-node-2\x0a" },
            { "fe:f1:00:00:03:01", "OpenWRT-node-3\x0a" },

Name

       alfred - Almighty Lightweight Fact Remote Exchange Daemon

Options

-v, --version
              Print the version

       -h, --help
              Display a brief help message.

       -u, --unix-pathpath
              path to unix socket used for client-server communication.

See Also

batadv-vis(8), batctl(8)

Server Options

-i, --interfaceiface
              Specify the interface (or comma separated list of interfaces) to listen on.  Use 'none' to disable
              interface operations.

       -bbatmanif
              Specify  the batman-adv interface configured on the system (default: bat0).  Use 'none' to disable
              the batman-adv based best server selection.

              The interface option -i is optional. If interface 'none' is specified, the alfred daemon will  not
              communicate  with  other  alfred instances on the network unless the interface list is modified at
              runtime via the unix socket.  The -b option is optional, and only needed if you run  alfred  on  a
              batman-adv  interface  not  called bat0, or if you don't use batman-adv at all (use '-b none'). In
              this case, alfred will still work but will not be able to find the best next primary server  based
              on metrics.

       -m, --primary
              Start  up  the daemon in primary mode, which accepts data from secondaries and syncs it with other
              primaries.

              alfred servers may either run as primary or secondary in  the  network.  Primaries  will  announce
              their  status  via broadcast, so that secondaries can find them.  Secondaries will then send their
              data to their nearest primary (based on TQ).  Primaries will exchange their data (which they  have
              received  from  secondaries  or  got  on  their  own) with other primaries. By using primaries and
              secondaries,  overhead  can  be  reduced  while  still  keeping  redundancy  (by  having  multiple
              primaries).  Obviously,  at  least  one  primary  must  be  present in the network to let any data
              exchange happen. Also having all nodes in primary mode is possible (for maximum  decentrality  and
              overhead).

       -c, --update-commandcommand
              Specify command to execute on data change. It will be called with data-type list as arguments.

       -p, --sync-periodperiod
              Specify  alfred  synchronization period, in seconds. If not specified, the default ALFRED_INTERVAL
              setting of 10 seconds will be used. Fractional seconds are supported.

       -4group-address
              Specify  the  IPv4  multicast  group  address  and  enable  IPv4  data-sharing   (disabling   IPv6
              communication). This option is required on systems that do not support IPv6 addressing.

Synopsis

alfred[options]

See Also