From: Vladimir Oltean <olteanv@gmail.com>
To: Vladimir Oltean <vladimir.oltean@nxp.com>
Cc: Andrew Lunn <andrew@lunn.ch>,
Florian Fainelli <f.fainelli@gmail.com>,
Jiri Pirko <jiri@resnulli.us>, DENG Qingfang <dqfext@gmail.com>,
netdev@vger.kernel.org, bridge@lists.linux-foundation.org,
Vivien Didelot <vivien.didelot@gmail.com>,
Ido Schimmel <idosch@idosch.org>,
Grygorii Strashko <grygorii.strashko@ti.com>,
Nikolay Aleksandrov <nikolay@nvidia.com>,
Roopa Prabhu <roopa@nvidia.com>, Jakub Kicinski <kuba@kernel.org>,
Marek Behun <kabel@blackhole.sk>,
"David S. Miller" <davem@davemloft.net>,
Tobias Waldekranz <tobias@waldekranz.com>
Subject: Re: [Bridge] [PATCH v4 net-next 11/15] net: bridge: switchdev: allow the TX data plane forwarding to be offloaded
Date: Mon, 19 Jul 2021 10:22:51 +0300 [thread overview]
Message-ID: <20210719072251.encyen5fbln6z6je@skbuf> (raw)
In-Reply-To: <20210718214434.3938850-12-vladimir.oltean@nxp.com>
On Mon, Jul 19, 2021 at 12:44:30AM +0300, Vladimir Oltean wrote:
> static int nbp_switchdev_add(struct net_bridge_port *p,
> struct netdev_phys_item_id ppid,
> + bool tx_fwd_offload,
> struct netlink_ext_ack *extack)
> {
> + int err;
> +
> if (p->offload_count) {
> /* Prevent unsupported configurations such as a bridge port
> * which is a bonding interface, and the member ports are from
> @@ -189,7 +228,16 @@ static int nbp_switchdev_add(struct net_bridge_port *p,
> p->ppid = ppid;
> p->offload_count = 1;
>
> - return nbp_switchdev_hwdom_set(p);
> + err = nbp_switchdev_hwdom_set(p);
> + if (err)
> + return err;
> +
> + if (tx_fwd_offload) {
> + p->flags |= BR_TX_FWD_OFFLOAD;
> + static_branch_inc(&br_switchdev_fwd_offload_used);
> + }
> +
> + return 0;
> }
>
> static void nbp_switchdev_del(struct net_bridge_port *p,
> @@ -210,6 +258,8 @@ static void nbp_switchdev_del(struct net_bridge_port *p,
>
> if (p->hwdom)
> nbp_switchdev_hwdom_put(p);
> +
> + p->flags &= ~BR_TX_FWD_OFFLOAD;
> }
Not the end of the world, but the static_branch_dec(&br_switchdev_fwd_offload_used)
was lost here in a rebase. Not a functional issue per se, but it is on
my list of things I would like to fix when I resend.
WARNING: multiple messages have this Message-ID (diff)
From: Vladimir Oltean <olteanv@gmail.com>
To: Vladimir Oltean <vladimir.oltean@nxp.com>
Cc: netdev@vger.kernel.org, Jakub Kicinski <kuba@kernel.org>,
"David S. Miller" <davem@davemloft.net>,
Andrew Lunn <andrew@lunn.ch>,
Florian Fainelli <f.fainelli@gmail.com>,
Vivien Didelot <vivien.didelot@gmail.com>,
Jiri Pirko <jiri@resnulli.us>, Ido Schimmel <idosch@idosch.org>,
Tobias Waldekranz <tobias@waldekranz.com>,
Roopa Prabhu <roopa@nvidia.com>,
Nikolay Aleksandrov <nikolay@nvidia.com>,
Stephen Hemminger <stephen@networkplumber.org>,
bridge@lists.linux-foundation.org,
Grygorii Strashko <grygorii.strashko@ti.com>,
Marek Behun <kabel@blackhole.sk>,
DENG Qingfang <dqfext@gmail.com>
Subject: Re: [PATCH v4 net-next 11/15] net: bridge: switchdev: allow the TX data plane forwarding to be offloaded
Date: Mon, 19 Jul 2021 10:22:51 +0300 [thread overview]
Message-ID: <20210719072251.encyen5fbln6z6je@skbuf> (raw)
In-Reply-To: <20210718214434.3938850-12-vladimir.oltean@nxp.com>
On Mon, Jul 19, 2021 at 12:44:30AM +0300, Vladimir Oltean wrote:
> static int nbp_switchdev_add(struct net_bridge_port *p,
> struct netdev_phys_item_id ppid,
> + bool tx_fwd_offload,
> struct netlink_ext_ack *extack)
> {
> + int err;
> +
> if (p->offload_count) {
> /* Prevent unsupported configurations such as a bridge port
> * which is a bonding interface, and the member ports are from
> @@ -189,7 +228,16 @@ static int nbp_switchdev_add(struct net_bridge_port *p,
> p->ppid = ppid;
> p->offload_count = 1;
>
> - return nbp_switchdev_hwdom_set(p);
> + err = nbp_switchdev_hwdom_set(p);
> + if (err)
> + return err;
> +
> + if (tx_fwd_offload) {
> + p->flags |= BR_TX_FWD_OFFLOAD;
> + static_branch_inc(&br_switchdev_fwd_offload_used);
> + }
> +
> + return 0;
> }
>
> static void nbp_switchdev_del(struct net_bridge_port *p,
> @@ -210,6 +258,8 @@ static void nbp_switchdev_del(struct net_bridge_port *p,
>
> if (p->hwdom)
> nbp_switchdev_hwdom_put(p);
> +
> + p->flags &= ~BR_TX_FWD_OFFLOAD;
> }
Not the end of the world, but the static_branch_dec(&br_switchdev_fwd_offload_used)
was lost here in a rebase. Not a functional issue per se, but it is on
my list of things I would like to fix when I resend.
next prev parent reply other threads:[~2021-07-19 7:22 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-18 21:44 [Bridge] [PATCH v4 net-next 00/15] Allow forwarding for the software bridge data path to be offloaded to capable devices Vladimir Oltean
2021-07-18 21:44 ` Vladimir Oltean
2021-07-18 21:44 ` [Bridge] [PATCH v4 net-next 01/15] net: dpaa2-switch: use extack in dpaa2_switch_port_bridge_join Vladimir Oltean
2021-07-18 21:44 ` Vladimir Oltean
2021-07-19 9:17 ` [Bridge] " Ioana Ciornei
2021-07-19 9:17 ` Ioana Ciornei
2021-07-18 21:44 ` [Bridge] [PATCH v4 net-next 02/15] net: dpaa2-switch: refactor prechangeupper sanity checks Vladimir Oltean
2021-07-18 21:44 ` Vladimir Oltean
2021-07-19 9:18 ` [Bridge] " Ioana Ciornei
2021-07-19 9:18 ` Ioana Ciornei
2021-07-18 21:44 ` [Bridge] [PATCH v4 net-next 03/15] mlxsw: spectrum: " Vladimir Oltean
2021-07-18 21:44 ` Vladimir Oltean
2021-07-18 21:44 ` [Bridge] [PATCH v4 net-next 04/15] mlxsw: spectrum: refactor leaving an 8021q upper that is a bridge port Vladimir Oltean
2021-07-18 21:44 ` Vladimir Oltean
2021-07-19 2:16 ` [Bridge] " Florian Fainelli
2021-07-19 2:16 ` Florian Fainelli
2021-07-18 21:44 ` [Bridge] [PATCH v4 net-next 05/15] net: marvell: prestera: refactor prechangeupper sanity checks Vladimir Oltean
2021-07-18 21:44 ` Vladimir Oltean
2021-07-19 2:20 ` [Bridge] " Florian Fainelli
2021-07-19 2:20 ` Florian Fainelli
2021-07-18 21:44 ` [Bridge] [PATCH v4 net-next 06/15] net: switchdev: guard drivers against multiple obj replays on same bridge port Vladimir Oltean
2021-07-18 21:44 ` Vladimir Oltean
2021-07-19 2:17 ` [Bridge] " Florian Fainelli
2021-07-19 2:17 ` Florian Fainelli
2021-07-18 21:44 ` [Bridge] [PATCH v4 net-next 07/15] net: bridge: disambiguate offload_fwd_mark Vladimir Oltean
2021-07-18 21:44 ` Vladimir Oltean
2021-07-19 2:26 ` [Bridge] " Florian Fainelli
2021-07-19 2:26 ` Florian Fainelli
2021-07-18 21:44 ` [Bridge] [PATCH v4 net-next 08/15] net: bridge: switchdev: recycle unused hwdoms Vladimir Oltean
2021-07-18 21:44 ` Vladimir Oltean
2021-07-18 21:44 ` [Bridge] [PATCH v4 net-next 09/15] net: bridge: switchdev: let drivers inform which bridge ports are offloaded Vladimir Oltean
2021-07-18 21:44 ` Vladimir Oltean
2021-07-19 9:23 ` [Bridge] " Ioana Ciornei
2021-07-19 9:23 ` Ioana Ciornei
2021-07-20 7:53 ` [Bridge] " Horatiu Vultur
2021-07-20 7:53 ` Horatiu Vultur
2021-07-20 8:45 ` [Bridge] " Vladimir Oltean
2021-07-20 8:45 ` Vladimir Oltean
2021-07-18 21:44 ` [Bridge] [PATCH v4 net-next 10/15] net: bridge: switchdev object replay helpers for everybody Vladimir Oltean
2021-07-18 21:44 ` Vladimir Oltean
2021-07-19 8:19 ` [Bridge] " Vladimir Oltean
2021-07-19 8:19 ` Vladimir Oltean
2021-07-19 9:26 ` [Bridge] " Ioana Ciornei
2021-07-19 9:26 ` Ioana Ciornei
2021-07-18 21:44 ` [Bridge] [PATCH v4 net-next 11/15] net: bridge: switchdev: allow the TX data plane forwarding to be offloaded Vladimir Oltean
2021-07-18 21:44 ` Vladimir Oltean
2021-07-19 2:43 ` [Bridge] " Florian Fainelli
2021-07-19 2:43 ` Florian Fainelli
2021-07-19 7:22 ` Vladimir Oltean [this message]
2021-07-19 7:22 ` Vladimir Oltean
2021-07-18 21:44 ` [Bridge] [PATCH v4 net-next 12/15] net: dsa: track the number of switches in a tree Vladimir Oltean
2021-07-18 21:44 ` Vladimir Oltean
2021-07-19 2:54 ` [Bridge] " Florian Fainelli
2021-07-19 2:54 ` Florian Fainelli
2021-07-18 21:44 ` [Bridge] [PATCH v4 net-next 13/15] net: dsa: add support for bridge TX forwarding offload Vladimir Oltean
2021-07-18 21:44 ` Vladimir Oltean
2021-07-19 2:51 ` [Bridge] " Florian Fainelli
2021-07-19 2:51 ` Florian Fainelli
2021-07-18 21:44 ` [Bridge] [PATCH v4 net-next 14/15] net: dsa: mv88e6xxx: map virtual bridges with forwarding offload in the PVT Vladimir Oltean
2021-07-18 21:44 ` Vladimir Oltean
2021-07-19 2:52 ` [Bridge] " Florian Fainelli
2021-07-19 2:52 ` Florian Fainelli
2021-07-18 21:44 ` [Bridge] [PATCH v4 net-next 15/15] net: dsa: tag_dsa: offload the bridge forwarding process Vladimir Oltean
2021-07-18 21:44 ` Vladimir Oltean
2021-07-19 2:47 ` [Bridge] " Florian Fainelli
2021-07-19 2:47 ` Florian Fainelli
2021-07-19 7:41 ` [Bridge] " Vladimir Oltean
2021-07-19 7:41 ` Vladimir Oltean
2021-07-20 11:24 ` [Bridge] [PATCH v4 net-next 00/15] Allow forwarding for the software bridge data path to be offloaded to capable devices Ido Schimmel
2021-07-20 11:24 ` Ido Schimmel
2021-07-20 13:20 ` [Bridge] " Vladimir Oltean
2021-07-20 13:20 ` Vladimir Oltean
2021-07-20 13:51 ` [Bridge] " Ido Schimmel
2021-07-20 13:51 ` Ido Schimmel
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=20210719072251.encyen5fbln6z6je@skbuf \
--to=olteanv@gmail.com \
--cc=andrew@lunn.ch \
--cc=bridge@lists.linux-foundation.org \
--cc=davem@davemloft.net \
--cc=dqfext@gmail.com \
--cc=f.fainelli@gmail.com \
--cc=grygorii.strashko@ti.com \
--cc=idosch@idosch.org \
--cc=jiri@resnulli.us \
--cc=kabel@blackhole.sk \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=nikolay@nvidia.com \
--cc=roopa@nvidia.com \
--cc=tobias@waldekranz.com \
--cc=vivien.didelot@gmail.com \
--cc=vladimir.oltean@nxp.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.