Files
coredns/plugin/erratic
Miek Gieben d8714e64e4 Remove the word middleware (#1067)
* Rename middleware to plugin

first pass; mostly used 'sed', few spots where I manually changed
text.

This still builds a coredns binary.

* fmt error

* Rename AddMiddleware to AddPlugin

* Readd AddMiddleware to remain backwards compat
2017-09-14 09:36:06 +01:00
..
2017-09-14 09:36:06 +01:00
2017-09-14 09:36:06 +01:00
2017-09-14 09:36:06 +01:00
2017-09-14 09:36:06 +01:00

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

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

.:53 {
    erratic {
        drop 3
    }
}

Or even shorter if the defaults suits you. Note this only drops queries, it does not delay them.

. {
    erratic
}

Delay 1 in 3 queries for 50ms

. {
    erratic {
        delay 3 50ms
    }
}

Delay 1 in 3 and truncate 1 in 5.

. {
    erratic {
        delay 3 5ms
        truncate 5
    }
}

Drop every second query.

. {
    erratic {
        drop 2
        truncate 2
    }
}