summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-analyzer/net-snmp/files')
-rw-r--r--net-analyzer/net-snmp/files/net-snmp-5.2.1-fix-64bit-interface-counters.diff29
1 files changed, 29 insertions, 0 deletions
diff --git a/net-analyzer/net-snmp/files/net-snmp-5.2.1-fix-64bit-interface-counters.diff b/net-analyzer/net-snmp/files/net-snmp-5.2.1-fix-64bit-interface-counters.diff
new file mode 100644
index 000000000000..18515d44e748
--- /dev/null
+++ b/net-analyzer/net-snmp/files/net-snmp-5.2.1-fix-64bit-interface-counters.diff
@@ -0,0 +1,29 @@
+diff -u -p -r5.33 interfaces.c
+--- agent/mibgroup/mibII/interfaces.c 9 May 2005 20:06:02 -0000 5.33
++++ agent/mibgroup/mibII/interfaces.c 9 Jun 2005 20:08:04 -0000
+@@ -1552,19 +1552,19 @@ Interface_Scan_Init(void)
+ if (!strcmp(ifname_buf, "lo") && rec_pkt > 0 && !snd_pkt)
+ snd_pkt = rec_pkt;
+
+- nnew->if_ipackets = rec_pkt;
++ nnew->if_ipackets = rec_pkt & 0xffffffff;
+ nnew->if_ierrors = rec_err;
+- nnew->if_opackets = snd_pkt;
++ nnew->if_opackets = snd_pkt & 0xffffffff;
+ nnew->if_oerrors = snd_err;
+ nnew->if_collisions = coll;
+ if (scan_line_to_use == scan_line_2_2) {
+- nnew->if_ibytes = rec_oct;
+- nnew->if_obytes = snd_oct;
++ nnew->if_ibytes = rec_oct & 0xffffffff;
++ nnew->if_obytes = snd_oct & 0xffffffff;
+ nnew->if_iqdrops = rec_drop;
+ nnew->if_snd.ifq_drops = snd_drop;
+ } else {
+- nnew->if_ibytes = rec_pkt * 308;
+- nnew->if_obytes = snd_pkt * 308;
++ nnew->if_ibytes = (rec_pkt * 308) & 0xffffffff;
++ nnew->if_obytes = (snd_pkt * 308) & 0xffffffff;
+ }
+
+ /*