All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
@ 2022-09-21 16:51 Vladimir Oltean
  2022-09-21 18:36 ` Stephen Hemminger
  0 siblings, 1 reply; 28+ messages in thread
From: Vladimir Oltean @ 2022-09-21 16:51 UTC (permalink / raw)
  To: netdev
  Cc: David Ahern, Stephen Hemminger, Andrew Lunn, Vivien Didelot,
	Florian Fainelli

Support the "dsa" kind of rtnl_link_ops exported by the kernel, and
export reads/writes to IFLA_DSA_MASTER.

Examples:

$ ip link set swp0 type dsa master eth1

$ ip -d link show dev swp0
    (...)
    dsa master eth0

$ ip -d -j link show swp0
[
	{
		"link": "eth1",
		"linkinfo": {
			"info_kind": "dsa",
			"info_data": {
				"master": "eth1"
			}
		},
	}
]

Note that by construction and as shown in the example, the IFLA_LINK
reported by a DSA user port is identical to what is reported through
IFLA_DSA_MASTER. However IFLA_LINK is not writable, and overloading its
meaning to make it writable would clash with other users of IFLA_LINK
(vlan etc) for which writing this property does not make sense.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
---
v1->v2: update man page

The kernel side patches have been merged, so this should be good to go!
https://patchwork.kernel.org/project/netdevbpf/cover/20220911010706.2137967-1-vladimir.oltean@nxp.com/

 include/uapi/linux/if_link.h | 10 ++++++
 ip/Makefile                  |  2 +-
 ip/iplink_dsa.c              | 67 ++++++++++++++++++++++++++++++++++++
 man/man8/ip-link.8.in        | 32 +++++++++++++++++
 4 files changed, 110 insertions(+), 1 deletion(-)
 create mode 100644 ip/iplink_dsa.c

diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h
index e0fbbfeeb3a1..6f4d7b1ff9fb 100644
--- a/include/uapi/linux/if_link.h
+++ b/include/uapi/linux/if_link.h
@@ -1372,4 +1372,14 @@ enum {
 
 #define IFLA_MCTP_MAX (__IFLA_MCTP_MAX - 1)
 
+/* DSA section */
+
+enum {
+	IFLA_DSA_UNSPEC,
+	IFLA_DSA_MASTER,
+	__IFLA_DSA_MAX,
+};
+
+#define IFLA_DSA_MAX	(__IFLA_DSA_MAX - 1)
+
 #endif /* _LINUX_IF_LINK_H */
diff --git a/ip/Makefile b/ip/Makefile
index 6c2e072049a2..8fd9e295f344 100644
--- a/ip/Makefile
+++ b/ip/Makefile
@@ -8,7 +8,7 @@ IPOBJ=ip.o ipaddress.o ipaddrlabel.o iproute.o iprule.o ipnetns.o \
     iplink_macvlan.o ipl2tp.o link_vti.o link_vti6.o link_xfrm.o \
     iplink_vxlan.o tcp_metrics.o iplink_ipoib.o ipnetconf.o link_ip6tnl.o \
     link_iptnl.o link_gre6.o iplink_bond.o iplink_bond_slave.o iplink_hsr.o \
-    iplink_bridge.o iplink_bridge_slave.o ipfou.o iplink_ipvlan.o \
+    iplink_bridge.o iplink_bridge_slave.o iplink_dsa.o ipfou.o iplink_ipvlan.o \
     iplink_geneve.o iplink_vrf.o iproute_lwtunnel.o ipmacsec.o ipila.o \
     ipvrf.o iplink_xstats.o ipseg6.o iplink_netdevsim.o iplink_rmnet.o \
     ipnexthop.o ipmptcp.o iplink_bareudp.o iplink_wwan.o ipioam6.o \
diff --git a/ip/iplink_dsa.c b/ip/iplink_dsa.c
new file mode 100644
index 000000000000..d984e8b3b534
--- /dev/null
+++ b/ip/iplink_dsa.c
@@ -0,0 +1,67 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * iplink_dsa.c		DSA switch support
+ */
+
+#include "utils.h"
+#include "ip_common.h"
+
+static void print_usage(FILE *f)
+{
+	fprintf(f, "Usage: ... dsa [ master DEVICE ]\n");
+}
+
+static int dsa_parse_opt(struct link_util *lu, int argc, char **argv,
+			 struct nlmsghdr *n)
+{
+	while (argc > 0) {
+		if (strcmp(*argv, "master") == 0) {
+			__u32 ifindex;
+
+			NEXT_ARG();
+			ifindex = ll_name_to_index(*argv);
+			if (!ifindex)
+				invarg("Device does not exist\n", *argv);
+			addattr_l(n, 1024, IFLA_DSA_MASTER, &ifindex, 4);
+		} else if (strcmp(*argv, "help") == 0) {
+			print_usage(stderr);
+			return -1;
+		} else {
+			fprintf(stderr, "dsa: unknown command \"%s\"?\n", *argv);
+			print_usage(stderr);
+			return -1;
+		}
+		argc--;
+		argv++;
+	}
+
+	return 0;
+}
+
+static void dsa_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
+{
+	if (!tb)
+		return;
+
+	if (tb[IFLA_DSA_MASTER]) {
+		__u32 master = rta_getattr_u32(tb[IFLA_DSA_MASTER]);
+
+		print_string(PRINT_ANY,
+			     "master", "master %s ",
+			     ll_index_to_name(master));
+	}
+}
+
+static void dsa_print_help(struct link_util *lu, int argc, char **argv,
+			   FILE *f)
+{
+	print_usage(f);
+}
+
+struct link_util dsa_link_util = {
+	.id		= "dsa",
+	.maxattr	= IFLA_DSA_MAX,
+	.parse_opt	= dsa_parse_opt,
+	.print_opt	= dsa_print_opt,
+	.print_help     = dsa_print_help,
+};
diff --git a/man/man8/ip-link.8.in b/man/man8/ip-link.8.in
index c45c10622251..cb0504793e06 100644
--- a/man/man8/ip-link.8.in
+++ b/man/man8/ip-link.8.in
@@ -213,6 +213,7 @@ ip-link \- network device configuration
 .BR bond " | "
 .BR bridge " | "
 .BR can " | "
+.BR dsa " | "
 .BR dummy " | "
 .BR erspan " |"
 .BR geneve " |"
@@ -304,6 +305,9 @@ Link types:
 .B can
 - Controller Area Network
 .sp
+.B dsa
+- Distributed Switch Architecture
+.sp
 .B dummy
 - Dummy network interface
 .sp
@@ -2637,6 +2641,29 @@ as well as the actual used bcqueuelen are listed to better help
 the user understand the setting.
 .in -8
 
+.TP
+DSA user port support
+For a link having the DSA user port type, the following additional arguments
+are supported:
+
+.B "ip link set type dsa "
+[
+.BI master " DEVICE"
+]
+
+.in +8
+.sp
+.BI master " DEVICE"
+- change the DSA master (host network interface) responsible for handling the
+local traffic termination of the given DSA switch user port. The selected
+interface must be eligible for operating as a DSA master of the switch tree
+which the DSA user port is a part of. Eligible DSA masters are those interfaces
+which have an "ethernet" reference towards their firmware node in the firmware
+description of the platform, or LAG (bond, team) interfaces which contain only
+such interfaces as their ports.
+
+.in -8
+
 .SS  ip link show - display device attributes
 
 .TP
@@ -2793,6 +2820,11 @@ erspan_ver 2 erspan_dir ingress erspan_hwid 17
 .RS 4
 Creates a IP6ERSPAN version 2 interface named ip6erspan00.
 .RE
+.PP
+ip link set dev swp0 type dsa master eth1
+.RS 4
+Changes the DSA master of the swp0 user port to eth1.
+.RE
 
 .SH SEE ALSO
 .br
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-21 16:51 [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master Vladimir Oltean
@ 2022-09-21 18:36 ` Stephen Hemminger
  2022-09-21 18:38   ` Vladimir Oltean
  0 siblings, 1 reply; 28+ messages in thread
From: Stephen Hemminger @ 2022-09-21 18:36 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: netdev, David Ahern, Andrew Lunn, Vivien Didelot, Florian Fainelli

On Wed, 21 Sep 2022 19:51:05 +0300
Vladimir Oltean <vladimir.oltean@nxp.com> wrote:

> +.BI master " DEVICE"
> +- change the DSA master (host network interface) responsible for handling the
> +local traffic termination of the given DSA switch user port. The selected
> +interface must be eligible for operating as a DSA master of the switch tree
> +which the DSA user port is a part of. Eligible DSA masters are those interfaces
> +which have an "ethernet" reference towards their firmware node in the firmware
> +description of the platform, or LAG (bond, team) interfaces which contain only
> +such interfaces as their ports.

We still need to find a better name for this.
DSA predates the LF inclusive naming but that doesn't mean it can't be
fixed in user visible commands.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-21 18:36 ` Stephen Hemminger
@ 2022-09-21 18:38   ` Vladimir Oltean
  2022-09-21 22:33     ` Stephen Hemminger
  2022-09-21 22:41     ` Stephen Hemminger
  0 siblings, 2 replies; 28+ messages in thread
From: Vladimir Oltean @ 2022-09-21 18:38 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: netdev, David Ahern, Andrew Lunn, Vivien Didelot, Florian Fainelli

On Wed, Sep 21, 2022 at 11:36:37AM -0700, Stephen Hemminger wrote:
> On Wed, 21 Sep 2022 19:51:05 +0300
> Vladimir Oltean <vladimir.oltean@nxp.com> wrote:
> 
> > +.BI master " DEVICE"
> > +- change the DSA master (host network interface) responsible for handling the
> > +local traffic termination of the given DSA switch user port. The selected
> > +interface must be eligible for operating as a DSA master of the switch tree
> > +which the DSA user port is a part of. Eligible DSA masters are those interfaces
> > +which have an "ethernet" reference towards their firmware node in the firmware
> > +description of the platform, or LAG (bond, team) interfaces which contain only
> > +such interfaces as their ports.
> 
> We still need to find a better name for this.
> DSA predates the LF inclusive naming but that doesn't mean it can't be
> fixed in user visible commands.

Need? Why need? Who needs this and since when?

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-21 18:38   ` Vladimir Oltean
@ 2022-09-21 22:33     ` Stephen Hemminger
  2022-09-22 14:41       ` Vladimir Oltean
  2022-09-21 22:41     ` Stephen Hemminger
  1 sibling, 1 reply; 28+ messages in thread
From: Stephen Hemminger @ 2022-09-21 22:33 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: netdev, David Ahern, Andrew Lunn, Vivien Didelot, Florian Fainelli

On Wed, 21 Sep 2022 18:38:28 +0000
Vladimir Oltean <vladimir.oltean@nxp.com> wrote:

> On Wed, Sep 21, 2022 at 11:36:37AM -0700, Stephen Hemminger wrote:
> > On Wed, 21 Sep 2022 19:51:05 +0300
> > Vladimir Oltean <vladimir.oltean@nxp.com> wrote:
> >   
> > > +.BI master " DEVICE"
> > > +- change the DSA master (host network interface) responsible for handling the
> > > +local traffic termination of the given DSA switch user port. The selected
> > > +interface must be eligible for operating as a DSA master of the switch tree
> > > +which the DSA user port is a part of. Eligible DSA masters are those interfaces
> > > +which have an "ethernet" reference towards their firmware node in the firmware
> > > +description of the platform, or LAG (bond, team) interfaces which contain only
> > > +such interfaces as their ports.  
> > 
> > We still need to find a better name for this.
> > DSA predates the LF inclusive naming but that doesn't mean it can't be
> > fixed in user visible commands.  
> 
> Need? Why need? Who needs this and since when?

There is no reason that words with long emotional history need to be used
in network command.

https://inclusivenaming.org/word-lists/

https://inclusivenaming.org/word-lists/tier-1/

I understand that you and others that live in different geographies may
have different feelings about this. But the goal as a community to
not use names and terms that may hinder new diverse people from
being involved.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-21 18:38   ` Vladimir Oltean
  2022-09-21 22:33     ` Stephen Hemminger
@ 2022-09-21 22:41     ` Stephen Hemminger
  2022-09-22  1:30       ` Andrew Lunn
  1 sibling, 1 reply; 28+ messages in thread
From: Stephen Hemminger @ 2022-09-21 22:41 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: netdev, David Ahern, Andrew Lunn, Vivien Didelot, Florian Fainelli

On Wed, 21 Sep 2022 18:38:28 +0000
Vladimir Oltean <vladimir.oltean@nxp.com> wrote:

> On Wed, Sep 21, 2022 at 11:36:37AM -0700, Stephen Hemminger wrote:
> > On Wed, 21 Sep 2022 19:51:05 +0300
> > Vladimir Oltean <vladimir.oltean@nxp.com> wrote:
> >   
> > > +.BI master " DEVICE"
> > > +- change the DSA master (host network interface) responsible for handling the
> > > +local traffic termination of the given DSA switch user port. The selected
> > > +interface must be eligible for operating as a DSA master of the switch tree
> > > +which the DSA user port is a part of. Eligible DSA masters are those interfaces
> > > +which have an "ethernet" reference towards their firmware node in the firmware
> > > +description of the platform, or LAG (bond, team) interfaces which contain only
> > > +such interfaces as their ports.  
> > 
> > We still need to find a better name for this.
> > DSA predates the LF inclusive naming but that doesn't mean it can't be
> > fixed in user visible commands.  
> 
> Need? Why need? Who needs this and since when?

Also see: https://www.kernel.org/doc/html/v6.0-rc6/process/coding-style.html#naming

For symbol names and documentation, avoid introducing new usage of ‘master / slave’ (or ‘slave’ independent of ‘master’) and ‘blacklist / whitelist’.

Recommended replacements for ‘master / slave’ are:
‘{primary,main} / {secondary,replica,subordinate}’ ‘{initiator,requester} / {target,responder}’ ‘{controller,host} / {device,worker,proxy}’ ‘leader / follower’ ‘director / performer’

Recommended replacements for ‘blacklist/whitelist’ are:
‘denylist / allowlist’ ‘blocklist / passlist’

Exceptions for introducing new usage is to maintain a userspace ABI/API, or when updating code for an existing (as of 2020) hardware or protocol specification that mandates those terms. For new specifications translate specification usage of the terminology to the kernel coding standard where possible.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-21 22:41     ` Stephen Hemminger
@ 2022-09-22  1:30       ` Andrew Lunn
  2022-09-22 13:24         ` Jakub Kicinski
  0 siblings, 1 reply; 28+ messages in thread
