aboutsummaryrefslogtreecommitdiff
path: root/plugin/erratic/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/erratic/README.md')
-rw-r--r--plugin/erratic/README.md76
1 files changed, 76 insertions, 0 deletions
diff --git a/plugin/erratic/README.md b/plugin/erratic/README.md
new file mode 100644
index 000000000..a41faaca9
--- /dev/null
+++ b/plugin/erratic/README.md
@@ -0,0 +1,76 @@
+# erratic
+
+*erratic* is a plugin useful for testing client behavior. It returns a static response to all
+queries, but the responses can be delayed, dropped or truncated.
+
+The *erratic* plugin will respond to every A or AAAA query. For any other type it will return
+a SERVFAIL response. The reply for A will return 192.0.2.53 (see RFC 5737), for AAAA it returns
+2001:DB8::53 (see RFC 3849).
+
+*erratic* can also be used in conjunction with the *autopath* plugin. This is mostly to aid in
+ testing.
+
+## Syntax
+
+~~~ txt
+erratic {
+ drop [AMOUNT]
+ truncate [AMOUNT]
+ delay [AMOUNT [DURATION]]
+}
+~~~
+
+* `drop`: drop 1 per **AMOUNT** of queries, the default is 2.
+* `truncate`: truncate 1 per **AMOUNT** of queries, the default is 2.
+* `delay`: delay 1 per **AMOUNT** of queries for **DURATION**, the default for **AMOUNT** is 2 and
+ the default for **DURATION** is 100ms.
+
+## Examples
+
+~~~ txt
+.:53 {
+ erratic {
+ drop 3
+ }
+}
+~~~
+
+Or even shorter if the defaults suits you. Note this only drops queries, it does not delay them.
+
+~~~ txt
+. {
+ erratic
+}
+~~~
+
+Delay 1 in 3 queries for 50ms
+
+~~~ txt
+. {
+ erratic {
+ delay 3 50ms
+ }
+}
+~~~
+
+Delay 1 in 3 and truncate 1 in 5.
+
+~~~ txt
+. {
+ erratic {
+ delay 3 5ms
+ truncate 5
+ }
+}
+~~~
+
+Drop every second query.
+
+~~~ txt
+. {
+ erratic {
+ drop 2
+ truncate 2
+ }
+}
+~~~