[ECOS] SNMP data available in 1.0b1 stack?

Hugo Tyson hmt@redhat.com
Thu Dec 7 02:45:00 GMT 2000

Jonathan Larmour <jlarmour@cygnus.co.uk> writes:
> Grant Edwards wrote:
> > On Wed, Dec 06, 2000 at 07:30:17PM +0000, Jonathan Larmour wrote:
> > 
> > > But you would need an updated network stack to have those
> > > stats I believe?


> > It looks like they're there in 1.0b1:
> [snip] 
> > The one that's missing is etheripstat, and I presume that's
> > because my ethernet driver isn't filling in the data and there
> > are no references to it.

Grepping the current trunk code....
1) etheripstat is not used *anywhere* in our sources at all, not even by
2) etheripstat seems to be conditional on IPSEC, which we don't define.
3) the comment in netinet/ip_ether.h suggests that it's for
   "Ethernet-inside-IP processing" - is this a type of tunneling?
   Anyway, it's NOT for normal ethernet device stats; 
   specifically, there would have to be one per interface.

> > Now that I think about it, don't some of the test programs in
> > the net 1.0b1 distros print out data from some of these when
> > they finish?
> Yes you're right. It's the ethernet driver statistics I was thinking about.
> The main stats should be there in the EPK.

The ethernet device stats are acquired by an ioctl() in the device driver,
using a new struct that wasn't part of the TCP/IP stack.  Yes, that new
code was written for SNMPs usage.  "io/eth/current/include/eth_drv_stats.h"
defines it, the ioctl numbers are in "io/eth/current/include/eth_drv.h"

It has to be an ioctl() because SNMP wants stats separately for each
device, without knowing the type of device, nor knowing in advance how many
there are.  Including customer devices that I have 0 knowledge of.  So a
single static struct, nor even a static array of structs doesn't cut it.

To summarize: etheripstat is a red herring. ;-)

	- Huge

More information about the Ecos-discuss mailing list