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.