Date: Sat, 8 Nov 2003 10:13:48 +0100 (CET) From: Harti Brandt <brandt@fokus.fraunhofer.de> To: Alex Hoff <ahoff@sandvine.com> Cc: "'freebsd-net@freebsd.org'" <freebsd-net@freebsd.org> Subject: Re: 64 bit packet counters Message-ID: <20031108100926.M78050@beagle.fokus.fraunhofer.de> In-Reply-To: <FE045D4D9F7AED4CBFF1B3B813C8533701D9B454@mail.sandvine.com> References: <FE045D4D9F7AED4CBFF1B3B813C8533701D9B454@mail.sandvine.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 7 Nov 2003, Alex Hoff wrote: AH>Hi, AH> AH>We are attempting to implement the IF-MIB, which requires the use of 64 bit AH>packet counters and the differentiation between multicast and broadcast AH>pkts. Since changing the if_data (by adding new counters and changing the AH>existing to u_int64) is a bad idea, does anyone have any good ideas on how AH>to do this? I was thinking of tacking on a new struct (lets call it AH>ifx_data) on at the end of the current if_net struct with the appropriate AH>counters (i/opacket, i/obyte, i/obcast, i/omcast). Apart from having to do a AH>little double counting is there any obvious pitfals with this approach? Does AH>anyone have an better ideas? Is there currently any plans to update the AH>network stack to handle this properly? You may lookup the discussions in the mailing lists. As far as I remember the problem with 64 bit counting was that this needs locks because not on all architectures you have atomic 64bit add operations. A simple method that does not involve kernel changes (and that I plan to implement in my snmp daemon) is to periodically monitor the counters (depending on the interface speed) and detect wraps in the daemon. harti -- harti brandt, http://www.fokus.fraunhofer.de/research/cc/cats/employees/hartmut.brandt/private brandt@fokus.fraunhofer.de, harti@freebsd.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031108100926.M78050>