[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <df7773c4-8695-38dd-bedd-39b88f4aaec1@gmail.com>
Date: Thu, 5 Apr 2018 08:50:49 -0700
From: Florian Fainelli <f.fainelli@...il.com>
To: Jose Abreu <Jose.Abreu@...opsys.com>,
David Miller <davem@...hat.com>,
Jakub Jelinek <jj@...ra.linux.cz>,
Jeff Garzik <jgarzik@...ox.com>, Tim Hockin <thockin@....com>,
Eli Kupermann <eli.kupermann@...el.com>,
Chris Leech <christopher.leech@...el.com>,
Scott Feldman <scott.feldman@...el.com>,
Ben Hutchings <ben@...adent.org.uk>
Cc: netdev@...r.kernel.org, Joao Pinto <Joao.Pinto@...opsys.com>
Subject: Re: [RFC] ethtool: Support for driver private ioctl's
On 04/05/2018 03:47 AM, Jose Abreu wrote:
> Hi All,
>
> I would like to know your opinion regarding adding support for
> driver private ioctl's in ethtool.
>
> Background: Synopsys Ethernet IP's have a certain number of
> features which can be reconfigured at runtime. Giving you two
> examples: One of the most recent one is the safety features,
> which can be enabled/disabled and forced at runtime. Another one
> is a Flexible RX Parser which can route specific packets to
> specific RX DMA channels. Given that these are features specific
> to our IP's it would not be useful to add an uniform API for this
> because the users would only be one or two drivers ...
Parsing of packets and directing the matched packets to specific
queues/channels can be done through ethtool rxnfc API, tc/cls_flower as
well, so you should really check whether those APIs don't already allow
you to do what you want.
ethtool already supports a concept of private flags, not ioctl() though
which allows you to toggle boolean values for instance (or technically
up to how many bits a "flag" is used to represent) is that enough or do
you need to turn on/off the feature as well as pass configuration
parameters?
>
> This new feature would change the help usage for ethtool so that
> each driver private option would be shown, and then each driver
> specific file would have a structure with all the available
> options. Finally, each driver would have to handle the private
> IOCTL's.
>
> We already have this working locally and now I would like to know
> your opinion about upstreaming this ... Do you think this can be
> useful for anyone else? Or should we change direction to use, for
> example, debugfs/configfs?
In general, even if there is only one driver implementing a particular
feature, the approach chosen is to come up with an API that is as
generic as possible. Even if there is a single user of that API in tree,
having something that was thought to be generic is better than allowing
uncontrolled private ioctl() implementations.
--
Florian
Powered by blists - more mailing lists