]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
3755. [func] Add stats counters for known EDNS options + others.
authorMark Andrews <marka@isc.org>
Sun, 23 Feb 2014 22:24:25 +0000 (09:24 +1100)
committerMark Andrews <marka@isc.org>
Sun, 23 Feb 2014 22:24:25 +0000 (09:24 +1100)
                        [RT #35447]

CHANGES
bin/named/client.c
bin/named/include/named/server.h
bin/named/statschannel.c

diff --git a/CHANGES b/CHANGES
index 6ed2ac39d892e5581f5efe21e33f283defa9a384..6fa1e7d3bb5a6e03c74be2df5ace6db9cd3292db 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+3755.  [func]          Add stats counters for known EDNS options + others.
+                       [RT #35447]
+
        --- 9.10.0b1 released ---
 
 3754.  [cleanup]       win32: Installer now places files in the
index 86c49ff0b59001ceb763fced8378cc8ccdfab2d6..bec52423f61efdbe65f0730b04691731b55754c9 100644 (file)
@@ -1776,6 +1776,8 @@ process_opt(ns_client_t *client, dns_rdataset_t *opt) {
                        optlen = isc_buffer_getuint16(&optbuf);
                        switch (optcode) {
                        case DNS_OPT_NSID:
+                               isc_stats_increment(ns_g_server->nsstats,
+                                                   dns_nsstatscounter_nsidopt);
                                client->attributes |= NS_CLIENTATTR_WANTNSID;
                                isc_buffer_forward(&optbuf, optlen);
                                break;
@@ -1785,10 +1787,14 @@ process_opt(ns_client_t *client, dns_rdataset_t *opt) {
                                break;
 #endif
                        case DNS_OPT_EXPIRE:
+                               isc_stats_increment(ns_g_server->nsstats,
+                                                 dns_nsstatscounter_expireopt);
                                client->attributes |= NS_CLIENTATTR_WANTEXPIRE;
                                isc_buffer_forward(&optbuf, optlen);
                                break;
                        default:
+                               isc_stats_increment(ns_g_server->nsstats,
+                                                 dns_nsstatscounter_otheropt);
                                isc_buffer_forward(&optbuf, optlen);
                                break;
                        }
index 246f516c75e3a7ca2be0bf1c01c7847e9f9d9222..86b28367b79f7999c6246ff515bbcae1aa9839a9 100644 (file)
@@ -180,17 +180,21 @@ enum {
        dns_nsstatscounter_udp = 41,
        dns_nsstatscounter_tcp = 42,
 
+       dns_nsstatscounter_nsidopt = 43,
+       dns_nsstatscounter_expireopt = 44,
+       dns_nsstatscounter_otheropt = 45,
+
 #ifdef ISC_PLATFORM_USESIT
-       dns_nsstatscounter_sitopt = 43,
-       dns_nsstatscounter_sitbadsize = 44,
-       dns_nsstatscounter_sitbadtime = 45,
-       dns_nsstatscounter_sitnomatch = 46,
-       dns_nsstatscounter_sitmatch = 47,
-       dns_nsstatscounter_sitnew = 48,
-
-       dns_nsstatscounter_max = 49
+       dns_nsstatscounter_sitopt = 46,
+       dns_nsstatscounter_sitbadsize = 47,
+       dns_nsstatscounter_sitbadtime = 48,
+       dns_nsstatscounter_sitnomatch = 49,
+       dns_nsstatscounter_sitmatch = 50,
+       dns_nsstatscounter_sitnew = 51,
+
+       dns_nsstatscounter_max = 52
 #else
-       dns_nsstatscounter_max = 43
+       dns_nsstatscounter_max = 46
 #endif
 };
 
index be3773a06ab99a405b9ee5e6d9e2bffa32e8f481..6052308477f7796fa412dc8db44e87582be87bb5 100644 (file)
@@ -220,6 +220,9 @@ init_desc(void) {
                       "RPZRewrites");
        SET_NSSTATDESC(udp, "UDP queries received", "QryUDP");
        SET_NSSTATDESC(tcp, "TCP queries received", "QryTCP");
+       SET_NSSTATDESC(nsidopt, "NSID option received", "NSIDOpt");
+       SET_NSSTATDESC(expireopt, "Expire option recieved", "ExpireOpt");
+       SET_NSSTATDESC(otheropt, "Other EDNS option recieved", "OtherOpt");
 #ifdef ISC_PLATFORM_USESIT
        SET_NSSTATDESC(sitopt, "source identity token option received",
                       "SitOpt");