Fix to make ulogd daemonize properly with drl.
[distributedratelimiting.git] / drl / raterouter.h
index 958ef4e..06f8069 100644 (file)
 
 enum policies { POLICY_GRD = 1, POLICY_FPS = 2 };
 enum commfabrics { COMM_MESH = 1, COMM_GOSSIP = 2 };
-enum accountings { ACT_STANDARD = 1, ACT_SAMPLEHOLD = 2, ACT_SIMPLE = 3 };
+enum accountings { ACT_STANDARD = 1, ACT_SAMPLEHOLD = 2, ACT_SIMPLE = 3, ACT_MULTIPLE = 4 };
+enum dampenings { DAMPEN_NONE = 0, DAMPEN_TEST = 1, DAMPEN_FAILED = 2, DAMPEN_PASSED = 3, DAMPEN_SKIP = 4 };
+enum memberships { SWIM = 1, ZOOKEEPER = 2 };
+enum failure_behaviors { PANIC = 1, QUORUM = 2 };
 
 /* The comm library also has definitions for comfabrics. This prevents us
  * from defining them twice. */
 #define COMM_DEFS
 
 /* global constants */
-#define IDENT_CLEAN_INTERVAL 10 /* in seconds */
+#define IDENT_CLEAN_INTERVAL 5 /* in seconds */
 
 #define LIMITER_LISTEN_PORT 9001
 
@@ -57,9 +60,11 @@ enum accountings { ACT_STANDARD = 1, ACT_SAMPLEHOLD = 2, ACT_SIMPLE = 3 };
  *
  * This is used for FPS only.  See estimate.c
  */
-#define FLOW_START_THRESHOLD (6000)
+#define FLOW_START_THRESHOLD (10000)
 
-#define CLOSE_ENOUGH (0.99)
+#define CLOSE_ENOUGH (0.90)
+
+#define GRD_BIG_DROP (0.90)
 
 /**
  * All fields come from the ip protocol header.
@@ -74,6 +79,16 @@ enum accountings { ACT_STANDARD = 1, ACT_SAMPLEHOLD = 2, ACT_SIMPLE = 3 };
  */
 #define FLOWKEYSIZE (13)
 
+/* Causes each identity to track every flow in two tables.  One table is as
+ * specified in the config file.  The second is a standard table with
+ * "perfect" accounting so that we can compare the two.  Turn this off for 
+ * any type of production setting. */
+//#define SHADOW_ACCTING
+
+/* Turn this on to simulate network partitions.
+ * Turn off for production settings. */
+#define ALLOW_PARTITION
+
 /* forward declare some structs */
 struct limiter;
 struct identity;