Thread (19 messages) flat view 19 messages, 6 authors, 2022-09-09

Re: [PATCH iproute2] ip link: add sub-command to view and change DSA master

From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2022-09-08 16:39:38

On Thu, 8 Sep 2022 09:35:03 -0700
Florian Fainelli [off-list ref] wrote:
On 9/8/2022 9:11 AM, Vladimir Oltean wrote:
quoted
On Thu, Sep 08, 2022 at 07:25:19AM -0700, Stephen Hemminger wrote:  
quoted
On Thu, 8 Sep 2022 08:08:23 -0600 David Ahern [off-list ref] wrote:  
quoted
quoted
Proposing any alternative naming raises the question how far you want to
go with the alternative name. No user of DSA knows the "conduit interface"
or "management port" or whatnot by any other name except "DSA master".
What do we do about the user-visible Documentation/networking/dsa/configuration.rst,
which clearly and consistently uses the 'master' name everywhere?
Do we replace 'master' with something else and act as if it was never
named 'master' in the first place? Do we introduce IFLA_DSA_MGMT_PORT as
UAPI and explain in the documentation "oh yeah, that's how you change
the DSA master"? "Ahh ok, why didn't you just call it IFLA_DSA_MASTER
then?" "Well...."

Also, what about the code in net/dsa/*.c and drivers/net/dsa/, do we
also change that to reflect the new terminology, or do we just have
documentation stating one thing and the code another?

At this stage, I'm much more likely to circumvent all of this, and avoid
triggering anyone by making a writable IFLA_LINK be the mechanism through
which we change the DSA master.  
IMHO, 'master' should be an allowed option giving the precedence of
existing code and existing terminology. An alternative keyword can be
used for those that want to avoid use of 'master' in scripts. vrf is an
example of this -- you can specify 'vrf <device>' as a keyword instead
of 'master <vrf>'  
Agreed, just wanted to start discussion of alternative wording.  
So are we or are we not in the clear with IFLA_DSA_MASTER and
"ip link set ... type dsa master ..."? What does being in the clear even
mean technically, and where can I find more details about the policy
which you just mentioned? Like is it optional or mandatory, was there
any public debate surrounding the motivation for flagging some words,
how is it enforced, are there official exceptions, etc?  
The "bonding" driver topic has some good context:

https://lkml.iu.edu/hypermail/linux/kernel/2010.0/02186.html
On another mail thread, discussed naming with the IEEE 802 committee.
And they said master/slave is not used in either the current version
of the bridging or bonding standards.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help