From: Tobias Waldekranz <tobias@waldekranz.com>
To: Vladimir Oltean <olteanv@gmail.com>
Cc: Ivan Vecera <ivecera@redhat.com>, Andrew Lunn <andrew@lunn.ch>,
Florian Fainelli <f.fainelli@gmail.com>,
Jiri Pirko <jiri@resnulli.us>, Petr Machata <petrm@nvidia.com>,
Nikolay Aleksandrov <razor@blackwall.org>,
bridge@lists.linux-foundation.org,
Russell King <linux@armlinux.org.uk>,
Vivien Didelot <vivien.didelot@gmail.com>,
Ido Schimmel <idosch@nvidia.com>,
netdev@vger.kernel.org, Cooper Lees <me@cooperlees.com>,
Roopa Prabhu <roopa@nvidia.com>,
kuba@kernel.org, Matt Johnston <matt@codeconstruct.com.au>,
davem@davemloft.net, linux-kernel@vger.kernel.org
Subject: Re: [Bridge] [PATCH v4 net-next 03/15] net: bridge: mst: Support setting and reporting MST port states
Date: Tue, 15 Mar 2022 23:35:03 +0100 [thread overview]
Message-ID: <878rtalu94.fsf@waldekranz.com> (raw)
In-Reply-To: <20220315165455.3nakoccbm7c7d2w5@skbuf>
On Tue, Mar 15, 2022 at 18:54, Vladimir Oltean <olteanv@gmail.com> wrote:
> On Tue, Mar 15, 2022 at 01:25:31AM +0100, Tobias Waldekranz wrote:
>> Make it possible to change the port state in a given MSTI by extending
>> the bridge port netlink interface (RTM_SETLINK on PF_BRIDGE).The
>> proposed iproute2 interface would be:
>>
>> bridge mst set dev <PORT> msti <MSTI> state <STATE>
>>
>> Current states in all applicable MSTIs can also be dumped via a
>> corresponding RTM_GETLINK. The proposed iproute interface looks like
>> this:
>>
>> $ bridge mst
>> port msti
>> vb1 0
>> state forwarding
>> 100
>> state disabled
>> vb2 0
>> state forwarding
>> 100
>> state forwarding
>>
>> The preexisting per-VLAN states are still valid in the MST
>> mode (although they are read-only), and can be queried as usual if one
>> is interested in knowing a particular VLAN's state without having to
>> care about the VID to MSTI mapping (in this example VLAN 20 and 30 are
>> bound to MSTI 100):
>>
>> $ bridge -d vlan
>> port vlan-id
>> vb1 10
>> state forwarding mcast_router 1
>> 20
>> state disabled mcast_router 1
>> 30
>> state disabled mcast_router 1
>> 40
>> state forwarding mcast_router 1
>> vb2 10
>> state forwarding mcast_router 1
>> 20
>> state forwarding mcast_router 1
>> 30
>> state forwarding mcast_router 1
>> 40
>> state forwarding mcast_router 1
>>
>> Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
>> ---
>> +static int br_mst_process_one(struct net_bridge_port *p,
>> + const struct nlattr *attr,
>> + struct netlink_ext_ack *extack)
>> +{
>> + struct nlattr *tb[IFLA_BRIDGE_MST_ENTRY_MAX + 1];
>> + u16 msti;
>> + u8 state;
>> + int err;
>> +
>> + err = nla_parse_nested(tb, IFLA_BRIDGE_MST_ENTRY_MAX, attr,
>> + br_mst_nl_policy, extack);
>> + if (err)
>> + return err;
>> +
>> + if (!tb[IFLA_BRIDGE_MST_ENTRY_MSTI]) {
>> + NL_SET_ERR_MSG_MOD(extack, "MSTI not specified");
>> + return -EINVAL;
>> + }
>> +
>> + if (!tb[IFLA_BRIDGE_MST_ENTRY_STATE]) {
>> + NL_SET_ERR_MSG_MOD(extack, "State not specified");
>> + return -EINVAL;
>> + }
>> +
>> + msti = nla_get_u16(tb[IFLA_BRIDGE_MST_ENTRY_MSTI]);
>> + state = nla_get_u8(tb[IFLA_BRIDGE_MST_ENTRY_STATE]);
>> +
>> + br_mst_set_state(p, msti, state);
>
> Is there any reason why this isn't propagating the error?
No, we definitely should. Thanks.
>> + return 0;
>> +}
WARNING: multiple messages have this Message-ID (diff)
From: Tobias Waldekranz <tobias@waldekranz.com>
To: Vladimir Oltean <olteanv@gmail.com>
Cc: davem@davemloft.net, kuba@kernel.org,
Andrew Lunn <andrew@lunn.ch>,
Vivien Didelot <vivien.didelot@gmail.com>,
Florian Fainelli <f.fainelli@gmail.com>,
Jiri Pirko <jiri@resnulli.us>, Ivan Vecera <ivecera@redhat.com>,
Roopa Prabhu <roopa@nvidia.com>,
Nikolay Aleksandrov <razor@blackwall.org>,
Russell King <linux@armlinux.org.uk>,
Petr Machata <petrm@nvidia.com>, Ido Schimmel <idosch@nvidia.com>,
Matt Johnston <matt@codeconstruct.com.au>,
Cooper Lees <me@cooperlees.com>,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
bridge@lists.linux-foundation.org
Subject: Re: [PATCH v4 net-next 03/15] net: bridge: mst: Support setting and reporting MST port states
Date: Tue, 15 Mar 2022 23:35:03 +0100 [thread overview]
Message-ID: <878rtalu94.fsf@waldekranz.com> (raw)
In-Reply-To: <20220315165455.3nakoccbm7c7d2w5@skbuf>
On Tue, Mar 15, 2022 at 18:54, Vladimir Oltean <olteanv@gmail.com> wrote:
> On Tue, Mar 15, 2022 at 01:25:31AM +0100, Tobias Waldekranz wrote:
>> Make it possible to change the port state in a given MSTI by extending
>> the bridge port netlink interface (RTM_SETLINK on PF_BRIDGE).The
>> proposed iproute2 interface would be:
>>
>> bridge mst set dev <PORT> msti <MSTI> state <STATE>
>>
>> Current states in all applicable MSTIs can also be dumped via a
>> corresponding RTM_GETLINK. The proposed iproute interface looks like
>> this:
>>
>> $ bridge mst
>> port msti
>> vb1 0
>> state forwarding
>> 100
>> state disabled
>> vb2 0
>> state forwarding
>> 100
>> state forwarding
>>
>> The preexisting per-VLAN states are still valid in the MST
>> mode (although they are read-only), and can be queried as usual if one
>> is interested in knowing a particular VLAN's state without having to
>> care about the VID to MSTI mapping (in this example VLAN 20 and 30 are
>> bound to MSTI 100):
>>
>> $ bridge -d vlan
>> port vlan-id
>> vb1 10
>> state forwarding mcast_router 1
>> 20
>> state disabled mcast_router 1
>> 30
>> state disabled mcast_router 1
>> 40
>> state forwarding mcast_router 1
>> vb2 10
>> state forwarding mcast_router 1
>> 20
>> state forwarding mcast_router 1
>> 30
>> state forwarding mcast_router 1
>> 40
>> state forwarding mcast_router 1
>>
>> Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
>> ---
>> +static int br_mst_process_one(struct net_bridge_port *p,
>> + const struct nlattr *attr,
>> + struct netlink_ext_ack *extack)
>> +{
>> + struct nlattr *tb[IFLA_BRIDGE_MST_ENTRY_MAX + 1];
>> + u16 msti;
>> + u8 state;
>> + int err;
>> +
>> + err = nla_parse_nested(tb, IFLA_BRIDGE_MST_ENTRY_MAX, attr,
>> + br_mst_nl_policy, extack);
>> + if (err)
>> + return err;
>> +
>> + if (!tb[IFLA_BRIDGE_MST_ENTRY_MSTI]) {
>> + NL_SET_ERR_MSG_MOD(extack, "MSTI not specified");
>> + return -EINVAL;
>> + }
>> +
>> + if (!tb[IFLA_BRIDGE_MST_ENTRY_STATE]) {
>> + NL_SET_ERR_MSG_MOD(extack, "State not specified");
>> + return -EINVAL;
>> + }
>> +
>> + msti = nla_get_u16(tb[IFLA_BRIDGE_MST_ENTRY_MSTI]);
>> + state = nla_get_u8(tb[IFLA_BRIDGE_MST_ENTRY_STATE]);
>> +
>> + br_mst_set_state(p, msti, state);
>
> Is there any reason why this isn't propagating the error?
No, we definitely should. Thanks.
>> + return 0;
>> +}
next prev parent reply other threads:[~2022-03-15 22:35 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-15 0:25 [Bridge] [PATCH v4 net-next 00/15] net: bridge: Multiple Spanning Trees Tobias Waldekranz
2022-03-15 0:25 ` Tobias Waldekranz
2022-03-15 0:25 ` [Bridge] [PATCH v4 net-next 01/15] net: bridge: mst: Multiple Spanning Tree (MST) mode Tobias Waldekranz
2022-03-15 0:25 ` Tobias Waldekranz
2022-03-15 0:25 ` [Bridge] [PATCH v4 net-next 02/15] net: bridge: mst: Allow changing a VLAN's MSTI Tobias Waldekranz
2022-03-15 0:25 ` Tobias Waldekranz
2022-03-15 0:25 ` [Bridge] [PATCH v4 net-next 03/15] net: bridge: mst: Support setting and reporting MST port states Tobias Waldekranz
2022-03-15 0:25 ` Tobias Waldekranz
2022-03-15 9:52 ` [Bridge] " Nikolay Aleksandrov
2022-03-15 9:52 ` Nikolay Aleksandrov
2022-03-15 16:54 ` [Bridge] " Vladimir Oltean
2022-03-15 16:54 ` Vladimir Oltean
2022-03-15 22:35 ` Tobias Waldekranz [this message]
2022-03-15 22:35 ` Tobias Waldekranz
2022-03-15 0:25 ` [Bridge] [PATCH v4 net-next 04/15] net: bridge: mst: Notify switchdev drivers of MST mode changes Tobias Waldekranz
2022-03-15 0:25 ` Tobias Waldekranz
2022-03-15 5:32 ` [Bridge] " Jakub Kicinski
2022-03-15 5:32 ` Jakub Kicinski
2022-03-15 22:28 ` [Bridge] " Tobias Waldekranz
2022-03-15 22:28 ` Tobias Waldekranz
2022-03-15 0:25 ` [Bridge] [PATCH v4 net-next 05/15] net: bridge: mst: Notify switchdev drivers of VLAN MSTI migrations Tobias Waldekranz
2022-03-15 0:25 ` Tobias Waldekranz
2022-03-15 0:25 ` [Bridge] [PATCH v4 net-next 06/15] net: bridge: mst: Notify switchdev drivers of MST state changes Tobias Waldekranz
2022-03-15 0:25 ` Tobias Waldekranz
2022-03-15 0:25 ` [Bridge] [PATCH v4 net-next 07/15] net: bridge: mst: Add helper to map an MSTI to a VID set Tobias Waldekranz
2022-03-15 0:25 ` Tobias Waldekranz
2022-03-15 0:25 ` [Bridge] [PATCH v4 net-next 08/15] net: bridge: mst: Add helper to check if MST is enabled Tobias Waldekranz
2022-03-15 0:25 ` Tobias Waldekranz
2022-03-15 0:25 ` [Bridge] [PATCH v4 net-next 09/15] net: dsa: Never offload FDB entries on standalone ports Tobias Waldekranz
2022-03-15 0:25 ` Tobias Waldekranz
2022-03-15 16:33 ` [Bridge] " Vladimir Oltean
2022-03-15 16:33 ` Vladimir Oltean
2022-03-15 22:26 ` [Bridge] " Tobias Waldekranz
2022-03-15 22:26 ` Tobias Waldekranz
2022-03-15 22:42 ` [Bridge] " Vladimir Oltean
2022-03-15 22:42 ` Vladimir Oltean
2022-03-15 22:57 ` [Bridge] " Tobias Waldekranz
2022-03-15 22:57 ` Tobias Waldekranz
2022-03-15 0:25 ` [Bridge] [PATCH v4 net-next 10/15] net: dsa: Validate hardware support for MST Tobias Waldekranz
2022-03-15 0:25 ` Tobias Waldekranz
2022-03-15 17:11 ` [Bridge] " Vladimir Oltean
2022-03-15 17:11 ` Vladimir Oltean
2022-03-16 9:15 ` [Bridge] " Tobias Waldekranz
2022-03-16 9:15 ` Tobias Waldekranz
2022-03-16 13:03 ` [Bridge] " Vladimir Oltean
2022-03-16 13:03 ` Vladimir Oltean
2022-03-15 0:25 ` [Bridge] [PATCH v4 net-next 11/15] net: dsa: Pass VLAN MSTI migration notifications to driver Tobias Waldekranz
2022-03-15 0:25 ` Tobias Waldekranz
2022-03-15 0:25 ` [Bridge] [PATCH v4 net-next 12/15] net: dsa: Handle MST state changes Tobias Waldekranz
2022-03-15 0:25 ` Tobias Waldekranz
2022-03-15 16:42 ` [Bridge] " Vladimir Oltean
2022-03-15 16:42 ` Vladimir Oltean
2022-03-15 16:44 ` [Bridge] " Vladimir Oltean
2022-03-15 16:44 ` Vladimir Oltean
2022-03-16 9:45 ` [Bridge] " Tobias Waldekranz
2022-03-16 9:45 ` Tobias Waldekranz
2022-03-16 9:51 ` [Bridge] " Tobias Waldekranz
2022-03-16 9:51 ` Tobias Waldekranz
2022-03-16 13:02 ` [Bridge] " Vladimir Oltean
2022-03-16 13:02 ` Vladimir Oltean
2022-03-15 0:25 ` [Bridge] [PATCH v4 net-next 13/15] net: dsa: mv88e6xxx: Disentangle STU from VTU Tobias Waldekranz
2022-03-15 0:25 ` Tobias Waldekranz
2022-03-15 0:25 ` [Bridge] [PATCH v4 net-next 14/15] net: dsa: mv88e6xxx: Export STU as devlink region Tobias Waldekranz
2022-03-15 0:25 ` Tobias Waldekranz
2022-03-15 0:25 ` [Bridge] [PATCH v4 net-next 15/15] net: dsa: mv88e6xxx: MST Offloading Tobias Waldekranz
2022-03-15 0:25 ` Tobias Waldekranz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=878rtalu94.fsf@waldekranz.com \
--to=tobias@waldekranz.com \
--cc=andrew@lunn.ch \
--cc=bridge@lists.linux-foundation.org \
--cc=davem@davemloft.net \
--cc=f.fainelli@gmail.com \
--cc=idosch@nvidia.com \
--cc=ivecera@redhat.com \
--cc=jiri@resnulli.us \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=matt@codeconstruct.com.au \
--cc=me@cooperlees.com \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=petrm@nvidia.com \
--cc=razor@blackwall.org \
--cc=roopa@nvidia.com \
--cc=vivien.didelot@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.