4
# Copyright (C) 2003 Bald Guy Software <brian@bgsw.net>
6
# $Id: flamethrower.conf,v 1.3 2003/11/18 00:29:43 brianfinley Exp $
8
# NOTE: For additional details on many of these settings, see
12
################################################################################
16
################################################################################
18
# Starts the flamethrower daemon to allow multicast installs. (no man
21
START_FLAMETHROWER_DAEMON = yes
24
# Port number where the Flamethrower configuration database can be
25
# found on the Flamethrower server. (this is a udp-sender portbase
28
FLAMETHROWER_DIRECTORY_PORTBASE = 9000
31
# The network interface on the Flamethrower server that used to send out
39
# Limits bandwidth used by udpcast. Particularly useful in asynchronous
40
# mode, or else the sender may send too fast for the switch and/or
41
# receiver to keep up. Bitrate may be expressed in bits per second
42
# (--bitrate 5000000), kilobits per second ("--bitrate 5000k") or
43
# megabits per second ("--bitrate 5M"). This is the raw bitrate,
44
# including packet headers, forward error correction, retransmissions,
45
# etc. Actual payload bitrate will be lower.
47
# Here are some defaults that we've found to be generally acceptable
48
# based on the slowest network link between your clients and your
60
# Use this option if you *know* all the connections between your clients
61
# and server will be running full-duplex network. If you enable this
62
# setting, and are not on a full-duplex network, you man experience a
63
# significant performance hit.
65
# On high-latency WAN links, the full-duplex option can lead to
66
# substantial performance improvements, because it allows udp-sender to
67
# send more data while it is still waiting for the previous batch to get
73
# Number of clients that must connect before the casting begins.
74
# Superceeded if --max-client-wait times out. Default is 1.
79
# Initiate the cast after SEC seconds, even if the number of clients
80
# specified by --min-clients have yet to connect.
85
# Wait at least SEC seconds before initiating the cast, even if the
86
# number of clients specified by --min-clients have already connected.
91
# Do not open target (disk) in synchronous mode. Useful when dumping
92
# to a mounted filesystem, rather than to a raw partition.
97
# Turns ugly debug information on. Use if things aren't working and you
98
# can't figure out why -- it may help.
103
# Directory where flamethrower will keep it's directory information (in
104
# sourceable shell script format).
106
FLAMETHROWER_DIRECTORY_DIR = /var/lib/systemimager/flamethrower
109
# Directory where flamethrower will keep it's state information.
111
FLAMETHROWER_STATE_DIR = /var/state/systemimager/flamethrower
114
# Starts transmission after N retransmissions of hello packet, with-
115
# out waiting for a key stroke. Useful for unattended operation, where
116
# udp-sender is started from a cron-job for a broadcast/multi-cast at
122
# Packet size. The default (and maximum) is 1456.
127
# Use Ethernet broadcast, rather than multicast. Useful if you have
128
# Ethernet cards which don't support multicast.
130
# By default, "udpcast" uses multicast. This allows sending the data
131
# only to those receivers that requested it. Ethernet cards of machines
132
# which don't participate in the transmission automatically block out
133
# the packets at the hardware level. Moreover, network switches are
134
# able to selectively transmit the packets only to those network ports
135
# to which receivers are connected. Both features thus allow a much
136
# more efficient operation than broadcast. This option should only be
137
# supplied on the sender.
142
# Enables forward error correction. The goal of forward error
143
# correction is to transmit redundant data, in order to make up for
144
# packets lost in transit. Indeed, in unidirectional mode, the receivers
145
# have no way of requesting retransmission of lost packets, thus the
146
# only way to address packet loss is to include redundant information to
147
# begin with. The algorithm is designed in such a way that if
148
# redundant packets are transmitted, that those can be used to
149
# compensate for the loss of any r packets in the same FEC group
152
# In order to increase robustness of the FEC algorithm against burst
153
# packet losses, each slice is divided in interleave stripes. Each
154
# stripe has stripesize blocks (if not specified, stripesize is cal-
155
# culated by diving slice-size by interleave). For each stripe,
156
# redundancy FEC packets are added. Stripes are organized in such a
157
# fashion that consecutive packets belong to different stripes. This
158
# way, we ensure that burst losses affect different stripes, rather than
159
# using all FEC packets of a single stripe.
161
# Comments from udpcast creator, Alain:
162
# Udpcast supports FEC (forward error correction) mode, which should
163
# make it suitable for monodirectional (or high latency) communication.
165
# The way it works is that for n data packets, k "error correction" are
166
# computed, and also transmitted. The protocol can then compute all data
167
# packets using _any_ n packets (for instance n-3 data packets and 3
168
# error correction packets). Thus, no acknowlegments are needed.
170
# Just start the sender with the --fec and --async options.
172
# With FEC, you can tune udpcast for whatever reliability you need (just
173
# increase number of redundant packets per slice, or decrease number of
174
# data packets). If you expect packet losse to come in bursts, you may
181
# Now with all that said, it appears as though FEC must be used at this
182
# point, in order for SystemImager's flamethrower client to work properly.
185
# This setting should be specified in the form of:
187
# STRIPESxREDUNDANCY/STRIPESIZE
192
# Asynchronous mode. Do not request confirmations from the receiver.
193
# Best used together with forward error correction and bandwidth lim-
194
# itation, or else the receiver will abort the reception as soon as it
195
# misses a packet. When the receiver aborts the reception in such a
196
# way, it will print a list of packets lost in the slice causing the
197
# problem. You can use this list to tune the forward error correction
203
# Logs some stuff into file. Module specific data goes into
204
# "$LOG/$module_name".
206
LOG = /var/log/flamethrower
209
# Uses the given address for multicasting the data. If not specified,
210
# the program will automatically derive a multicast address from its own
211
# IP (by keeping the last 27 bits of the IP and then prepending 232).
213
# This setting should be specified in the form of:
217
#MCAST_ADDR <the default is automatically determined>
220
# Uses a non-standard multicast address for the control connection
221
# (which is used by the sender and receivers to "find" each other).
222
# This is not the address that is used to transfer the data.
224
# By default "mcast-all-addr" is the Ethernet broadcast address if "ttl"
225
# is 1, and 224.0.0.1 otherwise. This setting should not be used except
226
# in very special situations, such as when 224.0.0.1 cannot be used for
229
# This setting should be specified in the form of:
231
# AAA.BBB.CCC.DDD (224.0.0.1)
233
#MCAST_ALL_ADDR <the default is automatically determined>
236
# Slice size (expressed in blocks). Explicitly declare slice size.
241
# Minimum slice size (expressed in blocks). When dynamically adjusting
242
# slice size, never use smaller slices than this. Ignored when
243
# "FULL_DUPLEX = on".
248
# Maximum slice size (expressed in blocks). When dynamically adjusting
249
# slice size, never use slices larger than this. Ignored when
250
# "FULL_DUPLEX = on".
252
#MAX_SLICE_SIZE = 1024
255
# Point-to-point mode. Only a single receiver is allowed, but the data
256
# will be directly send to this receiver (in unicast mode), rather than
257
# using multicast or broadcast. If "ASYNC = off", and there happens to
258
# be only one receiver, point-to-point is activated automatically.
260
# If "POINTOPOINT = off", then unicast will not be used even if there is
266
# If set, re-broadcasts the HELLO packet used for initiating the casting
267
# every N milliseconds.
269
# This option is useful, together with "ASYNC = on", because with async mode
270
# the receiver won't send a connection request to the sender (and hence
271
# won't get a connection reply). In async mode, the receivers get all
272
# the information about the cast from from the HELLO packet, and are thus
273
# particularly dependant on the reception of this packet, making
274
# re-transmission useful.
276
# This option is also useful on networks where packet loss is so high,
277
# that even with connection requests, sender and receiver would not find
278
# each other otherwise.
280
# Defaults to "0", but is automatically adjusted to "1000" if
281
# "ASYNC = on", unless a non-zero value is specified here.
283
#REXMIT_HELLO_INTERVAL = 0
286
# Sets the time-to-live parameter for the multicast packets. Should
287
# theoretically allow one to use multicast beyond the local network, but
288
# has not been thoroughly tested.
290
# The value specified here is the number of networks to which the multicast
291
# should extend. Each hop (through a router) decrements this value by
292
# one (1). If a packet enters a router with a value of one (1), it gets
293
# decremented to zero (0), and is dropped before it leaves that router.
295
# In other words, if this is set to one (the default), your multicast
296
# packets won't leave your immediate network.
301
################################################################################
303
# MODULE SPECIFIC SETTINGS
306
# The following settings are required for each module:
309
# DIR = /path/to/my/modules/directory/
312
# The following per module settings are optional. See comments
313
# in the section above for details on these settings:
316
# (automatically determined by flamethrowerd at run time
329
# B - This option is used by both client and server.
330
# C - This option is only used by the client.
331
# S - This option is only used by the client.
335
# This file should not be edited directly, as it is managed by
336
# SystemImager and is dynamically created. If you need to make a
337
# modification to a module_entry,
339
################################################################################