From: Andrew Lunn @ 2022-09-22  1:30 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: Vladimir Oltean, netdev, David Ahern, Vivien Didelot, Florian Fainelli

On Wed, Sep 21, 2022 at 03:41:07PM -0700, Stephen Hemminger wrote:
> On Wed, 21 Sep 2022 18:38:28 +0000
> Vladimir Oltean <vladimir.oltean@nxp.com> wrote:
> 
> > On Wed, Sep 21, 2022 at 11:36:37AM -0700, Stephen Hemminger wrote:
> > > On Wed, 21 Sep 2022 19:51:05 +0300
> > > Vladimir Oltean <vladimir.oltean@nxp.com> wrote:
> > >   
> > > > +.BI master " DEVICE"
> > > > +- change the DSA master (host network interface) responsible for handling the
> > > > +local traffic termination of the given DSA switch user port. The selected
> > > > +interface must be eligible for operating as a DSA master of the switch tree
> > > > +which the DSA user port is a part of. Eligible DSA masters are those interfaces
> > > > +which have an "ethernet" reference towards their firmware node in the firmware
> > > > +description of the platform, or LAG (bond, team) interfaces which contain only
> > > > +such interfaces as their ports.  
> > > 
> > > We still need to find a better name for this.
> > > DSA predates the LF inclusive naming but that doesn't mean it can't be
> > > fixed in user visible commands.  
> > 
> > Need? Why need? Who needs this and since when?
> 
> Also see: https://www.kernel.org/doc/html/v6.0-rc6/process/coding-style.html#naming
> 
> For symbol names and documentation, avoid introducing new usage of ‘master / slave’ (or ‘slave’ independent of ‘master’) and ‘blacklist / whitelist’.
> 
> Recommended replacements for ‘master / slave’ are:
> ‘{primary,main} / {secondary,replica,subordinate}’ ‘{initiator,requester} / {target,responder}’ ‘{controller,host} / {device,worker,proxy}’ ‘leader / follower’ ‘director / performer’

