coredns/plugin
Miek Gieben fcd0342e42 CIDR query routing (#1159)
* core: allow all CIDR ranges in zone specifications

Allow (e.g.) a v4 reverse on a /17. If a zone is specified in such a
way a FilterFunc is set in the config. This filter is checked against
incoming queries.

For all other queries this adds a 'x != nil' check which will not impact
performace too much. Benchmark function is added as well to check for
this as wel.

Add multiple tests in tests/server_reverse_test.go.

Benchmark shows in the non-reverse case this hardly impact the speed:

~~~
classless:
pkg: github.com/coredns/coredns/core/dnsserver
BenchmarkCoreServeDNS-4   	 1000000	      1431 ns/op	      16 B/op	       1 allocs/op

pkg: github.com/coredns/coredns/core/dnsserver
BenchmarkCoreServeDNS-4   	 1000000	      1429 ns/op	      16 B/op	       1 allocs/op

master:
pkg: github.com/coredns/coredns/core/dnsserver
BenchmarkCoreServeDNS-4   	 1000000	      1412 ns/op	      16 B/op	       1 allocs/op

pkg: github.com/coredns/coredns/core/dnsserver
BenchmarkCoreServeDNS-4   	 1000000	      1429 ns/op	      16 B/op	       1 allocs/op
~~~

* README.md updates
2017-10-24 10:16:03 +01:00
..
auto doc update (#1140) 2017-10-10 09:39:35 +02:00
autopath docs: less CoreDNS in docs (#1154) 2017-10-20 09:47:43 +01:00
bind plugins: expand examples (#1077) 2017-09-15 09:56:05 +01:00
cache plugin/cache: don't update freq is prefetch isn't used. (#1144) 2017-10-13 17:22:08 +02:00
chaos docs: less CoreDNS in docs (#1154) 2017-10-20 09:47:43 +01:00
debug docs: less CoreDNS in docs (#1154) 2017-10-20 09:47:43 +01:00
dnssec plugin/dnssec; insert and sign DS records (#1153) 2017-10-20 09:22:02 +01:00
dnstap doc update (#1140) 2017-10-10 09:39:35 +02:00
erratic pkg: add dnstest (#1098) 2017-09-21 15:15:47 +01:00
errors pkg: add dnstest (#1098) 2017-09-21 15:15:47 +01:00
etcd CIDR query routing (#1159) 2017-10-24 10:16:03 +01:00
federation plugin/kubernetes: implement HasSynced() (#1155) 2017-10-20 22:53:17 +01:00
file Add fuzzing infrastructure (#1118) 2017-09-29 22:28:13 +01:00
health docs: less CoreDNS in docs (#1154) 2017-10-20 09:47:43 +01:00
hosts doc update (#1140) 2017-10-10 09:39:35 +02:00
kubernetes CIDR query routing (#1159) 2017-10-24 10:16:03 +01:00
loadbalance doc update (#1140) 2017-10-10 09:39:35 +02:00
log doc update (#1140) 2017-10-10 09:39:35 +02:00
metrics docs: less CoreDNS in docs (#1154) 2017-10-20 09:47:43 +01:00
pkg CIDR query routing (#1159) 2017-10-24 10:16:03 +01:00
pprof doc update (#1140) 2017-10-10 09:39:35 +02:00
proxy plugin/proxy: kick of HC on every 3rd failure (#1110) 2017-10-15 19:38:39 +02:00
reverse docs: less CoreDNS in docs (#1154) 2017-10-20 09:47:43 +01:00
rewrite doc update (#1140) 2017-10-10 09:39:35 +02:00
root docs: less CoreDNS in docs (#1154) 2017-10-20 09:47:43 +01:00
secondary Remove the word middleware (#1067) 2017-09-14 09:36:06 +01:00
test golint cleanup (#1085) 2017-09-15 23:34:02 +01:00
tls Remove the word middleware (#1067) 2017-09-14 09:36:06 +01:00
trace plugin: README.md updates (#1084) 2017-09-15 22:27:55 +01:00
whoami docs: less CoreDNS in docs (#1154) 2017-10-20 09:47:43 +01:00
backend.go Remove the word middleware (#1067) 2017-09-14 09:36:06 +01:00
backend_lookup.go Remove the word middleware (#1067) 2017-09-14 09:36:06 +01:00
normalize.go CIDR query routing (#1159) 2017-10-24 10:16:03 +01:00
normalize_test.go CIDR query routing (#1159) 2017-10-24 10:16:03 +01:00
plugin.go Use gometalinter and enforcing go fmt/lint/vet (#1108) 2017-09-24 11:59:04 +01:00
plugin_test.go Remove the word middleware (#1067) 2017-09-14 09:36:06 +01:00