diff options
Diffstat (limited to 'middleware/erratic/README.md')
-rw-r--r-- | middleware/erratic/README.md | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/middleware/erratic/README.md b/middleware/erratic/README.md index fe5aa5338..5407c9a7b 100644 --- a/middleware/erratic/README.md +++ b/middleware/erratic/README.md @@ -1,8 +1,11 @@ # erratic *erratic* is a middleware useful for testing client behavior. It returns a static response to all -queries, but the responses can be delayed by a random amount of time or dropped all together, i.e. -no answer at all. +queries, but the responses can be: + +* delayed by some duration +* dropped all together +* the truncated bit can be set The *erratic* middleware 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 @@ -13,11 +16,13 @@ a SERVFAIL response. The reply for A will return 192.0.2.53 (see RFC 5737), for ~~~ txt erratic { drop [AMOUNT] + truncate [AMOUNT] delay [AMOUNT [DURATION]] } ~~~ -* `drop`: drop 1 per **AMOUNT** of the queries, the default is 2. +* `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. @@ -39,7 +44,7 @@ Or even shorter if the defaults suits you. Note this only drops queries, it does } ~~~ -Delay 1 in 3 queries for 50ms, but also drop 1 in 2. +Delay 1 in 3 queries for 50ms ~~~ txt . { @@ -49,12 +54,24 @@ Delay 1 in 3 queries for 50ms, but also drop 1 in 2. } ~~~ -To stop dropping you'll need to explicitally set that to 0: +Delay 1 in 3 and truncate 1 in 5. + ~~~ txt . { erratic { - delay 3 50ms - drop 0 + delay 3 5ms + truncate 5 + } +} +~~~ + +Drop every second query. + +~~~ txt +. { + erratic { + drop 2 + truncate 2 } } ~~~ |