From: Remi Gacogne Date: Wed, 14 Dec 2016 11:00:33 +0000 (+0100) Subject: Merge pull request #4748 from rgacogne/dnsdist-cache-cleaning-percentage X-Git-Tag: dnsdist-1.1.0-beta2^0 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b6485dec36c956adb6440714c9fe6a546de43836;p=thirdparty%2Fpdns.git Merge pull request #4748 from rgacogne/dnsdist-cache-cleaning-percentage dnsdist: Add `setCacheCleaningPercentage()` --- b6485dec36c956adb6440714c9fe6a546de43836 diff --cc pdns/README-dnsdist.md index b9521c2984,44cc1ed3b9..263914d37d --- a/pdns/README-dnsdist.md +++ b/pdns/README-dnsdist.md @@@ -1491,10 -1488,8 +1491,11 @@@ instantiate a server with additional pa * `setMaxTCPQueuedConnections(n)`: set the maximum number of TCP connections queued (waiting to be picked up by a client thread), defaults to 1000. 0 means unlimited * `setMaxUDPOutstanding(n)`: set the maximum number of outstanding UDP queries to a given backend server. This can only be set at configuration time and defaults to 10240 * `setCacheCleaningDelay(n)`: set the interval in seconds between two runs of the cache cleaning algorithm, removing expired entries + * `setCacheCleaningPercentage(n)`: set the percentage of the cache that the cache cleaning algorithm will try to free by removing expired entries. By default (100), all expired entries are removed * `setStaleCacheEntriesTTL(n)`: allows using cache entries expired for at most `n` seconds when no backend available to answer for a query + * `setTCPRecvTimeout(n)`: set the read timeout on TCP connections from the client, in seconds + * `setTCPSendTimeout(n)`: set the write timeout on TCP connections from the client, in seconds + * `setUDPTimeout(n)`: set the maximum time dnsdist will wait for a response from a backend over UDP, in seconds. Defaults to 2 * DNSCrypt related: * `addDNSCryptBind("127.0.0.1:8443", "provider name", "/path/to/resolver.cert", "/path/to/resolver.key", [false], [TCP Fast Open queue size]):` listen to incoming DNSCrypt queries on 127.0.0.1 port 8443, with a provider name of "provider name", using a resolver certificate and associated key stored respectively in the `resolver.cert` and `resolver.key` files. The fifth optional parameter sets SO_REUSEPORT when available. The last parameter sets the TCP Fast Open queue size, enabling TCP Fast Open when available and the value is larger than 0. * `generateDNSCryptProviderKeys("/path/to/providerPublic.key", "/path/to/providerPrivate.key"):` generate a new provider keypair diff --cc pdns/dnsdist.hh index 2390bcdafb,62089e1ac4..cab656521a --- a/pdns/dnsdist.hh +++ b/pdns/dnsdist.hh @@@ -612,11 -687,9 +612,12 @@@ extern std::atomic g_configuratio extern uint64_t g_maxTCPClientThreads; extern uint64_t g_maxTCPQueuedConnections; extern std::atomic g_cacheCleaningDelay; + extern std::atomic g_cacheCleaningPercentage; extern bool g_verboseHealthChecks; extern uint32_t g_staleCacheEntriesTTL; +extern bool g_apiReadWrite; +extern std::string g_apiConfigDirectory; +extern bool g_servFailOnNoPolicy; struct ConsoleKeyword { std::string name;