From: bert hubert Date: Mon, 5 Sep 2016 09:25:41 +0000 (+0200) Subject: make calidns send out rd=0, and half do=1 queries, plus add bandwidth stats X-Git-Tag: dnsdist-1.1.0-beta2~149 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3df2e6c4c58f5732318dd70431ceaedd5b2f424b;p=thirdparty%2Fpdns.git make calidns send out rd=0, and half do=1 queries, plus add bandwidth stats --- diff --git a/pdns/calidns.cc b/pdns/calidns.cc index ae70849099..94b099ad23 100644 --- a/pdns/calidns.cc +++ b/pdns/calidns.cc @@ -39,7 +39,7 @@ using std::unique_ptr; StatBag S; -std::atomic g_recvcounter; +std::atomic g_recvcounter, g_recvbytes; volatile bool g_done; void* recvThread(const vector* sockets) @@ -79,7 +79,9 @@ void* recvThread(const vector* sockets) unixDie("recvmmsg"); continue; } - g_recvcounter+=err; + g_recvcounter+=err; + for(int n=0; n < err; ++n) + g_recvbytes += buf[n].msg_len; } } } @@ -215,8 +217,12 @@ try boost::trim(line); auto p = splitField(line, ' '); DNSPacketWriter pw(packet, DNSName(p.first), DNSRecordContent::TypeToNumber(p.second)); - pw.getHeader()->rd=1; + pw.getHeader()->rd=0; pw.getHeader()->id=random(); + if(pw.getHeader()->id % 2) { + pw.addOpt(1500, 0, EDNSOpts::DNSSECOK); + pw.commit(); + } unknown.emplace_back(std::make_shared>(packet)); } random_shuffle(unknown.begin(), unknown.end()); @@ -255,6 +261,7 @@ try } random_shuffle(toSend.begin(), toSend.end()); g_recvcounter.store(0); + g_recvbytes=0; DTime dt; dt.set(); @@ -267,7 +274,8 @@ try usleep(50000); double perc=g_recvcounter.load()*100.0/toSend.size(); cout<<"Received "<