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

From: Benjamin Poirier <[email-masked]>
Date: Fri, 9 Sep 2022 15:09:50 +0900

On 2022-09-08 16:11 +0000, 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?

There are more details in
Documentation/process/coding-style.rst, end of §4.