Re: 64bit & snmp
- From
- Pavel Gulchouck (2:463/68)
- To
- Eugene Grosbein (2:5054/37.63)
- Date
- 2009-09-22T10:24:12Z
- Area
- RU.CISCO
Hi Eugene!
22 Sep 09, Eugene Grosbein ==> Pavel Gulchouck:
EG>>> Рисую общий pps через роутер путем выбора счетчиков по SNMP,
EG>>> суммированием *Pkts авком и скармливания результатов в mrtg через `cat
EG>>> file`,
EG>>> то есть cron обновляет файл, mrtg получает его через cat.
EG> Проблема-то не только у меня:
EG> https://bugzilla.redhat.com/show_bug.cgi?id=491336
Я эти патчи отправлял автору, но, кажется, они не успели войти в 2.16.2, а с тех пор стабильных релизов не было.
Надеюсь, поможет.
diff -r -u2 mrtg-2.16.2.orig/src/rateup.c mrtg-2.16.2/src/rateup.c
--- src/rateup.c Fri May 16 17:45:41 2008
+++ src/rateup.c Sat Jul 5 12:10:35 2008
@@ -1515,5 +1515,5 @@
- if (inrate < 0 || (unsigned) inrate > abs_max)
+ if (inrate < 0 || inrate > abs_max)
{
if (options & OPTION_UNKNASZERO)
@@ -1526,5 +1526,5 @@
}
}
- if (outrate < 0 || (unsigned) outrate > abs_max)
+ if (outrate < 0 || outrate > abs_max)
{
if (options & OPTION_UNKNASZERO)
diff -r -u2 src/rateup.c src/rateup.c
--- src/rateup.c Fri May 16 17:45:41 2008
+++ src/rateup.c Mon Jul 7 15:36:40 2008
@@ -1450,5 +1450,5 @@
{
inr = diff (in, last.in);
- if (inr < 0) /* wrapped 32-bit counter? */
+ if (inr < 0 && inr + ((long long) 1 << 32) > 0 && inr + ((long long) 1 << 32) < (1 << 30)) /* wrapped 32-bit counter? */
inr += (long long) 1 << 32;
}
@@ -1491,5 +1491,5 @@
{
outr = diff (out, last.out);
- if (outr < 0) /* wrapped 32-bit counter? */
+ if (outr < 0 && outr + ((long long) 1 << 32) > 0 && outr + ((long long) 1 << 32) < (1 << 30)) /* wrapped 32-bit counter? */
outr += (long long) 1 << 32;
}
Lucky carrier,
Паша
aka gul@gul.kiev.ua
--- GoldED+/LNX 1.1.5
* Origin: Опыт - это то, что мы получаем вместо того, что хотели (2:463/68)
SEEN-BY: 46/50 450/186 1024 451/30 452/25 154 461/76 463/68 94 327 407 561 822
SEEN-BY: 463/1124 1337 2223 6969 469/418 4614/20 4615/21 4623/178 4624/8
SEEN-BY: 4633/2 5000/5000 5001/100 5001 5003/58 5004/58 5010/126 5011/13
SEEN-BY: 5012/9 30 46 5015/28 5019/26 5020/175 400 545 715 758 830 1042 1641
SEEN-BY: 5020/2238 4441 5021/29 5022/128 5023/11 5025/3 5026/49 5027/12
SEEN-BY: 5029/60 5030/115 500 830 966 1256 1900 5035/38 5042/12 13 5045/7
SEEN-BY: 5049/96 5052/4 5054/1 4 8 9 28 30 36 37 67 75 81 89 5058/42 999
SEEN-BY: 5059/37 5062/10 5063/3 5070/156 5075/35 5077/70 5080/31 68 80 111 237
SEEN-BY: 5080/1003 5083/1 5084/9 5085/13 45 131 5090/108 5093/55 5095/20
SEEN-BY: 5096/18 6001/10 6004/3 6009/3 6055/2 6083/12 6090/1
PATH: 463/68 5080/1003 5020/4441 545 5054/1 37