alfred - html man page (v2025.2-1-g16a7397)




DESCRIPTION
       alfred is a user space daemon for distributing arbitrary local informa-
       tion 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 in-
       sert 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 multi-
       cast, 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.

OPTIONS
       -v, --version
              Print the version

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

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

CLIENT OPTIONS
       -s, --set-data data-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  au-
              thors  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 for-
              get about it (after 10 minutes).

       -r, --request data-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-version version
              Specify the data version set for -s

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

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

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

       -B, --change-bat-iface interface
              Change the alfred server to use the new batman-adv interface

       -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

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

       -b batmanif
              Specify  the  batman-adv interface configured on the system (de-
              fault: 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 al-
              fred instances on the network unless the interface list is modi-
              fied 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  secon-
              daries  or got on their own) with other primaries. By using pri-
              maries 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 possi-
              ble (for maximum decentrality and overhead).

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

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

       -4 group-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.

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

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

       Retrieve all data stored as id 65 from all connected alfred servers:
            alfred -r 65
            { "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" },

SEE ALSO
       batadv-vis(8), batctl(8)

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@simonwunder-
       lich.de> and Sven Eckelmann <sven@open-mesh.com>.

Linux                            Sep 21, 2013                        ALFRED(8)

Man(1) output converted with man2html