Commit 87cd8371 authored by Florian Fainelli's avatar Florian Fainelli Committed by Jakub Kicinski
Browse files

net: dsa: Rename IFLA_DSA_MASTER to IFLA_DSA_CONDUIT



This preserves the existing IFLA_DSA_MASTER which is part of the uAPI
and creates an alias named IFLA_DSA_CONDUIT.

Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Reviewed-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: default avatarFlorian Fainelli <florian.fainelli@broadcom.com>
Link: https://lore.kernel.org/r/20231023181729.1191071-3-florian.fainelli@broadcom.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 6ca80638
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -393,7 +393,7 @@ description which has an ``ethernet`` property. It is up to the user to
configure the system for the switch to use other conduits.

DSA uses the ``rtnl_link_ops`` mechanism (with a "dsa" ``kind``) to allow
changing the DSA conduit of a user port. The ``IFLA_DSA_MASTER`` u32 netlink
changing the DSA conduit of a user port. The ``IFLA_DSA_CONDUIT`` u32 netlink
attribute contains the ifindex of the conduit device that handles each user
device. The DSA conduit must be a valid candidate based on firmware node
information, or a LAG interface which contains only slaves which are valid
@@ -435,7 +435,7 @@ Using iproute2, the following manipulations are possible:
        dsa master bond0

Notice that in the case of CPU ports under a LAG, the use of the
``IFLA_DSA_MASTER`` netlink attribute is not strictly needed, but rather, DSA
``IFLA_DSA_CONDUIT`` netlink attribute is not strictly needed, but rather, DSA
reacts to the ``IFLA_MASTER`` attribute change of its present conduit (``eth0``)
and migrates all user ports to the new upper of ``eth0``, ``bond0``. Similarly,
when ``bond0`` is destroyed using ``RTM_DELLINK``, DSA migrates the user ports
+3 −1
Original line number Diff line number Diff line
@@ -1394,7 +1394,9 @@ enum {

enum {
	IFLA_DSA_UNSPEC,
	IFLA_DSA_MASTER,
	IFLA_DSA_CONDUIT,
	/* Deprecated, use IFLA_DSA_CONDUIT instead */
	IFLA_DSA_MASTER = IFLA_DSA_CONDUIT,
	__IFLA_DSA_MAX,
};

+5 −5
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@
#include "user.h"

static const struct nla_policy dsa_policy[IFLA_DSA_MAX + 1] = {
	[IFLA_DSA_MASTER]	= { .type = NLA_U32 },
	[IFLA_DSA_CONDUIT]	= { .type = NLA_U32 },
};

static int dsa_changelink(struct net_device *dev, struct nlattr *tb[],
@@ -20,8 +20,8 @@ static int dsa_changelink(struct net_device *dev, struct nlattr *tb[],
	if (!data)
		return 0;

	if (data[IFLA_DSA_MASTER]) {
		u32 ifindex = nla_get_u32(data[IFLA_DSA_MASTER]);
	if (data[IFLA_DSA_CONDUIT]) {
		u32 ifindex = nla_get_u32(data[IFLA_DSA_CONDUIT]);
		struct net_device *conduit;

		conduit = __dev_get_by_index(dev_net(dev), ifindex);
@@ -38,7 +38,7 @@ static int dsa_changelink(struct net_device *dev, struct nlattr *tb[],

static size_t dsa_get_size(const struct net_device *dev)
{
	return nla_total_size(sizeof(u32)) +	/* IFLA_DSA_MASTER  */
	return nla_total_size(sizeof(u32)) +	/* IFLA_DSA_CONDUIT  */
	       0;
}

@@ -46,7 +46,7 @@ static int dsa_fill_info(struct sk_buff *skb, const struct net_device *dev)
{
	struct net_device *conduit = dsa_user_to_conduit(dev);

	if (nla_put_u32(skb, IFLA_DSA_MASTER, conduit->ifindex))
	if (nla_put_u32(skb, IFLA_DSA_CONDUIT, conduit->ifindex))
		return -EMSGSIZE;

	return 0;