Added an option to manually specify which address to bind to.
[distributedratelimiting.git] / drl / Manual.txt
index ba2e259..0835a56 100644 (file)
@@ -58,7 +58,8 @@ responsiveness but incur higher overhead.  NOTE: this is in milliseconds.
 Generally, 500ms works well for FPS.  GRD needs a faster interval, generally
 50-100ms.
 
-drl_logfile specifies where the drl logfile should be written.
+drl_logfile specifies where the drl logfile should be written.  DRL will
+reopen the logfile when it receives SIGHUP.
 
 drl_loglevel specifies the verbosity of logging. 1 - Debug, 2 - Info, 3 -
 Critical.  You probably know if you want Debug...  Info logs detailed traffic
@@ -70,11 +71,22 @@ file that is used to configure identities (discussed below).
 
 Optionally, the ulogd.conf file can contain:
 
+create_htb <int>
+Whether or not ulogd should rebuild the htb hierarchy (when using FPS). 0 will
+not rebuild it, any other value will.  Set this to zero when the hierarchy is
+managed externally (for instance, by PlanetLab's node manager).  When this is
+set to 0, identities require htb_node and htb_parent properties in the drl xml
+config.
+
 enforce_on <int>
 Whether or not to turn enforcement on by default at startup.  0 for off,
 anything else for on.  If unspecified, it defaults to 1.  Enforcement can be
 turned on/off at runtime with SIGUSR1.
 
+bind_addr <IP address string>
+Can be used to optionally specify which address DRL should use when binding
+its inter-limiter communication socket.
+
 netem_loss <int>
 netem_delay <int>
 netem_slice <int|ALL>
@@ -83,10 +95,9 @@ These specifiy an artifical packet loss rate (%) or delay (ms) and the slice
 xid or the string ALL if it should apply to all slices.  These are useful for
 experimentation.
 
-
 The second file (whose location is determined by drl_configfile) is an XML
 file containing a series of DRL identity specifications. Sending the ulogd
-process SIGHUP will cause it to re-read this XML config file.  DRL supports
+process SIGUSR2 will cause it to re-read this XML config file.  DRL supports
 two types of identities.  1) machine identities: A machine identity is
 responsible for limiting all traffic that leaves a machine, regardless of the
 traffic's sliver of origin.  2) set identities: A set identity is responsible
@@ -154,6 +165,10 @@ if omited.
 comm_intervals is similar to loop_intervals, but it schedules communication
 with peers.  Assumes 1 if omitted.
 
+htb_node & htb_parent specify which htb_node and htb_parent an identity should
+modify when the ulogd process is instructed not to rebuild the htb hierarchy
+(create_htb=0 in ulogd.conf).
+
 Optionally, a set identity can be specified as independent, in which case it
 will not be limited by any machine identities on the node.  Assumes 0 if
 omitted.
@@ -181,4 +196,8 @@ A "real" example:
     </set>
 </drl>
 
-This creates one identity numbered 11 with a 10mbps limit.  It uses a gossip communication protocol to disseminate updates with a branching factor of two.  It uses a standard flow table with an ewma smoothing value of 0.1.  The identity has six peers, and it limits only the traffic associated with the slide whose xid is 207.
+This creates one identity numbered 11 with a 10mbps limit.  It uses a gossip
+communication protocol to disseminate updates with a branching factor of two.
+It uses a standard flow table with an ewma smoothing value of 0.1.  The
+identity has six peers, and it limits only the traffic associated with the
+slide whose xid is 207.