From: Petr Machata <petrm@mellanox.com>
To: "netdev@vger.kernel.org" <netdev@vger.kernel.org>
Cc: "ivecera@redhat.com" <ivecera@redhat.com>,
Jiri Pirko <jiri@mellanox.com>,
Ido Schimmel <idosch@mellanox.com>,
"davem@davemloft.net" <davem@davemloft.net>
Subject: [PATCH net-next 00/13] vxlan: Allow vetoing FDB operations
Date: Wed, 16 Jan 2019 23:06:28 +0000 [thread overview]
Message-ID: <cover.1547679599.git.petrm@mellanox.com> (raw)
mlxsw does not implement handling of the more advanced types of VXLAN
FDB entries. In order to provide visibility to users, it is important to
be able to reject such FDB entries, ideally with an explanation passed
in extended ack. This patch set implements this.
In patches #1-#4, vxlan is gradually transformed to support vetoing of
FDB entries added (or modified) through vxlan_fdb_update(), and the
default FDB entry added in __vxlan_dev_create().
Patches #5-#7 deal with vxlan_changelink(). The existing code recognizes
that vxlan_fdb_update() may fail, but doesn't attempt to keep things
intact if it does. These patches change the function in several steps to
gracefully handle vetoes (or other failures).
Then in patches #8-#11, extack arguments are added, respectively, to
ndo_fdb_add(), mlxsw's mlxsw_sp_nve_ops.fdb_replay, the functions that
connect to the VXLAN vetoing code, and call_switchdev_notifiers(). Note
that call_switchdev_blocking_notifiers() already does support extack.
Finally in patch #12, mlxsw is extended to add extack messages to
rejected FDB entries. In patch #13, the functionality is tested.
Petr Machata (13):
vxlan: Move up vxlan_fdb_free(), vxlan_fdb_destroy()
vxlan: Split vxlan_fdb_update() in two
vxlan: Have vxlan_fdb_replace() save original rdst value
vxlan: Allow vetoing of FDB notifications
vxlan: changelink: Inline vxlan_dev_configure()
vxlan: changelink: Postpone vxlan_config_apply()
vxlan: changelink: Delete remote after update
net: Add extack argument to ndo_fdb_add()
mlxsw: Add extack to mlxsw_sp_nve_ops.fdb_replay
vxlan: Add extack to switchdev operations
switchdev: Add extack argument to call_switchdev_notifiers()
mlxsw: spectrum: Add extack messages to VXLAN FDB rejection
selftests: mlxsw: Test veto of unsupported VXLAN FDBs
Documentation/networking/switchdev.txt | 2 +-
drivers/net/ethernet/intel/i40e/i40e_main.c | 3 +-
drivers/net/ethernet/intel/ice/ice_main.c | 3 +-
drivers/net/ethernet/intel/igb/igb_main.c | 3 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 3 +-
drivers/net/ethernet/mellanox/mlxsw/spectrum_nve.c | 6 +-
drivers/net/ethernet/mellanox/mlxsw/spectrum_nve.h | 3 +-
.../ethernet/mellanox/mlxsw/spectrum_nve_vxlan.c | 6 +-
.../net/ethernet/mellanox/mlxsw/spectrum_router.c | 6 +-
.../ethernet/mellanox/mlxsw/spectrum_switchdev.c | 37 ++-
drivers/net/ethernet/mscc/ocelot.c | 3 +-
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 3 +-
drivers/net/ethernet/rocker/rocker_main.c | 2 +-
drivers/net/ethernet/rocker/rocker_ofdpa.c | 4 +-
drivers/net/macvlan.c | 3 +-
drivers/net/vxlan.c | 352 +++++++++++++--------
include/linux/netdevice.h | 6 +-
include/net/switchdev.h | 6 +-
include/net/vxlan.h | 6 +-
net/bridge/br_fdb.c | 3 +-
net/bridge/br_private.h | 3 +-
net/bridge/br_switchdev.c | 2 +-
net/core/rtnetlink.c | 5 +-
net/dsa/dsa_priv.h | 3 +-
net/dsa/slave.c | 5 +-
net/switchdev/switchdev.c | 5 +-
.../selftests/drivers/net/mlxsw/vxlan_fdb_veto.sh | 126 ++++++++
27 files changed, 421 insertions(+), 188 deletions(-)
create mode 100755 tools/testing/selftests/drivers/net/mlxsw/vxlan_fdb_veto.sh
--
2.4.11
next reply other threads:[~2019-01-16 23:06 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-16 23:06 Petr Machata [this message]
2019-01-16 23:06 ` [PATCH net-next 01/13] vxlan: Move up vxlan_fdb_free(), vxlan_fdb_destroy() Petr Machata
2019-01-16 23:06 ` [PATCH net-next 02/13] vxlan: Split vxlan_fdb_update() in two Petr Machata
2019-01-16 23:06 ` [PATCH net-next 03/13] vxlan: Have vxlan_fdb_replace() save original rdst value Petr Machata
2019-01-16 23:06 ` [PATCH net-next 04/13] vxlan: Allow vetoing of FDB notifications Petr Machata
2019-01-16 23:06 ` [PATCH net-next 05/13] vxlan: changelink: Inline vxlan_dev_configure() Petr Machata
2019-01-16 23:06 ` [PATCH net-next 06/13] vxlan: changelink: Postpone vxlan_config_apply() Petr Machata
2019-01-16 23:06 ` [PATCH net-next 07/13] vxlan: changelink: Delete remote after update Petr Machata
2019-01-16 23:06 ` [PATCH net-next 08/13] net: Add extack argument to ndo_fdb_add() Petr Machata
2019-01-16 23:06 ` [PATCH net-next 09/13] mlxsw: Add extack to mlxsw_sp_nve_ops.fdb_replay Petr Machata
2019-01-16 23:06 ` [PATCH net-next 10/13] vxlan: Add extack to switchdev operations Petr Machata
2019-01-16 23:06 ` [PATCH net-next 11/13] switchdev: Add extack argument to call_switchdev_notifiers() Petr Machata
2019-01-16 23:06 ` [PATCH net-next 12/13] mlxsw: spectrum: Add extack messages to VXLAN FDB rejection Petr Machata
2019-01-16 23:07 ` [PATCH net-next 13/13] selftests: mlxsw: Test veto of unsupported VXLAN FDBs Petr Machata
2019-01-17 23:19 ` [PATCH net-next 00/13] vxlan: Allow vetoing FDB operations David Miller
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.1547679599.git.petrm@mellanox.com \
--to=petrm@mellanox.com \
--cc=davem@davemloft.net \
--cc=idosch@mellanox.com \
--cc=ivecera@redhat.com \
--cc=jiri@mellanox.com \
--cc=netdev@vger.kernel.org \
/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).