#include <cc/data.h>
#include <dns/message.h>
+#include <dns/opcode.h>
#include <statistics/counter.h>
#include <statistics/counter_dict.h>
namespace auth {
namespace statistics {
+using isc::dns::Opcode;
+
/// \brief DNS Message attributes for statistics.
///
/// This class holds some attributes related to a DNS message
// request attributes
int req_ip_version_; // IP version
int req_transport_protocol_; // Transport layer protocol
- uint8_t req_opcode_; // OpCode
+ Opcode req_opcode_; // OpCode
enum BitAttributes {
REQ_IS_EDNS_0, // EDNS ver.0
REQ_IS_DNSSEC_OK, // DNSSEC OK (DO) bit is set
/// \brief The constructor.
///
/// \throw None
- MessageAttributes() {
+ MessageAttributes() : req_opcode_(Opcode::RESERVED15_CODE) {
reset();
}
/// \brief Get request opcode.
/// \return opcode of a request
/// \throw None
- uint8_t getRequestOpCode() const {
+ const Opcode& getRequestOpCode() const {
return (req_opcode_);
}
/// \brief Set request opcode.
/// \throw None
- void setRequestOpCode(const uint8_t opcode) {
+ void setRequestOpCode(const Opcode& opcode) {
req_opcode_ = opcode;
}
void reset() {
req_ip_version_ = 0;
req_transport_protocol_ = 0;
- req_opcode_ = 0;
+ req_opcode_ = Opcode(Opcode::RESERVED15_CODE);
bit_attributes_.reset();
}
};
msgattrs.setRequestIPVersion(AF_INET);
msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
- msgattrs.setRequestOpCode(Opcode::QUERY_CODE);
+ msgattrs.setRequestOpCode(Opcode::QUERY());
msgattrs.setRequestEDNS0(true);
msgattrs.setRequestDO(true);
msgattrs.setRequestIPVersion(af);
msgattrs.setRequestTransportProtocol(proto);
- msgattrs.setRequestOpCode(Opcode::QUERY_CODE);
+ msgattrs.setRequestOpCode(Opcode::QUERY());
msgattrs.setRequestEDNS0(true);
msgattrs.setRequestDO(true);
const bool is_dnssec_ok = i & 1;
msgattrs.setRequestIPVersion(AF_INET);
msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
- msgattrs.setRequestOpCode(Opcode::QUERY_CODE);
+ msgattrs.setRequestOpCode(Opcode::QUERY());
msgattrs.setRequestEDNS0(true);
msgattrs.setRequestDO(is_dnssec_ok);
const bool is_edns0 = i & 1;
msgattrs.setRequestIPVersion(AF_INET);
msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
- msgattrs.setRequestOpCode(Opcode::QUERY_CODE);
+ msgattrs.setRequestOpCode(Opcode::QUERY());
msgattrs.setRequestEDNS0(is_edns0);
msgattrs.setRequestDO(true);
const bool is_badsig = (i == 0 ? i : i+1) & 1;
msgattrs.setRequestIPVersion(AF_INET);
msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
- msgattrs.setRequestOpCode(Opcode::QUERY_CODE);
+ msgattrs.setRequestOpCode(Opcode::QUERY());
msgattrs.setRequestEDNS0(true);
msgattrs.setRequestDO(true);
msgattrs.setRequestSig(is_tsig, is_sig0, is_badsig);
{
msgattrs.setRequestIPVersion(AF_INET);
msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
- msgattrs.setRequestOpCode(i);
+ msgattrs.setRequestOpCode(Opcode(i));
msgattrs.setRequestEDNS0(true);
msgattrs.setRequestDO(true);
msgattrs.setRequestSig(false, false, false);
{
msgattrs.setRequestIPVersion(AF_INET);
msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
- msgattrs.setRequestOpCode(Opcode::IQUERY_CODE);
+ msgattrs.setRequestOpCode(Opcode::IQUERY());
msgattrs.setRequestEDNS0(true);
msgattrs.setRequestDO(true);
msgattrs.setRequestSig(false, false, false);
const bool is_truncated = i & 1;
msgattrs.setRequestIPVersion(AF_INET);
msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
- msgattrs.setRequestOpCode(Opcode::IQUERY_CODE);
+ msgattrs.setRequestOpCode(Opcode::IQUERY());
msgattrs.setRequestEDNS0(true);
msgattrs.setRequestDO(true);
msgattrs.setRequestSig(false, false, false);
const bool is_aa_set = i & 1;
msgattrs.setRequestIPVersion(AF_INET);
msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
- msgattrs.setRequestOpCode(Opcode::QUERY_CODE);
+ msgattrs.setRequestOpCode(Opcode::QUERY());
msgattrs.setRequestEDNS0(true);
msgattrs.setRequestDO(true);
msgattrs.setRequestSig(false, false, false);
// Opcode = QUERY, Rcode = NOERROR, ANCOUNT > 0
msgattrs.setRequestIPVersion(AF_INET);
msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
- msgattrs.setRequestOpCode(Opcode::QUERY_CODE);
+ msgattrs.setRequestOpCode(Opcode::QUERY());
msgattrs.setRequestEDNS0(true);
msgattrs.setRequestDO(true);
msgattrs.setRequestSig(false, false, false);
const bool is_aa_set = i & 1;
msgattrs.setRequestIPVersion(AF_INET);
msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
- msgattrs.setRequestOpCode(Opcode::QUERY_CODE);
+ msgattrs.setRequestOpCode(Opcode::QUERY());
msgattrs.setRequestEDNS0(true);
msgattrs.setRequestDO(true);
msgattrs.setRequestSig(false, false, false);
// Opcode = QUERY, Rcode = REFUSED, ANCOUNT = 0 (don't care)
msgattrs.setRequestIPVersion(AF_INET);
msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
- msgattrs.setRequestOpCode(Opcode::QUERY_CODE);
+ msgattrs.setRequestOpCode(Opcode::QUERY());
msgattrs.setRequestEDNS0(true);
msgattrs.setRequestDO(true);
msgattrs.setRequestSig(false, false, false);