Looking at these, none really fit the concept of what the master
interface is.

slave is also used quite a lot within DSA, but we can probably use
user in place of that, it is already somewhat used as a synonym within
DSA terminology.

Do you have any more recommendations for something which pairs with
user. 

   Andrew

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-22  1:30       ` Andrew Lunn
@ 2022-09-22 13:24         ` Jakub Kicinski
  2022-09-22 15:27           ` Stephen Hemminger
  2022-09-22 18:00           ` Vladimir Oltean
  0 siblings, 2 replies; 28+ messages in thread
From: Jakub Kicinski @ 2022-09-22 13:24 UTC (permalink / raw)
  To: Andrew Lunn
  Cc: Stephen Hemminger, Vladimir Oltean, netdev, David Ahern,
	Vivien Didelot, Florian Fainelli

On Thu, 22 Sep 2022 03:30:43 +0200 Andrew Lunn wrote:
> Looking at these, none really fit the concept of what the master
> interface is.
> 
> slave is also used quite a lot within DSA, but we can probably use
> user in place of that, it is already somewhat used as a synonym within
> DSA terminology.
> 
> Do you have any more recommendations for something which pairs with
> user. 

cpu-ifc? via?

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-21 22:33     ` Stephen Hemminger
@ 2022-09-22 14:41       ` Vladimir Oltean
  2022-09-22 15:30         ` Stephen Hemminger
  2022-09-22 15:42         ` Andrew Lunn
  0 siblings, 2 replies; 28+ messages in thread
From: Vladimir Oltean @ 2022-09-22 14:41 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: netdev, David Ahern, Andrew Lunn, Vivien Didelot, Florian Fainelli

On Wed, Sep 21, 2022 at 03:33:49PM -0700, Stephen Hemminger wrote:
> There is no reason that words with long emotional history need to be used
> in network command.
>
> https://inclusivenaming.org/word-lists/
>
> https://inclusivenaming.org/word-lists/tier-1/
>
> I understand that you and others that live in different geographies may
> have different feelings about this. But the goal as a community to
> not use names and terms that may hinder new diverse people from
> being involved.

The Linux kernel community is centered around a technical goal rather
than political or emotional ones, and for this reason I don't think it's
appropriate to go here in many more details than this.

All I will say is that I have more things to do than time to do them,
and I'm not willing to voluntarily go even one step back about this and
change the UAPI names while the in-kernel data structures and the
documentation remain with the old names, because it's not going to stop
there, and I will never have time for this.

So until this becomes mandatory in some sort of official way, I'd like
to make use of the exception paragraph, which in my reading applies
perfectly to this situation, thank you.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-22 13:24         ` Jakub Kicinski
@ 2022-09-22 15:27           ` Stephen Hemminger
  2022-09-22 15:36             ` Florian Fainelli
  2022-09-22 18:00           ` Vladimir Oltean
  1 sibling, 1 reply; 28+ messages in thread
From: Stephen Hemminger @ 2022-09-22 15:27 UTC (permalink / raw)
  To: Jakub Kicinski
  Cc: Andrew Lunn, Vladimir Oltean, netdev, David Ahern,
	Vivien Didelot, Florian Fainelli

On Thu, 22 Sep 2022 06:24:05 -0700
Jakub Kicinski <kuba@kernel.org> wrote:

