On Fri, 2006-09-08 at 16:02 -0700, Joost Mulders wrote:
> If I'm right, looking at the current nemo based drivers such as bge and
> rge, I see that these drivers maintain *all* statistics created by the
> MAC module, including, for example, ibytes and obytes. 
> 
> If I am right with the above: Will it stay this way or will the ethernet
> plugin maintain some generic stats in the future again?

There are no plans that I know of to change the driver statistics
interfaces in GLDv3 from what is currently implemented.

The mechanism works as follows:

The GLDv3 framework defines a set of statistics that a driver can choose
to maintain.  The statistics are divided into two subsets: generic
interface statistics defined in <sys/mac.h> in the mac_driver_stat enum,
and MAC-type specific statistics defined by the MAC-type plugin used by
that driver.  For the Ethernet (mac_ether plugin), those statistics are
defined in the ether_stat enum in <sys/mac_ether.h>.

When the framework needs the value of any of the aforementioned
statistics, it calls the driver's mc_getstat() callback.  If the driver
supports the given statistic, it sets the statistic's current value in
the "val" pointer (the third argument to mc_getstat()) and returns 0.
If the driver does not support the requested statistic, it returns
ENOTSUP.

This is described in section 2.2.1 of:

http://www.opensolaris.org/os/project/clearview/nemo-binary-compatibility.txt

This information will soon be incorporated into the Nemo design
documentation.

Also note that the interfaces we're discussing here are currently
Consolidation Private, which means that they're only safe to use if the
driver is delivered with the ON consolidation.

-Seb


_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to