+/* Translation table for the `nsstats' values. */
+static const translation_info_t nsstats_translation_table[] = /* {{{ */
+{
+ /* Requests */
+ { "Requestv4", "dns_request", "IPv4" },
+ { "Requestv6", "dns_request", "IPv6" },
+ { "ReqEdns0", "dns_request", "EDNS0" },
+ { "ReqBadEDNSVer", "dns_request", "BadEDNSVer" },
+ { "ReqTSIG", "dns_request", "TSIG" },
+ { "ReqSIG0", "dns_request", "SIG0" },
+ { "ReqBadSIG", "dns_request", "BadSIG" },
+ { "ReqTCP", "dns_request", "TCP" },
+ /* Rejects */
+ { "AuthQryRej", "dns_reject", "authorative" },
+ { "RecQryRej", "dns_reject", "recursive" },
+ { "XfrRej", "dns_reject", "transfer" },
+ { "UpdateRej", "dns_reject", "update" },
+ /* Responses */
+ { "Response", "dns_response", "normal" },
+ { "TruncatedResp", "dns_response", "truncated" },
+ { "RespEDNS0", "dns_response", "EDNS0" },
+ { "RespTSIG", "dns_response", "TSIG" },
+ { "RespSIG0", "dns_response", "SIG0" },
+ /* Queries */
+ { "QryAuthAns", "dns_query", "authorative" },
+ { "QryNoauthAns", "dns_query", "nonauth" },
+ { "QryReferral", "dns_query", "referral" },
+ { "QryRecursion", "dns_query", "recursion" },
+ { "QryDuplicate", "dns_query", "dupliate" },
+ { "QryDropped", "dns_query", "dropped" },
+ { "QryFailure", "dns_query", "failure" },
+ /* Response codes */
+ { "QrySuccess", "dns_rcode", "tx-NOERROR" },
+ { "QryNxrrset", "dns_rcode", "tx-NXRRSET" },
+ { "QrySERVFAIL", "dns_rcode", "tx-SERVFAIL" },
+ { "QryFORMERR", "dns_rcode", "tx-FORMERR" },
+ { "QryNXDOMAIN", "dns_rcode", "tx-NXDOMAIN" }
+#if 0
+ { "XfrReqDone", "type", "type_instance" },
+ { "UpdateReqFwd", "type", "type_instance" },
+ { "UpdateRespFwd", "type", "type_instance" },
+ { "UpdateFwdFail", "type", "type_instance" },
+ { "UpdateDone", "type", "type_instance" },
+ { "UpdateFail", "type", "type_instance" },
+ { "UpdateBadPrereq", "type", "type_instance" },
+#endif
+};
+static int nsstats_translation_table_length =
+ STATIC_ARRAY_SIZE (nsstats_translation_table);
+/* }}} */
+
+/* Translation table for the `zonestats' values. */
+static const translation_info_t zonestats_translation_table[] = /* {{{ */
+{
+ /* Notify's */
+ { "NotifyOutv4", "dns_notify", "tx-IPv4" },
+ { "NotifyOutv6", "dns_notify", "tx-IPv6" },
+ { "NotifyInv4", "dns_notify", "rx-IPv4" },
+ { "NotifyInv6", "dns_notify", "rx-IPv6" },
+ { "NotifyRej", "dns_notify", "rejected" },
+ /* SOA/AXFS/IXFS requests */
+ { "SOAOutv4", "dns_opcode", "SOA-IPv4" },
+ { "SOAOutv6", "dns_opcode", "SOA-IPv6" },
+ { "AXFRReqv4", "dns_opcode", "AXFR-IPv4" },
+ { "AXFRReqv6", "dns_opcode", "AXFR-IPv6" },
+ { "IXFRReqv4", "dns_opcode", "IXFR-IPv4" },
+ { "IXFRReqv6", "dns_opcode", "IXFR-IPv6" },
+ /* Domain transfers */
+ { "XfrSuccess", "dns_transfer", "success" },
+ { "XfrFail", "dns_transfer", "failure" }
+};
+static int zonestats_translation_table_length =
+ STATIC_ARRAY_SIZE (zonestats_translation_table);
+/* }}} */
+
+/* Translation table for the `resstats' values. */
+static const translation_info_t resstats_translation_table[] = /* {{{ */
+{
+ /* Generic resolver information */
+ { "Queryv4", "dns_query", "IPv4" },
+ { "Queryv6", "dns_query", "IPv6" },
+ { "Responsev4", "dns_response", "IPv4" },
+ { "Responsev6", "dns_response", "IPv6" },
+ /* Received response codes */
+ { "NXDOMAIN", "dns_rcode", "rx-NXDOMAIN" },
+ { "SERVFAIL", "dns_rcode", "rx-SERVFAIL" },
+ { "FORMERR", "dns_rcode", "rx-FORMERR" },
+ { "OtherError", "dns_rcode", "rx-OTHER" },
+ { "EDNS0Fail", "dns_rcode", "rx-EDNS0Fail"},
+ /* Received responses */
+ { "Mismatch", "dns_response", "mismatch" },
+ { "Truncated", "dns_response", "truncated" },
+ { "Lame", "dns_response", "lame" },
+ { "Retry", "dns_query", "retry" },
+#if 0
+ { "GlueFetchv4", "type", "type_instance" },
+ { "GlueFetchv6", "type", "type_instance" },
+ { "GlueFetchv4Fail", "type", "type_instance" },
+ { "GlueFetchv6Fail", "type", "type_instance" },
+#endif
+ /* DNSSEC information */
+ { "ValAttempt", "dns_resolver", "DNSSEC-attempt" },
+ { "ValOk", "dns_resolver", "DNSSEC-okay" },
+ { "ValNegOk", "dns_resolver", "DNSSEC-negokay" },
+ { "ValFail", "dns_resolver", "DNSSEC-fail" }
+};
+static int resstats_translation_table_length =
+ STATIC_ARRAY_SIZE (resstats_translation_table);
+/* }}} */
+
+/* Translation table for the `memory/summary' values. */
+static const translation_info_t memsummary_translation_table[] = /* {{{ */