> On Thu, 22 Sep 2022 03:30:43 +0200 Andrew Lunn wrote:
> > Looking at these, none really fit the concept of what the master
> > interface is.
> > 
> > slave is also used quite a lot within DSA, but we can probably use
> > user in place of that, it is already somewhat used as a synonym within
> > DSA terminology.
> > 
> > Do you have any more recommendations for something which pairs with
> > user.   
> 
> cpu-ifc? via?

I did look at the Switch Abstraction Layer document which
started at Microsoft for Sonic and is now part of Open Compute.

Didn't see anything there. The 802 spec uses words like
aggregator port etc.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-22 14:41       ` Vladimir Oltean
@ 2022-09-22 15:30         ` Stephen Hemminger
  2022-09-22 15:42         ` Andrew Lunn
  1 sibling, 0 replies; 28+ messages in thread
From: Stephen Hemminger @ 2022-09-22 15:30 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: netdev, David Ahern, Andrew Lunn, Vivien Didelot, Florian Fainelli

On Thu, 22 Sep 2022 14:41:24 +0000
Vladimir Oltean <vladimir.oltean@nxp.com> wrote:

> On Wed, Sep 21, 2022 at 03:33:49PM -0700, Stephen Hemminger wrote:
> > There is no reason that words with long emotional history need to be used
> > in network command.
> >
> > https://inclusivenaming.org/word-lists/
> >
> > https://inclusivenaming.org/word-lists/tier-1/
> >
> > I understand that you and others that live in different geographies may
> > have different feelings about this. But the goal as a community to
> > not use names and terms that may hinder new diverse people from
> > being involved.  
> 
> The Linux kernel community is centered around a technical goal rather
> than political or emotional ones, and for this reason I don't think it's
> appropriate to go here in many more details than this.
> 
> All I will say is that I have more things to do than time to do them,
> and I'm not willing to voluntarily go even one step back about this and
> change the UAPI names while the in-kernel data structures and the
> documentation remain with the old names, because it's not going to stop
> there, and I will never have time for this.
> 
> So until this becomes mandatory in some sort of official way, I'd like
> to make use of the exception paragraph, which in my reading applies
> perfectly to this situation, thank you.

Because it is in the Coding Style it has been approved by the
Linux Kernel Technical Advisor Board.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-22 15:27           ` Stephen Hemminger
@ 2022-09-22 15:36             ` Florian Fainelli
  0 siblings, 0 replies; 28+ messages in thread
From: Florian Fainelli @ 2022-09-22 15:36 UTC (permalink / raw)
  To: Stephen Hemminger, Jakub Kicinski
  Cc: Andrew Lunn, Vladimir Oltean, netdev, David Ahern, Vivien Didelot



On 9/22/2022 8:27 AM, Stephen Hemminger wrote:
> On Thu, 22 Sep 2022 06:24:05 -0700
> Jakub Kicinski <kuba@kernel.org> wrote:
> 
>> On Thu, 22 Sep 2022 03:30:43 +0200 Andrew Lunn wrote:
>>> Looking at these, none really fit the concept of what the master
>>> interface is.
>>>
>>> slave is also used quite a lot within DSA, but we can probably use
>>> user in place of that, it is already somewhat used as a synonym within
>>> DSA terminology.
>>>
>>> Do you have any more recommendations for something which pairs with
>>> user.
>>
>> cpu-ifc? via?
> 
> I did look at the Switch Abstraction Layer document which
> started at Microsoft for Sonic and is now part of Open Compute.
> 
> Didn't see anything there. The 802 spec uses words like
> aggregator port etc.

Top of the rack switches typically have a built-in DMA controller for 
each user-facing port such that there is not really a management/conduit 
CPU like what DSA supports, that is the whole reason actually why we 
keep having a separation between "pure switchdev" and DSA drivers. If 
you had not attended the talk from Andrew, Vivien and myself back in 
2017 in Montreal, I suggest you watch it now in case it provides some 
inspiration for suggestion appropriate terms:

https://www.youtube.com/watch?v=EK5ZmQOYSpM
-- 
Florian

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-22 14:41       ` Vladimir Oltean
  2022-09-22 15:30         ` Stephen Hemminger
@ 2022-09-22 15:42         ` Andrew Lunn
  2022-09-22 18:43           ` Vladimir Oltean
  1 sibling, 1 reply; 28+ messages in thread
From: Andrew Lunn @ 2022-09-22 15:42 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: Stephen Hemminger, netdev, David Ahern, Vivien Didelot, Florian Fainelli

On Thu, Sep 22, 2022 at 02:41:24PM +0000, Vladimir Oltean wrote:
> On Wed, Sep 21, 2022 at 03:33:49PM -0700, Stephen Hemminger wrote:
> > There is no reason that words with long emotional history need to be used
> > in network command.
> >
> > https://inclusivenaming.org/word-lists/
> >
> > https://inclusivenaming.org/word-lists/tier-1/
> >
> > I understand that you and others that live in different geographies may
> > have different feelings about this. But the goal as a community to
> > not use names and terms that may hinder new diverse people from
> > being involved.
> 
> The Linux kernel community is centered around a technical goal rather
> than political or emotional ones, and for this reason I don't think it's
> appropriate to go here in many more details than this.
> 
> All I will say is that I have more things to do than time to do them,
> and I'm not willing to voluntarily go even one step back about this and
> change the UAPI names while the in-kernel data structures and the
> documentation remain with the old names, because it's not going to stop
> there, and I will never have time for this.

Yes, what is being asked for is a very thin veneer. Everything
underneath still uses master, and that is very unlikely to change. Do
we really gain anything with:

.BI master " DEVICE"
- change the DSA master (host network interface) responsible for handling the
local traffic termination of the given DSA switch user port. The selected
interface must be eligible for operating as a DSA master of the switch tree
which the DSA user port is a part of. Eligible DSA masters are those interfaces
which have an "ethernet" reference towards their firmware node in the firmware
description of the platform, or LAG (bond, team) interfaces which contain only
such interfaces as their ports.
+
+ Those who wish can also use the synonym aggregator in place of master
+ in this command.
+

  Andrew

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-22 13:24         ` Jakub Kicinski
  2022-09-22 15:27           ` Stephen Hemminger
@ 2022-09-22 18:00           ` Vladimir Oltean
  2022-09-22 19:30             ` Jakub Kicinski
  1 sibling, 1 reply; 28+ messages in thread
From: Vladimir Oltean @ 2022-09-22 18:00 UTC (permalink / raw)
  To: Jakub Kicinski
  Cc: Andrew Lunn, Stephen Hemminger, netdev, David Ahern,
	Vivien Didelot, Florian Fainelli

On Thu, Sep 22, 2022 at 06:24:05AM -0700, Jakub Kicinski wrote:
> On Thu, 22 Sep 2022 03:30:43 +0200 Andrew Lunn wrote:
> > Looking at these, none really fit the concept of what the master
> > interface is.
> > 
> > slave is also used quite a lot within DSA, but we can probably use
> > user in place of that, it is already somewhat used as a synonym within
> > DSA terminology.
> > 
> > Do you have any more recommendations for something which pairs with
> > user. 
> 
> cpu-ifc? via?

It looks like I'll have to re-evaluate my path of minimal effort to make
progress with this.

I don't like cpu-ifc because it isn't sufficiently distinguished from
cpu port, which is the switch side interface that is connected to the
master. "The CPU interface connects to the CPU port, of course".

As for via, I didn't even know that this had a serious use in English as
a noun, other than the very specific term for PCB design. I find it
pretty hard to use in speech: "the via interface does this or that".

Going back to some of the suggestions Florian proposed:
https://patchwork.kernel.org/project/netdevbpf/patch/20220904190025.813574-1-vladimir.oltean@nxp.com/#24999435

| How about "conduit" or "mgmt_port" or some variant in the same lexicon?

I think "mgmt_port" really doesn't do a great job of distinguishing
itself from something that could belong to the switch itself either?

"Conduit" might be a better form of "via". I don't have a huge problem
with it, except that
(a) it's not a very conventional software term
(b) in Romanian, "conduit" means "conductă", and "conduct" means "conduită".
    Note that this probably shouldn't matter, but since we're having
    this discussion due to personal feelings, I thought I'd mention that
    to me, it requires that much more brain power ;)

I also keep thinking about "host controller", abbreviated to "HC", which
has the same connotation as in USB (xHCI). But I'm afraid this might get
confused with the SPI/I2C/MDIO controller that gets used for the
register access. Maybe host Ethernet controller, abbreviated "HEC"?
But a bonding interface can also be a DSA master, is it proper to call
that a HEC?

Another property that the name should have is that it should be well
suited for recursive use, meaning that a switch has a DSA master, but
that interface is itself a switch port which has a DSA master of its
own, and so on. Perhaps the "host controller" name is too suggestive of
just the bottom-most host network interface, rather than being able to
be nested?

There's also the option to use the good old fashioned word "parent".
I can't find too many counter arguments against it, except one which
Jakub has also expressed somewhere else, which is that the relationship
between a user port and its parent is actually reversed when it comes to
the netdev adjacency lists. The user ports are the upper interfaces of
the parent.

But I don't know if that is a very good argument. It's pretty hard to
clearly say if the DSA master is "on top of" or "beneath" switch ports.
In Documentation/networking/dsa/dsa.rst, we have this picture which
shows the stacking. I'd say in software, the DSA master is at the bottom
(a lower interface), while in hardware, it is at the top (the parent of
a series of attached switches).

                Unaware application
              opens and binds socket
                       |  ^
                       |  |
           +-----------v--|--------------------+
           |+------+ +------+ +------+ +------+|
           || swp0 | | swp1 | | swp2 | | swp3 ||
           |+------+-+------+-+------+-+------+|
           |          DSA switch driver        |
           +-----------------------------------+
                         |        ^
            Tag added by |        | Tag consumed by
           switch driver |        | switch driver
                         v        |
           +-----------------------------------+
           | Unmodified host interface driver  | Software
   --------+-----------------------------------+------------
           |       Host interface (eth0)       | Hardware
           +-----------------------------------+
                         |        ^
         Tag consumed by |        | Tag added by
         switch hardware |        | switch hardware
                         v        |
           +-----------------------------------+
           |               Switch              |
           |+------+ +------+ +------+ +------+|
           || swp0 | | swp1 | | swp2 | | swp3 ||
           ++------+-+------+-+------+-+------++

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-22 15:42         ` Andrew Lunn
@ 2022-09-22 18:43           ` Vladimir Oltean
  2022-09-22 19:04             ` Stephen Hemminger
  0 siblings, 1 reply; 28+ messages in thread
