Jes Sorensen wrote:
> >>>>> "Jeff" == Jeff Garzik <jgarzik@xxxxxxxxxxxxxxxx> writes:
> Jeff> If they are NIC-specific, then you should just use ioctls...
> Jeff> It's a silly redirection to add NIC-specific stuff to the
> Jeff> ethtool ioctl, when you could just add a private ioctl.
> And another tool to access it so we end up with ethtool and acetool
> and sktool and hmetool and 3c905tool etc etc. all of them basically
> doing the same thing. It seems silly to have two tools, one for
> setting the link rate and flow control and one for setting the
> interrupt coalescing counters.
> The point is that a lot of the NICs have the same type of tuning
> variables, sometimes they are identical sometimes they are slightly
> different. My suggestion is that we either teach ethtool about the
> different names of tuning parameters or if we are lazy just allow one
> to set `NIC private parameters 1-16 with it' and define those for the
> different NIC as different things.
I stick to my assertion that creating driver-private ioctls is the way
to go. Given your good point however, my suggestion would be to modify
userland ethtool to support the acenic/tulip/foo-specific ioctls. Sort
of like how mount(8) supports fs-specific options, along with general
Many of the Becker-derived drivers export an MDIO interface, but do not
support ethtool.h. I already plan to modify userland ethtool to support
these driver-private ioctls, until they are modified for full ethtool
support in-kernel. This immediately makes ethtool useful for many more
users, and it should eliminate the need for the /sbin/mii-tool that
comes with pcmcia-cs.
So far I don't yet know who is maintaining userland ethtool. I'm
guessing DaveM or Jakub Jelinek (sp?), since they appear to have
originally written/packaged it. I need to figure that one out before I
start making too many changes to ethtool.c...
P.S. For 2.5, I would like to write an mii-phy module. Then all these
mdio-alike drivers can pass their mdio_read and mdio_write functions to
a generic layer, which properly handles ethtool and the older
dev->if_port form of media selection. This will also allow us to
identify and work around bugs in specific MII PHYs that might affect
more than one type of NIC.
Jeff Garzik | May you have warm words on a cold evening,
Building 1024 | a full mooon on a dark night,
MandrakeSoft | and a smooth road all the way to your door.