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

From: Stephen Hemminger <[email-masked]>
Date: Thu, 8 Sep 2022 09:39:31 -0700

On Thu, 8 Sep 2022 09:35:03 -0700
Florian Fainelli <[email-masked]> wrote:

> On 9/8/2022 9:11 AM, Vladimir Oltean wrote:
> > On Thu, Sep 08, 2022 at 07:25:19AM -0700, Stephen Hemminger wrote:  
> >> On Thu, 8 Sep 2022 08:08:23 -0600 David Ahern <[email-masked]> wrote:  
> >>>> 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.