From: Petr Machata <petrm@mellanox.com>
To: netdev@vger.kernel.org, devel@driverdev.osuosl.org,
bridge@lists.linux-foundation.org
Cc: f.fainelli@gmail.com, andrew@lunn.ch,
nikolay@cumulusnetworks.com, gregkh@linuxfoundation.org,
vivien.didelot@savoirfairelinux.com, idosch@mellanox.com,
jiri@mellanox.com, razvan.stefanescu@nxp.com,
davem@davemloft.net
Subject: [PATCH net-next v2 0/7] net: bridge: Notify about bridge VLANs
Date: Mon, 28 May 2018 12:49:49 +0200 [thread overview]
Message-ID: <cover.1527503302.git.petrm@mellanox.com> (raw)
In commit 946a11e7408e ("mlxsw: spectrum_span: Allow bridge for gretap
mirror"), mlxsw got support for offloading mirror-to-gretap such that
the underlay packet path involves a bridge. In that case, the offload is
also influenced by PVID setting of said bridge. However, changes to VLAN
configuration of the bridge itself do not generate switchdev
notifications, so there's no mechanism to prod mlxsw to update the
offload when these settings change.
In this patchset, the problem is resolved by distributing the switchdev
notification SWITCHDEV_OBJ_ID_PORT_VLAN also for configuration changes
on bridge VLANs. Since stacked devices distribute the notification to
lower devices, such event eventually reaches the driver, which can
determine whether it's a bridge or port VLAN by inspecting orig_dev.
To keep things consistent, the newly-distributed notifications observe
the same protocol as the existing ones: dual prepare/commit, with
-EOPNOTSUPP indicating lack of support, even though there's currently
nothing to prepare for and nothing to support. Correspondingly, all
switchdev drivers have been updated to return -EOPNOTSUPP for bridge
VLAN notifications.
In patch #1, the code to send notifications for adding and deleting is
factored out into two named functions.
In patches #2-#5, respectively for mlxsw, rocker, DSA and DPAA2 ethsw,
the new notifications (which are not enabled yet) are ignored to
maintain the current behavior.
In patch #6, the notification is actually enabled.
In patch #7, mlxsw is changed to update offloads of mirror-to-gre also
for bridge-related notifications.
Changes from v1 to v2:
- Rename br_switchdev_port_obj_add() and br_switchdev_port_obj_del() to
br_switchdev_port_vlan_add() and br_switchdev_port_vlan_del(), and
move from br_vlan.c to br_switchdev.c.
Petr Machata (7):
net: bridge: Extract boilerplate around switchdev_port_obj_*()
mlxsw: spectrum_switchdev: Ignore bridge VLAN events
rocker: rocker_main: Ignore bridge VLAN events
dsa: port: Ignore bridge VLAN events
staging: fsl-dpaa2: ethsw: Ignore bridge VLAN events
net: bridge: Notify about bridge VLANs
mlxsw: spectrum_switchdev: Schedule respin during trans prepare
.../ethernet/mellanox/mlxsw/spectrum_switchdev.c | 8 +++-
drivers/net/ethernet/rocker/rocker_main.c | 6 +++
drivers/staging/fsl-dpaa2/ethsw/ethsw.c | 6 +++
net/bridge/br_private.h | 3 ++
net/bridge/br_switchdev.c | 25 ++++++++++++
net/bridge/br_vlan.c | 45 +++++++++-------------
net/dsa/port.c | 6 +++
7 files changed, 71 insertions(+), 28 deletions(-)
--
2.4.11
next reply other threads:[~2018-05-28 10:49 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-28 10:49 Petr Machata [this message]
2018-05-28 10:49 ` [PATCH net-next v2 1/7] net: bridge: Extract boilerplate around switchdev_port_obj_*() Petr Machata
2018-05-28 13:39 ` Petr Machata
2018-05-28 10:50 ` [PATCH net-next v2 2/7] mlxsw: spectrum_switchdev: Ignore bridge VLAN events Petr Machata
2018-05-28 10:50 ` [PATCH net-next v2 3/7] rocker: rocker_main: " Petr Machata
2018-05-29 10:25 ` Ilias Apalodimas
2018-05-29 14:37 ` Petr Machata
2018-05-29 14:44 ` Ilias Apalodimas
2018-05-28 10:50 ` [PATCH net-next v2 4/7] dsa: port: " Petr Machata
2018-05-28 10:50 ` [PATCH net-next v2 5/7] staging: fsl-dpaa2: ethsw: " Petr Machata
2018-05-28 10:50 ` [PATCH net-next v2 6/7] net: bridge: Notify about bridge VLANs Petr Machata
2018-05-28 10:50 ` [PATCH net-next v2 7/7] mlxsw: spectrum_switchdev: Schedule respin during trans prepare Petr Machata
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=cover.1527503302.git.petrm@mellanox.com \
--to=petrm@mellanox.com \
--cc=andrew@lunn.ch \
--cc=bridge@lists.linux-foundation.org \
--cc=davem@davemloft.net \
--cc=devel@driverdev.osuosl.org \
--cc=f.fainelli@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=idosch@mellanox.com \
--cc=jiri@mellanox.com \
--cc=netdev@vger.kernel.org \
--cc=nikolay@cumulusnetworks.com \
--cc=razvan.stefanescu@nxp.com \
--cc=vivien.didelot@savoirfairelinux.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).