From: Vladimir Oltean @ 2022-09-22 18:43 UTC (permalink / raw)
  To: Andrew Lunn
  Cc: Stephen Hemminger, netdev, David Ahern, Vivien Didelot, Florian Fainelli

On Thu, Sep 22, 2022 at 05:42:57PM +0200, Andrew Lunn wrote:
> On Thu, Sep 22, 2022 at 02:41:24PM +0000, Vladimir Oltean wrote:
> > On Wed, Sep 21, 2022 at 03:33:49PM -0700, Stephen Hemminger wrote:
> > > There is no reason that words with long emotional history need to be used
> > > in network command.
> > >
> > > https://inclusivenaming.org/word-lists/
> > >
> > > https://inclusivenaming.org/word-lists/tier-1/
> > >
> > > I understand that you and others that live in different geographies may
> > > have different feelings about this. But the goal as a community to
> > > not use names and terms that may hinder new diverse people from
> > > being involved.
> > 
> > The Linux kernel community is centered around a technical goal rather
> > than political or emotional ones, and for this reason I don't think it's
> > appropriate to go here in many more details than this.
> > 
> > All I will say is that I have more things to do than time to do them,
> > and I'm not willing to voluntarily go even one step back about this and
> > change the UAPI names while the in-kernel data structures and the
> > documentation remain with the old names, because it's not going to stop
> > there, and I will never have time for this.
> 
> Yes, what is being asked for is a very thin veneer. Everything
> underneath still uses master, and that is very unlikely to change. Do
> we really gain anything with:
> 
> .BI master " DEVICE"
> - change the DSA master (host network interface) responsible for handling the
> local traffic termination of the given DSA switch user port. The selected
> interface must be eligible for operating as a DSA master of the switch tree
> which the DSA user port is a part of. Eligible DSA masters are those interfaces
> which have an "ethernet" reference towards their firmware node in the firmware
> description of the platform, or LAG (bond, team) interfaces which contain only
> such interfaces as their ports.

Let me make sure I understand you correctly.

You're saying that you think it should be enough if we make iproute2
respond to "ip link set dev swp0 type dsa conduit eth0", and show "conduit"
in the "ip link show dev swp0" output, both human-readable and json?
And the man page description stays the same as what you've pasted, except
for replacing:

.BI master " DEVICE"

with

.BI conduit " DEVICE"

and so does the IFLA_DSA_MASTER netlink attribute name stay the same?

