From b678598ab506e41c30f9305e13b3aed0e207ba4c Mon Sep 17 00:00:00 2001 From: Jun Kuriyama Date: Wed, 14 Apr 2004 00:57:42 +0000 Subject: Fix tcp.tcpCurrEstab.0 counting. PR: ports/65487 Submitted by: Ken Stailey --- net-mgmt/net-snmp53/Makefile | 3 ++- net-mgmt/net-snmp53/files/patch-tcpTable.c | 38 +++++++++++++++++++++++------- 2 files changed, 31 insertions(+), 10 deletions(-) (limited to 'net-mgmt/net-snmp53') diff --git a/net-mgmt/net-snmp53/Makefile b/net-mgmt/net-snmp53/Makefile index 1527c7a22721..4fff98f9c2d5 100644 --- a/net-mgmt/net-snmp53/Makefile +++ b/net-mgmt/net-snmp53/Makefile @@ -7,6 +7,7 @@ PORTNAME= snmp PORTVERSION= 5.1.1 +PORTREVISION= 1 PKGNAMEPREFIX= net- CATEGORIES= net-mgmt ipv6 MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} @@ -93,7 +94,7 @@ NET_SNMP_LOGFILE?= /var/log/snmpd.log NET_SNMP_PERSISTENTDIR?=/var/net-snmp NET_SNMP_MIB_MODULES?= ${NET_SNMP_MIB_MODULE_LIST} -NET_SNMP_MIB_MODULE_LIST=host disman/event-mib smux mibII/mta_sendmail ucd-snmp/diskio +NET_SNMP_MIB_MODULE_LIST=host disman/event-mib smux mibII/mta_sendmail mibII/tcpTable ucd-snmp/diskio _NET_SNMP_MIB_MODULES= .for module1 in ${NET_SNMP_MIB_MODULE_LIST} _module1=${module1} diff --git a/net-mgmt/net-snmp53/files/patch-tcpTable.c b/net-mgmt/net-snmp53/files/patch-tcpTable.c index 20f29239b95d..0d33547108b6 100644 --- a/net-mgmt/net-snmp53/files/patch-tcpTable.c +++ b/net-mgmt/net-snmp53/files/patch-tcpTable.c @@ -1,6 +1,6 @@ ---- agent/mibgroup/mibII/tcpTable.c.orig Fri Nov 14 14:49:21 2003 -+++ agent/mibgroup/mibII/tcpTable.c Fri Nov 14 15:14:16 2003 -@@ -84,6 +84,8 @@ +--- agent/mibgroup/mibII/tcpTable.c.orig Tue Mar 16 08:27:45 2004 ++++ agent/mibgroup/mibII/tcpTable.c Wed Apr 14 09:40:00 2004 +@@ -95,6 +95,8 @@ #define TCPTABLE_REMOTEADDRESS pcb.inp_faddr.s_addr #define TCPTABLE_REMOTEPORT pcb.inp_fport #define TCPTABLE_IS_LINKED_LIST @@ -9,18 +9,38 @@ #endif /* linux */ #endif /* WIN32 */ -@@ -695,11 +697,13 @@ +@@ -275,6 +277,9 @@ + + int + TCP_Count_Connections( void ) { ++#if (defined(CAN_USE_SYSCTL) && defined(TCPCTL_PCBLIST)) ++ tcpTable_load(NULL, NULL); ++#endif + return tcp_estab; + } + +@@ -691,6 +696,7 @@ + struct xinpgen *xig = NULL; + netsnmp_inpcb *nnew; + int StateMap[] = { 1, 2, 3, 4, 5, 8, 6, 10, 9, 7, 11 }; ++ struct tcpcb *tp = NULL; + + tcpTable_free(NULL, NULL); + +@@ -717,12 +723,13 @@ nnew = SNMP_MALLOC_TYPEDEF(netsnmp_inpcb); if (!nnew) break; -+#if 0 - nnew->state = StateMap[((struct xinpcb *) xig)->xt_tp.t_state]; +- nnew->state = StateMap[((struct xinpcb *) xig)->xt_tp.t_state]; ++ tp = &((struct xtcpcb *)xig)->xt_tp; ++ nnew->state = StateMap[tp->t_state]; if (nnew->state == 5 /* established */ || nnew->state == 8 /* closeWait */ ) tcp_estab++; - memcpy(&(nnew->pcb), &(((struct xinpcb *) xig)->xt_inp), -+#endif -+ memcpy(&(nnew->pcb), &(((struct xinpcb *) xig)->xi_inp), - sizeof(struct inpcb)); +- sizeof(struct inpcb)); ++ memcpy(&(nnew->pcb), &(((struct xtcpcb *) xig)->xt_tp), ++ sizeof(struct tcpcb)); nnew->inp_next = tcp_head; + tcp_head = nnew; -- cgit v1.2.3