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: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://lore.kernel.org/r/20231023181729.1191071-3-florian.fainelli@broadcom.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Florian Fainelli 2023-10-23 11:17:29 -07:00 committed by Jakub Kicinski
parent 6ca80638b9
commit 87cd83714f
3 changed files with 10 additions and 8 deletions

View file

@ -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. configure the system for the switch to use other conduits.
DSA uses the ``rtnl_link_ops`` mechanism (with a "dsa" ``kind``) to allow 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 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 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 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 dsa master bond0
Notice that in the case of CPU ports under a LAG, the use of the 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``) 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, 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 when ``bond0`` is destroyed using ``RTM_DELLINK``, DSA migrates the user ports

View file

@ -1394,7 +1394,9 @@ enum {
enum { enum {
IFLA_DSA_UNSPEC, IFLA_DSA_UNSPEC,
IFLA_DSA_MASTER, IFLA_DSA_CONDUIT,
/* Deprecated, use IFLA_DSA_CONDUIT instead */
IFLA_DSA_MASTER = IFLA_DSA_CONDUIT,
__IFLA_DSA_MAX, __IFLA_DSA_MAX,
}; };

View file

@ -8,7 +8,7 @@
#include "user.h" #include "user.h"
static const struct nla_policy dsa_policy[IFLA_DSA_MAX + 1] = { 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[], 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) if (!data)
return 0; return 0;
if (data[IFLA_DSA_MASTER]) { if (data[IFLA_DSA_CONDUIT]) {
u32 ifindex = nla_get_u32(data[IFLA_DSA_MASTER]); u32 ifindex = nla_get_u32(data[IFLA_DSA_CONDUIT]);
struct net_device *conduit; struct net_device *conduit;
conduit = __dev_get_by_index(dev_net(dev), ifindex); 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) 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; 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); 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 -EMSGSIZE;
return 0; return 0;