From: Hannes Frederic Sowa <hannes@stressinduktion.org>
To: Jiri Pirko <jiri@resnulli.us>
Cc: David Miller <davem@davemloft.net>,
netdev@vger.kernel.org, idosch@mellanox.com, eladr@mellanox.com,
yotamg@mellanox.com, ogerlitz@mellanox.com, yishaih@mellanox.com,
dledford@redhat.com, sean.hefty@intel.com,
hal.rosenstock@gmail.com, eugenia@mellanox.com,
roopa@cumulusnetworks.com, nikolay@cumulusnetworks.com,
hadarh@mellanox.com, jhs@mojatatu.com, john.fastabend@gmail.com,
jeffrey.t.kirsher@intel.com, brouer@redhat.com,
ivecera@redhat.com, rami.rosen@intel.com,
gospo@cumulusnetworks.com
Subject: Re: [patch net-next v2 0/9] Introduce devlink interface and first drivers to use it
Date: Thu, 25 Feb 2016 22:53:30 +0100 [thread overview]
Message-ID: <56CF77DA.7050602@stressinduktion.org> (raw)
In-Reply-To: <20160225211256.GA2164@nanopsycho.orion>
On 25.02.2016 22:12, Jiri Pirko wrote:
> Thu, Feb 25, 2016 at 09:44:43PM CET, hannes@stressinduktion.org wrote:
>> On 25.02.2016 21:12, David Miller wrote:
>>> From: Jiri Pirko <jiri@resnulli.us>
>>> Date: Tue, 23 Feb 2016 16:51:25 +0100
>>>
>>>> There a is need for some userspace API that would allow to expose things
>>>> that are not directly related to any device class like net_device of
>>>> ib_device, but rather chip-wide/switch-ASIC-wide stuff.
>>>>
>>>> Use cases:
>>>> 1) get/set of port type (Ethernet/InfiniBand)
>>>> 2) setting up port splitters - split port into multiple ones and squash again,
>>>> enables usage of splitter cable
>>>> 3) setting up shared buffers - shared among multiple ports within
>>>> one chip (work in progress)
>>>> 4) configuration of switch wide properties - resources division etc - This will
>>>> allow to pass configuration that is unacceptable to be passed as
>>>> a module option.
>>>>
>>>> First patch of this set introduces a new generic Netlink based interface,
>>>> called "devlink". It is similar to nl80211 model and it is heavily
>>>> influenced by it, including the API definition. The devlink introduction patch
>>>> implements use cases 1) and 2). Other 2 are in development atm and will
>>>> be addressed by follow-ups.
>>>>
>>>> It is very convenient for drivers to use devlink, as you can see in other
>>>> patches in this set.
>>>>
>>>> Counterpart for devlink is userspace tool for now called "dl". Command line
>>>> interface and outputs are derived from "ip" tool so it should be easy
>>>> for users to get used to it.
>>>
>>> I am very close to applying this series as-is.
>>>
>>> The clincher for me is that there is precendence in the nl80211 stuff,
>>> so obviously whatever userland infrastructure sits on top of that has
>>> found a way to deal whatever perceived shortcomings devlink has.
>>
>> Actually nl80211 phy interfaces aren't really managed by wpa_supplicant nor
>> NetworkManager, but they use net_device names to discover those later on. In
>> devlink we don't necessarily have netdev names, thus my only objection to
>> this series is to switch to stable topology identifiers.
>
> Hannes, as I mentioned earlier in one of my replies, you can choose to
> use devlink name or pci (or other) address for your commands. So you
> have your stable names even before udev takes care of renaming. It's up
> to you as a user what handle to use.
I understood that part from the beginning. In my opinion we should
simply keep APIs simple and clean, reduced to the minimum and let user
space build upon this.
If an entity in the kernel doesn't need a name and/or a naming database,
I would not bother implementing it. Not everyone is a kernel developer
who uses Linux and can infer the problems from dl --help. I bet most
users will use names at some point in time and they simply can't match
even with the udev quirks in place when setting up netbooting or
configuration must happen from the currently provided initramfs. This is
my point.
If names are fragile to use simply don't provide it if not necessary.
devlink is an interface of its own and the names won't be referenced by
other subsystems like iptables -i <name> or iproute. So why bother with
names in the kernel?
On the rest with netlink etc. I agree already. I just want to eliminate
possible mistakes by users.
Hope that makes my point more clear,
Hannes
next prev parent reply other threads:[~2016-02-25 21:53 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-23 15:51 [patch net-next v2 0/9] Introduce devlink interface and first drivers to use it Jiri Pirko
2016-02-23 15:51 ` [patch net-next v2 1/9] Introduce devlink infrastructure Jiri Pirko
2016-02-23 21:19 ` Jarod Wilson
2016-02-24 7:19 ` Jiri Pirko
2016-02-24 16:12 ` Jarod Wilson
2016-02-23 15:51 ` [patch net-next v2 2/9] mlx4: Implement devlink interface Jiri Pirko
2016-02-23 15:51 ` [patch net-next v2 3/9] mlx4: Implement port type setting via " Jiri Pirko
2016-02-23 15:51 ` [patch net-next v2 4/9] mlxsw: Implement " Jiri Pirko
2016-02-23 15:51 ` [patch net-next v2 5/9] mlxsw: core: Add devlink port splitter callbacks Jiri Pirko
2016-02-23 15:51 ` [patch net-next v2 6/9] mlxsw: spectrum: Unmap local port from module during teardown Jiri Pirko
2016-02-23 15:51 ` [patch net-next v2 7/9] mlxsw: spectrum: Store local port to module mapping during init Jiri Pirko
2016-02-23 15:51 ` [patch net-next v2 8/9] mlxsw: spectrum: Mark unused ports using NULL Jiri Pirko
2016-02-23 15:51 ` [patch net-next v2 9/9] mlxsw: spectrum: Introduce port splitting Jiri Pirko
2016-02-25 20:12 ` [patch net-next v2 0/9] Introduce devlink interface and first drivers to use it David Miller
2016-02-25 20:44 ` Hannes Frederic Sowa
2016-02-25 21:12 ` Jiri Pirko
2016-02-25 21:53 ` Hannes Frederic Sowa [this message]
2016-02-25 22:58 ` Jiri Pirko
2016-02-25 21:50 ` Andy Gospodarek
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=56CF77DA.7050602@stressinduktion.org \
--to=hannes@stressinduktion.org \
--cc=brouer@redhat.com \
--cc=davem@davemloft.net \
--cc=dledford@redhat.com \
--cc=eladr@mellanox.com \
--cc=eugenia@mellanox.com \
--cc=gospo@cumulusnetworks.com \
--cc=hadarh@mellanox.com \
--cc=hal.rosenstock@gmail.com \
--cc=idosch@mellanox.com \
--cc=ivecera@redhat.com \
--cc=jeffrey.t.kirsher@intel.com \
--cc=jhs@mojatatu.com \
--cc=jiri@resnulli.us \
--cc=john.fastabend@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=nikolay@cumulusnetworks.com \
--cc=ogerlitz@mellanox.com \
--cc=rami.rosen@intel.com \
--cc=roopa@cumulusnetworks.com \
--cc=sean.hefty@intel.com \
--cc=yishaih@mellanox.com \
--cc=yotamg@mellanox.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).