From: <no...@so...> - 2002-03-08 21:49:32
|
Patches item #527573, was opened at 2002-03-08 15:49 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=312694&aid=527573&group_id=12694 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Brian T. O'Neill (btoneill) Assigned to: Nobody/Anonymous (nobody) Summary: Bad handling of 64bit int on Solaris Initial Comment: If kstat returns a int64_t or uint64_t value it is incorrectly cast to a uint32 via the Counter data type in getKstat() on solaris 2.6 and above using 4.2.3. This specifically effects SysKonnect skge cards on Solaris as the skge module returns all ifEntries as uint64 except for the following: ipackets opackets ierrors oerrors collisions The casting that was done previously would set each value to '0' for passing back to interfaces.c The fix is the following on kernel_sunos5.c 324c324 < *(int64_t *)v = d->value.i64; --- > *(Counter *)v = d->value.i64; 328c328 < *(uint64_t *)v = d->value.ui64; --- > *(Counter *)v = d->value.ui64; There is probably a cleaner way to do this, but this worked quick and dirty, and I can actually do my monitoring now. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=312694&aid=527573&group_id=12694 |