lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sun, 1 Jun 2008 23:29:08 +0100
From:	Ben Hutchings <bhutchings@...arflare.com>
To:	Bill Fink <billfink@...dspring.com>
Cc:	Alan Cox <alan@...rguk.ukuu.org.uk>,
	James Cammarata <jimi@...x.net>,
	Andrew Morton <akpm@...ux-foundation.org>,
	linux-kernel@...r.kernel.org,
	Linux Netdev List <netdev@...r.kernel.org>
Subject: Re: [PATCH] net: add ability to clear stats via ethtool - e1000/pcnet32

Bill Fink wrote:
> On Sun, 1 Jun 2008, Ben Hutchings wrote:
> 
> > Bill Fink wrote:
> > <snip>
> > > Yes, every individual Linux network administrator can re-create the
> > > wheel by devising their own scripts, but it makes much more sense
> > > to me to implement a simple general kernel mechanism once that could
> > > be used generically, than to have hundreds (or thousands) of Linux
> > > network administrators each having to do it themselves (perhaps
> > > multiple times if they have a variety of types of systems and types
> > > of NICs).
> > 
> > The ethtool interface is pretty generic, even if the names aren't.
> > Here's some Python code I just knocked up which demonstrates how
> > to get a set of named stats.  It shouldn't be terribly hard to
> > extend this to saving and subtracting stat sets.
> 
> I'm not sure what that proves.  Your python code just basically gives
> the same info as running the "ethtool -S" command.

Yes, but in a form you can more easily manipulate.

> But the question
> is how does one devise a generic script or tool that doesn't require
> any special knowledge of the specific NIC being used.  For example,
> here's the "ethtool -S" info for my myri10ge NIC:
> 
> [root@...nce8 ~]# ethtool -S eth2
> NIC statistics:
[...]
>      WC: 1
>      irq: 8413
>      MSI: 1
>      read_dma_bw_MBs: 1398
>      write_dma_bw_MBs: 1613
>      read_write_dma_bw_MBs: 2711
>      serial_number: 287046
[...]
>      tx_linearized: 0
>      link_changes: 8
>      link_up: 1
[...]
> 
> How does one know which of these reported values are counter stats
> that one wishes to zero/snapshot, and which are not?

Ah, I see, I didn't realise some drivers were abusing ethtool stats in
this way.  But for the most part the differences will show up as zeroes.

If there's really a need for ethtool stats that aren't counters,
maybe the ethtool API should include flags to indicate which they are.

> Another issue that occurred to me is if multiple people are working
> on troubleshooting a network problem, how do we insure that they all
> get a consistent view of the stats?  If this is done via a kernel
> mechanism then there isn't an issue.  But if it's done via user space,
> then you have to make sure that everyone zeros/snapshots the stats
> at the same time.
> 
> Ideally, one should be able to do something like "ethtool -z ethX"
> to zero/snapshot the driver stats, and then "ethtool -S ethX" to get
> the stats since the last snapshot.  You should be able to use the
> same tool ("ethtool") to do all of this, and not some other special
> tool or specially devised homegrown script.  Why make users lives
> any more difficult than need be?

No-one's stopping you from adding these options to ethtool.  You could
have it save statistic sets in, say, /var/run/ethtool.

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