Re: ethtool documentation

From: Abraham vd Merwe (abraham@2d3d.co.za)
Date: Tue Aug 06 2002 - 05:17:51 EST


Hi Tim!

> These are the valid parameters to the SIOCETHTOOL ioctl(). Network drivers
> should support these as much as possible.
>
> ETHTOOL_GSET
> ETHTOOL_SSET
>
> Get/set NIC settings. These commands expect a 'struct ethtool_cmd *'
> argument. This struct includes fields for supported features (speed,
> duplex, transceiver), advertised features, speed, duplex, port,
> transceiver, and autonegotiation. If the caller attempts to set an
> invalid value for any field, return -EINVAL.

What is the difference between the supported and advertising fields?
What is MII? (as in the SUPPORTED_MII feature?).

If you can't control the # of ints before Tx/Rx, I take it you can just
set those fields to 0?

> ETHTOOL_GDRVINFO
>
> Get driver information. This command expects a 'struct ethtool_drvinfo *'
> argument. This struct includes the driver identifier as a string, the
> driver version as a string, bus information for the interface, and length
> information for other ETHTOOL_* commands.

What do you set the bus_info field to if there is no bus? Where are all
these bus types defined? The header file isn't very clear about anything
other than pci bus types.

I take it you can just set fw_version to zero length string if it is unknown?

> ETHTOOL_GEEPROM
> ETHTOOL_SEEPROM
>
> Get/set EEPROM data. These commands expect a 'struct ethtool_eeprom *'
> argument. This struct has a magic number, an offset and length pair, and a
> data field. If the offset+length are longer than the maximum size, the
> extra is silently ignored.

Wouldn't it have been better to make this 'n character device which can be
read from / written to just like a normal file (/dev/nvram-like interface) -
that way applications can actually use unused eeprom space.

> ETHTOOL_GCOALESCE
> ETHTOOL_SCOALESCE
>
> Get/set coalescing parameters. These commands expect a 'struct
> ethtool_coalesce *' argument. This struct has several fields for
> configuring coalescing - see ethtool.h for details. If the caller
> attempts to set an invalid value, return -EINVAL.

Wtf is coalescing parameters? These commands aren't even defined in the
2.4.18 kernel headers. Is this 2.5.xx additions?

Same goes for the following commands:

> ETHTOOL_GRINGPARAM
> ETHTOOL_SRINGPARAM
> ETHTOOL_GPAUSEPARAM
> ETHTOOL_SPAUSEPARAM
> ETHTOOL_GRXCSUM
> ETHTOOL_SRXCSUM
> ETHTOOL_GTXCSUM
> ETHTOOL_STXCSUM
> ETHTOOL_GSG
> ETHTOOL_SSG
> ETHTOOL_TEST
> ETHTOOL_GSTRINGS
> ETHTOOL_PHYS_ID
> ETHTOOL_GSTATS

-- 

Regards Abraham

Lying is an indispensable part of making life tolerable. -- Bergan Evans

__________________________________________________________ Abraham vd Merwe - 2d3D, Inc.

Device Driver Development, Outsourcing, Embedded Systems

Cell: +27 82 565 4451 Snailmail: Tel: +27 21 761 7549 Block C, Aintree Park Fax: +27 21 761 7648 Doncaster Road Email: abraham@2d3d.co.za Kenilworth, 7700 Http: http://www.2d3d.com South Africa


- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Aug 07 2002 - 22:00:30 EST