In this message, David Ahern said that the 'master' keyword could be
acceptable, if an alternative was also provided.
https://patchwork.kernel.org/project/netdevbpf/patch/20220904190025.813574-1-vladimir.oltean@nxp.com/#25002982
So could we also keep 'master' in addition to 'conduit'? The kernel
documentation already uses this iproute2 keyword:
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/tree/Documentation/networking/dsa/configuration.rst#n412

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-22 18:43           ` Vladimir Oltean
@ 2022-09-22 19:04             ` Stephen Hemminger
  2022-09-22 19:36               ` Vladimir Oltean
  0 siblings, 1 reply; 28+ messages in thread
From: Stephen Hemminger @ 2022-09-22 19:04 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: Andrew Lunn, netdev, David Ahern, Vivien Didelot, Florian Fainelli

On Thu, 22 Sep 2022 18:43:52 +0000
Vladimir Oltean <vladimir.oltean@nxp.com> wrote:

> On Thu, Sep 22, 2022 at 05:42:57PM +0200, Andrew Lunn wrote:
> > On Thu, Sep 22, 2022 at 02:41:24PM +0000, Vladimir Oltean wrote:  
> > > On Wed, Sep 21, 2022 at 03:33:49PM -0700, Stephen Hemminger wrote:  
> > > > There is no reason that words with long emotional history need to be used
> > > > in network command.
> > > >
> > > > https://inclusivenaming.org/word-lists/
> > > >
> > > > https://inclusivenaming.org/word-lists/tier-1/
> > > >
> > > > I understand that you and others that live in different geographies may
> > > > have different feelings about this. But the goal as a community to
> > > > not use names and terms that may hinder new diverse people from
> > > > being involved.  
> > > 
> > > The Linux kernel community is centered around a technical goal rather
> > > than political or emotional ones, and for this reason I don't think it's
> > > appropriate to go here in many more details than this.
> > > 
> > > All I will say is that I have more things to do than time to do them,
> > > and I'm not willing to voluntarily go even one step back about this and
> > > change the UAPI names while the in-kernel data structures and the
> > > documentation remain with the old names, because it's not going to stop
> > > there, and I will never have time for this.  
> > 
> > Yes, what is being asked for is a very thin veneer. Everything
> > underneath still uses master, and that is very unlikely to change. Do
> > we really gain anything with:
> > 
> > .BI master " DEVICE"
> > - change the DSA master (host network interface) responsible for handling the
> > local traffic termination of the given DSA switch user port. The selected
> > interface must be eligible for operating as a DSA master of the switch tree
> > which the DSA user port is a part of. Eligible DSA masters are those interfaces
> > which have an "ethernet" reference towards their firmware node in the firmware
> > description of the platform, or LAG (bond, team) interfaces which contain only
> > such interfaces as their ports.  
> 
> Let me make sure I understand you correctly.
> 
> You're saying that you think it should be enough if we make iproute2
> respond to "ip link set dev swp0 type dsa conduit eth0", and show "conduit"
> in the "ip link show dev swp0" output, both human-readable and json?
> And the man page description stays the same as what you've pasted, except
> for replacing:
> 
> .BI master " DEVICE"
> 
> with
> 
> .BI conduit " DEVICE"
> 
> and so does the IFLA_DSA_MASTER netlink attribute name stay the same?
> 
> In this message, David Ahern said that the 'master' keyword could be
> acceptable, if an alternative was also provided.
> https://patchwork.kernel.org/project/netdevbpf/patch/20220904190025.813574-1-vladimir.oltean@nxp.com/#25002982
> So could we also keep 'master' in addition to 'conduit'? The kernel
> documentation already uses this iproute2 keyword:
> https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/tree/Documentation/networking/dsa/configuration.rst#n412


My preference would be that a non-offensive term was used and put
as the preferred choice in the man page. The other terms like master
will be accepted as synonyms.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-22 18:00           ` Vladimir Oltean
@ 2022-09-22 19:30             ` Jakub Kicinski
  2022-09-22 20:13               ` Vladimir Oltean
  0 siblings, 1 reply; 28+ messages in thread
From: Jakub Kicinski @ 2022-09-22 19:30 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: Andrew Lunn, Stephen Hemminger, netdev, David Ahern,
	Vivien Didelot, Florian Fainelli

On Thu, 22 Sep 2022 18:00:52 +0000 Vladimir Oltean wrote:
> As for via, I didn't even know that this had a serious use in English as
> a noun, other than the very specific term for PCB design. I find it
> pretty hard to use in speech: "the via interface does this or that".

Maybe it's a stretch but I meant it as a parallel to next-hops 
in routing.

 ip route add 10.0.0.0/24 via 192.168.0.1 dev eth1
                          ^^^

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-22 19:04             ` Stephen Hemminger
@ 2022-09-22 19:36               ` Vladimir Oltean
  2022-09-22 20:34                 ` Andrew Lunn
  0 siblings, 1 reply; 28+ messages in thread
From: Vladimir Oltean @ 2022-09-22 19:36 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: Andrew Lunn, netdev, David Ahern, Vivien Didelot, Florian Fainelli

On Thu, Sep 22, 2022 at 12:04:49PM -0700, Stephen Hemminger wrote:
> My preference would be that a non-offensive term was used and put
> as the preferred choice in the man page. The other terms like master
> will be accepted as synonyms.

Ok, if there aren't any objections, I will propose a v3 in 30 minutes or
so, with 'conduit' being the primary iproute2 keyword and 'master'
defined in the man page as a synonym for it, and the ip-link program
printing just 'conduit' in the help text but parsing both, and printing
just 'conduit' in the json output. At least this term has some history
of being used in Documentation/networking/dsa/dsa.rst, although not
unambiguously so. There is one paragraph in there which also mentions
DSA (cascade) ports as conduits. Though I really don't have any better
idea.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-22 19:30             ` Jakub Kicinski
@ 2022-09-22 20:13               ` Vladimir Oltean
  2022-09-22 20:28                 ` Stephen Hemminger
  0 siblings, 1 reply; 28+ messages in thread
From: Vladimir Oltean @ 2022-09-22 20:13 UTC (permalink / raw)
  To: Jakub Kicinski
  Cc: Andrew Lunn, Stephen Hemminger, netdev, David Ahern,
	Vivien Didelot, Florian Fainelli

On Thu, Sep 22, 2022 at 12:30:27PM -0700, Jakub Kicinski wrote:
> On Thu, 22 Sep 2022 18:00:52 +0000 Vladimir Oltean wrote:
> > As for via, I didn't even know that this had a serious use in English as
> > a noun, other than the very specific term for PCB design. I find it
> > pretty hard to use in speech: "the via interface does this or that".
> 
> Maybe it's a stretch but I meant it as a parallel to next-hops 
> in routing.
> 
>  ip route add 10.0.0.0/24 via 192.168.0.1 dev eth1
>                           ^^^

