netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Garzik <jeff@garzik.org>
To: Ben Hutchings <bhutchings@solarflare.com>
Cc: Stephen Hemminger <shemminger@vyatta.com>,
	NetDev <netdev@vger.kernel.org>,
	David Miller <davem@davemloft.net>
Subject: Re: the future of ethtool
Date: Mon, 15 Nov 2010 17:49:33 -0500	[thread overview]
Message-ID: <4CE1B8FD.3000007@garzik.org> (raw)
In-Reply-To: <1289857936.2586.51.camel@bwh-desktop>

On 11/15/2010 04:52 PM, Ben Hutchings wrote:
> On Mon, 2010-11-15 at 13:14 -0800, Stephen Hemminger wrote:
>> On Mon, 15 Nov 2010 21:14:02 +0000
>> Ben Hutchings<bhutchings@solarflare.com>  wrote:
>>
>>> On Mon, 2010-11-15 at 12:44 -0800, Stephen Hemminger wrote:
>>> [...]
>>>> My views are simple:
>>>>
>>>> Ethtool needs to be an extension of existing netlink API for interfaces.
>>>>    - handles multiple values per transaction
>>>>    - extensible
>>> [...]
>>>
>>> Are you suggesting to send and receive the existing ethtool command and
>>> result structures (with some wrapping) through netlink?  Or some larger
>>> change to the API?
>>
>> The existing ioctl base API should be kept as legacy and something
>> better developed.
>
> So you're saying: expose all new operations through netlink (and only
> netlink) while keeping the old operations exposed only through ioctl?
> That's hardly an improvement as it means ethtool or any other
> configuration utility will have to support both APIs indefinitely.

s/only//   I don't think Stephen is suggesting sending _some_ ops 
through netlink and others through old-ioctl.  That's just silly.  Any 
new netlink interface should transit all existing ETHTOOL_xxx 
commands/structures.

But presumably, one would have the ability to send multiple ETHTOOL_xxx 
bundled together into a single netlink transaction, facilitating the 
kernel's calling of struct ethtool_ops'
	->begin()
	... first operation specified by userspace via netlink ...
	... second operation specified by userspace via netlink ...
	... etc.
	->end()

The underlying struct ethtool_ops remains unchanged; you're only 
changing the transit method.

Thus, the ethtool userspace utility would switch entirely to netlink, 
while the ioctl processing code remains for binary compatibility.

Or... ethtool userspace utility could remain unchanged, and a new 
'nictool' utility provides the same features but with (a) a new CLI and 
(b) exclusively uses netlink rather than ioctl.

	Jeff



  reply	other threads:[~2010-11-15 22:49 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-15 19:41 the future of ethtool Jeff Garzik
2010-11-15 20:18 ` Ben Hutchings
2010-11-15 20:44   ` Stephen Hemminger
2010-11-15 21:14     ` Ben Hutchings
2010-11-15 21:14       ` Stephen Hemminger
2010-11-15 21:52         ` Ben Hutchings
2010-11-15 22:49           ` Jeff Garzik [this message]
2010-11-15 23:33             ` Thomas Graf
2010-11-16  0:07               ` Jeff Garzik
2010-11-16  0:10               ` Ben Hutchings
2010-11-16  6:25                 ` Thomas Graf
2010-11-16  2:02               ` David Miller
2010-11-16  6:17                 ` Thomas Graf
2010-11-15 21:03   ` Jeff Garzik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4CE1B8FD.3000007@garzik.org \
    --to=jeff@garzik.org \
    --cc=bhutchings@solarflare.com \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    --cc=shemminger@vyatta.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).