diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2021-12-09 20:44:54 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2021-12-09 20:44:54 +0000 |
commit | 6b8ed4f7d702030af11d9b6b1d4f969fa9ec0e14 (patch) | |
tree | 8519d6d27e7c3b5bb6a014f11492cc1f198f61f3 /src/dnsperf.c | |
parent | Adding upstream version 2.8.0. (diff) | |
download | dnsperf-6b8ed4f7d702030af11d9b6b1d4f969fa9ec0e14.tar.xz dnsperf-6b8ed4f7d702030af11d9b6b1d4f969fa9ec0e14.zip |
Adding upstream version 2.9.0.upstream/2.9.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | src/dnsperf.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/dnsperf.c b/src/dnsperf.c index c3ff297..40cedb4 100644 --- a/src/dnsperf.c +++ b/src/dnsperf.c @@ -89,6 +89,7 @@ typedef struct { bool verbose; enum perf_net_mode mode; perf_suppress_t suppress; + size_t num_queries_per_conn; } config_t; typedef struct { @@ -491,6 +492,8 @@ setup(int argc, char** argv, config_t* config) "the HTTP method to use for DNS-over-HTTPS: GET or POST", DEFAULT_DOH_METHOD, &doh_method); perf_long_opt_add("suppress", perf_opt_string, "message[,message,...]", "suppress messages/warnings, see man-page for list of message types", NULL, &local_suppress); + perf_long_opt_add("num-queries-per-conn", perf_opt_uint, "queries", + "Number of queries to send per connection", NULL, &config->num_queries_per_conn); bool log_stdout = false; perf_opt_add('W', perf_opt_boolean, NULL, "log warnings and errors to stdout instead of stderr", NULL, &log_stdout); @@ -1000,7 +1003,7 @@ do_recv(void* arg) perf_log_warning("received short response"); continue; } - if (recvd[i].unexpected) { + if (recvd[i].unexpected && !tinfo->config->suppress.unexpected) { perf_log_warning("received a response with an " "unexpected (maybe timed out) " "id: %u", @@ -1222,6 +1225,9 @@ threadinfo_init(threadinfo_t* tinfo, const config_t* config, if (!tinfo->socks[i]) { perf_log_fatal("perf_net_opensocket(): no socket returned, out of memory?"); } + if (config->num_queries_per_conn && tinfo->socks[i]->num_queries_per_conn) { + tinfo->socks[i]->num_queries_per_conn(tinfo->socks[i], config->num_queries_per_conn, config->timeout); + } } tinfo->current_sock = 0; |