diff options
Diffstat (limited to 'plugin/erratic/README.md')
-rw-r--r-- | plugin/erratic/README.md | 76 |
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 + } +} +~~~ |