From dce0d0445f0c353c47c2ab03d8f1ca151287a48d Mon Sep 17 00:00:00 2001 From: glenn <> Date: Thu, 24 Sep 1998 03:23:33 +0000 Subject: [PATCH] Added code to return basic statistics --- src/dns.cc | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/src/dns.cc b/src/dns.cc index b9eac8429c..9cb6a2730f 100644 --- a/src/dns.cc +++ b/src/dns.cc @@ -1,6 +1,6 @@ /* - * $Id: dns.cc,v 1.64 1998/09/14 21:58:47 wessels Exp $ + * $Id: dns.cc,v 1.65 1998/09/23 21:23:33 glenn Exp $ * * DEBUG: section 34 Dnsserver interface * AUTHOR: Harvest Derived @@ -285,3 +285,43 @@ dnsShutdownRead(int fd, void *data) cbdataUnlock(dns); comm_close(fd); } + +#ifdef SQUID_SNMP +/* + The function to return the DNS via SNMP +*/ + +variable_list * +snmp_netDnsFn(variable_list * Var, snint * ErrP) +{ + variable_list *Answer; + + debug(49, 5) ("snmp_netDnsFn: Processing request:\n", Var->name[LEN_SQ_NET + + 1]); + snmpDebugOid(5, Var->name, Var->name_length); + + Answer = snmp_var_new(Var->name, Var->name_length); + *ErrP = SNMP_ERR_NOERROR; + Answer->val_len = sizeof(snint); + Answer->val.integer = xmalloc(Answer->val_len); + Answer->type = SMI_COUNTER32; + + switch (Var->name[LEN_SQ_NET+1]) { + case DNS_REQ: + *(Answer->val.integer) = DnsStats.requests; + break; + case DNS_REP: + *(Answer->val.integer) = DnsStats.replies; + break; + case DNS_SERVERS: + *(Answer->val.integer) = NDnsServersAlloc; + break; + default: + *ErrP = SNMP_ERR_NOSUCHNAME; + snmp_var_free(Answer); + return (NULL); + } + return Answer; +} + +#endif /*SQUID_SNMP*/ -- 2.47.3