Ignoring the fact that a preposition can't be a synonim for a noun
(and therefore, if I use 'via' I can't use the alternate name 'master'),
I thought a bit more about this and I dislike it less than conduit.

I can avoid referring to the DSA master as such in the command, but the
man page will still have to describe it for what it is.

I think I'm going to give this a go.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-22 20:13               ` Vladimir Oltean
@ 2022-09-22 20:28                 ` Stephen Hemminger
  2022-09-22 20:36                   ` Vladimir Oltean
  0 siblings, 1 reply; 28+ messages in thread
From: Stephen Hemminger @ 2022-09-22 20:28 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: Jakub Kicinski, Andrew Lunn, netdev, David Ahern, Vivien Didelot,
	Florian Fainelli

On Thu, 22 Sep 2022 20:13:21 +0000
Vladimir Oltean <vladimir.oltean@nxp.com> wrote:

> On Thu, Sep 22, 2022 at 12:30:27PM -0700, Jakub Kicinski wrote:
> > On Thu, 22 Sep 2022 18:00:52 +0000 Vladimir Oltean wrote:  
> > > As for via, I didn't even know that this had a serious use in English as
> > > a noun, other than the very specific term for PCB design. I find it
> > > pretty hard to use in speech: "the via interface does this or that".  
> > 
> > Maybe it's a stretch but I meant it as a parallel to next-hops 
> > in routing.
> > 
> >  ip route add 10.0.0.0/24 via 192.168.0.1 dev eth1
> >                           ^^^  
> 
> Ignoring the fact that a preposition can't be a synonim for a noun
> (and therefore, if I use 'via' I can't use the alternate name 'master'),
> I thought a bit more about this and I dislike it less than conduit.
> 
> I can avoid referring to the DSA master as such in the command, but the
> man page will still have to describe it for what it is.
> 
> I think I'm going to give this a go.

Not sure where choice of "via" came from.  Other network os's use "next-hop"
or just skip having a keyword.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-22 19:36               ` Vladimir Oltean
@ 2022-09-22 20:34                 ` Andrew Lunn
  2022-09-22 21:25                   ` Florian Fainelli
  0 siblings, 1 reply; 28+ messages in thread
From: Andrew Lunn @ 2022-09-22 20:34 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: Stephen Hemminger, netdev, David Ahern, Vivien Didelot, Florian Fainelli

> Ok, if there aren't any objections, I will propose a v3 in 30 minutes or
> so, with 'conduit' being the primary iproute2 keyword and 'master'
> defined in the man page as a synonym for it, and the ip-link program
> printing just 'conduit' in the help text but parsing both, and printing
> just 'conduit' in the json output.

Sounds good to me.

       Andrew

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-22 20:28                 ` Stephen Hemminger
@ 2022-09-22 20:36                   ` Vladimir Oltean
  2022-09-22 21:28                     ` Florian Fainelli
  0 siblings, 1 reply; 28+ messages in thread
From: Vladimir Oltean @ 2022-09-22 20:36 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: Jakub Kicinski, Andrew Lunn, netdev, David Ahern, Vivien Didelot,
	Florian Fainelli

On Thu, Sep 22, 2022 at 01:28:16PM -0700, Stephen Hemminger wrote:
> Not sure where choice of "via" came from.  Other network os's use "next-hop"
> or just skip having a keyword.

Jakub was saying:

$ ip link set dev swp0 type dsa via eth0

meaning: "make the locally terminated traffic of swp0 go via (through) eth0".
No direct relationship with IP nexthops.

It avoids saying that eth0 is a DSA master.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-22 20:34                 ` Andrew Lunn
@ 2022-09-22 21:25                   ` Florian Fainelli
  2022-09-22 21:28                     ` Vladimir Oltean
  0 siblings, 1 reply; 28+ messages in thread
From: Florian Fainelli @ 2022-09-22 21:25 UTC (permalink / raw)
  To: Andrew Lunn, Vladimir Oltean
  Cc: Stephen Hemminger, netdev, David Ahern, Vivien Didelot

On 9/22/22 13:34, Andrew Lunn wrote:
>> Ok, if there aren't any objections, I will propose a v3 in 30 minutes or
>> so, with 'conduit' being the primary iproute2 keyword and 'master'
>> defined in the man page as a synonym for it, and the ip-link program
>> printing just 'conduit' in the help text but parsing both, and printing
>> just 'conduit' in the json output.
> 
> Sounds good to me.

Works for me as well! Thanks Vladimir.
-- 
Florian

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-22 20:36                   ` Vladimir Oltean
@ 2022-09-22 21:28                     ` Florian Fainelli
  0 siblings, 0 replies; 28+ messages in thread
From: Florian Fainelli @ 2022-09-22 21:28 UTC (permalink / raw)
  To: Vladimir Oltean, Stephen Hemminger
  Cc: Jakub Kicinski, Andrew Lunn, netdev, David Ahern, Vivien Didelot

On 9/22/22 13:36, Vladimir Oltean wrote:
> On Thu, Sep 22, 2022 at 01:28:16PM -0700, Stephen Hemminger wrote:
>> Not sure where choice of "via" came from.  Other network os's use "next-hop"
>> or just skip having a keyword.
> 
> Jakub was saying:
> 
> $ ip link set dev swp0 type dsa via eth0
> 
> meaning: "make the locally terminated traffic of swp0 go via (through) eth0".
> No direct relationship with IP nexthops.
> 
> It avoids saying that eth0 is a DSA master.

That part was clear (at least to me). I read Stephen's questions as how 
did we come up with the keyword "via" to designated gateways in the 
first place when other network operating systems use "next-hop".

I, too, think of "via" as a printed circuit board term, so using 
"conduit" seems more in line with the vocabulary I could retain my 
muscle memory with.
-- 
Florian

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-22 21:25                   ` Florian Fainelli
@ 2022-09-22 21:28                     ` Vladimir Oltean
  2022-09-22 21:30                       ` Florian Fainelli
  0 siblings, 1 reply; 28+ messages in thread
From: Vladimir Oltean @ 2022-09-22 21:28 UTC (permalink / raw)
  To: Florian Fainelli
  Cc: Andrew Lunn, Stephen Hemminger, netdev, David Ahern, Vivien Didelot

On Thu, Sep 22, 2022 at 02:25:53PM -0700, Florian Fainelli wrote:
> On 9/22/22 13:34, Andrew Lunn wrote:
> > > Ok, if there aren't any objections, I will propose a v3 in 30 minutes or
> > > so, with 'conduit' being the primary iproute2 keyword and 'master'
> > > defined in the man page as a synonym for it, and the ip-link program
> > > printing just 'conduit' in the help text but parsing both, and printing
> > > just 'conduit' in the json output.
> > 
> > Sounds good to me.
> 
> Works for me as well! Thanks Vladimir.
> -- 
> Florian

Hmm, did you see the parallel sub-thread with Jakub's proposed 'via'?
I was kind of reworking to use that, and testing it right now. What do
you prefer between the 2?

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-22 21:28                     ` Vladimir Oltean
@ 2022-09-22 21:30                       ` Florian Fainelli
  2022-09-22 21:40                         ` Vladimir Oltean
  2022-09-22 21:41                         ` Andrew Lunn
  0 siblings, 2 replies; 28+ messages in thread
From: Florian Fainelli @ 2022-09-22 21:30 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: Andrew Lunn, Stephen Hemminger, netdev, David Ahern, Vivien Didelot

On 9/22/22 14:28, Vladimir Oltean wrote:
> On Thu, Sep 22, 2022 at 02:25:53PM -0700, Florian Fainelli wrote:
>> On 9/22/22 13:34, Andrew Lunn wrote:
>>>> Ok, if there aren't any objections, I will propose a v3 in 30 minutes or
>>>> so, with 'conduit' being the primary iproute2 keyword and 'master'
>>>> defined in the man page as a synonym for it, and the ip-link program
>>>> printing just 'conduit' in the help text but parsing both, and printing
>>>> just 'conduit' in the json output.
>>>
>>> Sounds good to me.
>>
>> Works for me as well! Thanks Vladimir.
>> -- 
>> Florian
> 
> Hmm, did you see the parallel sub-thread with Jakub's proposed 'via'?
> I was kind of reworking to use that, and testing it right now. What do
> you prefer between the 2?

Emails crossed, I just responded to the parallel thread and do prefer 
"conduit".
-- 
Florian

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-22 21:30                       ` Florian Fainelli
@ 2022-09-22 21:40                         ` Vladimir Oltean
  2022-09-22 21:41                         ` Andrew Lunn
  1 sibling, 0 replies; 28+ messages in thread
From: Vladimir Oltean @ 2022-09-22 21:40 UTC (permalink / raw)
  To: Florian Fainelli
  Cc: Andrew Lunn, Stephen Hemminger, netdev, David Ahern, Vivien Didelot

On Thu, Sep 22, 2022 at 02:30:37PM -0700, Florian Fainelli wrote:
> On 9/22/22 14:28, Vladimir Oltean wrote:
> > On Thu, Sep 22, 2022 at 02:25:53PM -0700, Florian Fainelli wrote:
> > > On 9/22/22 13:34, Andrew Lunn wrote:
> > > > > Ok, if there aren't any objections, I will propose a v3 in 30 minutes or
> > > > > so, with 'conduit' being the primary iproute2 keyword and 'master'
> > > > > defined in the man page as a synonym for it, and the ip-link program
> > > > > printing just 'conduit' in the help text but parsing both, and printing
> > > > > just 'conduit' in the json output.
> > > > 
> > > > Sounds good to me.
> > > 
> > > Works for me as well! Thanks Vladimir.
> > > -- 
> > > Florian
> > 
> > Hmm, did you see the parallel sub-thread with Jakub's proposed 'via'?
> > I was kind of reworking to use that, and testing it right now. What do
> > you prefer between the 2?
> 
> Emails crossed, I just responded to the parallel thread and do prefer
> "conduit".

Ok, voting is at 2-2, so conduit wins.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-22 21:30                       ` Florian Fainelli
  2022-09-22 21:40                         ` Vladimir Oltean
@ 2022-09-22 21:41                         ` Andrew Lunn
  2022-09-22 21:52                           ` Vladimir Oltean
  1 sibling, 1 reply; 28+ messages in thread
From: Andrew Lunn @ 2022-09-22 21:41 UTC (permalink / raw)
  To: Florian Fainelli
  Cc: Vladimir Oltean, Stephen Hemminger, netdev, David Ahern, Vivien Didelot

> > Hmm, did you see the parallel sub-thread with Jakub's proposed 'via'?
> > I was kind of reworking to use that, and testing it right now. What do
> > you prefer between the 2?
> 
> Emails crossed, I just responded to the parallel thread and do prefer
> "conduit".

"conduit" does have the advantage it is something we already use for
the concept of the master interface. 'via' would be totally new, and i
don't see any need to introduce a new term.

    Andrew

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master
  2022-09-22 21:41                         ` Andrew Lunn
@ 2022-09-22 21:52                           ` Vladimir Oltean
  0 siblings, 0 replies; 28+ messages in thread
From: Vladimir Oltean @ 2022-09-22 21:52 UTC (permalink / raw)
  To: Andrew Lunn
  Cc: Florian Fainelli, Stephen Hemminger, netdev, David Ahern, Vivien Didelot

On Thu, Sep 22, 2022 at 11:41:38PM +0200, Andrew Lunn wrote:
> 'via' would be totally new, and i don't see any need to introduce a
> new term.

Well, the entire command is new, so...

Jakub clarified that 'via' would indeed be used as a preposition rather
than as a noun. So it does not describe eth0, but just the relationship
between swp0 and eth0 (specifically their traffic), and therefore it
isn't really a new, or alternative, naming convention for a DSA master
(which 'conduit' is, on the other hand).

What I find a bit awkward is the 'set ...  type dsa via ..." syntax,
since a noun would typically be expected in place of 'via'.

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2022-09-22 21:53 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-21 16:51 [PATCH v2 iproute2-next] ip link: add sub-command to view and change DSA master Vladimir Oltean
2022-09-21 18:36 ` Stephen Hemminger
2022-09-21 18:38   ` Vladimir Oltean
2022-09-21 22:33     ` Stephen Hemminger
2022-09-22 14:41       ` Vladimir Oltean
2022-09-22 15:30         ` Stephen Hemminger
2022-09-22 15:42         ` Andrew Lunn
2022-09-22 18:43           ` Vladimir Oltean
2022-09-22 19:04             ` Stephen Hemminger
2022-09-22 19:36               ` Vladimir Oltean
2022-09-22 20:34                 ` Andrew Lunn
2022-09-22 21:25                   ` Florian Fainelli
2022-09-22 21:28                     ` Vladimir Oltean
2022-09-22 21:30                       ` Florian Fainelli
2022-09-22 21:40                         ` Vladimir Oltean
2022-09-22 21:41                         ` Andrew Lunn
2022-09-22 21:52                           ` Vladimir Oltean
2022-09-21 22:41     ` Stephen Hemminger
2022-09-22  1:30       ` Andrew Lunn
2022-09-22 13:24         ` Jakub Kicinski
2022-09-22 15:27           ` Stephen Hemminger
2022-09-22 15:36             ` Florian Fainelli
2022-09-22 18:00           ` Vladimir Oltean
2022-09-22 19:30             ` Jakub Kicinski
2022-09-22 20:13               ` Vladimir Oltean
2022-09-22 20:28                 ` Stephen Hemminger
2022-09-22 20:36                   ` Vladimir Oltean
2022-09-22 21:28                     ` Florian Fainelli

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.