[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181219060735.4430-1-idosch@mellanox.com>
Date: Wed, 19 Dec 2018 06:08:35 +0000
From: Ido Schimmel <idosch@...lanox.com>
To: "netdev@...r.kernel.org" <netdev@...r.kernel.org>
CC: "davem@...emloft.net" <davem@...emloft.net>,
Jiri Pirko <jiri@...lanox.com>,
Petr Machata <petrm@...lanox.com>, mlxsw <mlxsw@...lanox.com>,
Ido Schimmel <idosch@...lanox.com>
Subject: [PATCH net-next 00/10] mlxsw: Make driver more robust
In recent months we fixed several bugs in the driver that could have
been avoided by re-evaluating some of the involved code paths and by
introducing relevant and comprehensive test cases.
This patchset tries to do that by introducing a set of small and mostly
non-functional changes in addition to a new test. I have further
improvements in mind, but they can be done in a different set.
Patch #1 makes sure we correctly sanitize upper devices of a VLAN
interface.
Patch #2 removes an unexpected behavior from the driver, in which routes
configured on a VLAN interface will cease being offloaded after certain
operations.
Patch #3 is a small cleanup.
Patch #4 simplifies the driver by removing reference counting from VLAN
entries configured on a port.
Patches #5-#6 simplify linking/unlinking from a bridge, especially when
LAG and VLAN devices are involved. They make both operations symmetric
even when ports are unlinked from a bridged LAG device.
Patch #7-#9 make router interface (RIF) deletion more robust by removing
reliance on device chain to indicate whether a NETDEV_DOWN event in the
inet{,6}addr notification chains should be processed. This is due to the
fact that IP addresses can be flushed from a netdev after it was
unlinked from its lower device.
Patch #10 adds a new test to for valid and invalid configurations over
mlxsw ports. Some of the test cases are derived from recent fixes. I
expect that more test cases will be added over time.
Ido Schimmel (10):
mlxsw: spectrum: Sanitize VLAN interface's uppers
mlxsw: spectrum_router: Do not destroy RIFs based on FID's reference
count
mlxsw: spectrum_fid: Remove unused function
mlxsw: spectrum: Handle VLAN device unlinking
mlxsw: spectrum: Remove reference count from VLAN entries
mlxsw: spectrum: Properly cleanup LAG uppers when removing port from
LAG
mlxsw: spectrum_router: Propagate 'struct mlxsw_sp' further
mlxsw: spectrum_router: Make RIF deletion more robust
mlxsw: spectrum_router: Hold a reference on RIF's netdev
selftests: mlxsw: Add rtnetlink tests
.../net/ethernet/mellanox/mlxsw/spectrum.c | 150 ++++---
.../net/ethernet/mellanox/mlxsw/spectrum.h | 12 +-
.../ethernet/mellanox/mlxsw/spectrum_fid.c | 34 +-
.../ethernet/mellanox/mlxsw/spectrum_router.c | 166 +++++---
.../mellanox/mlxsw/spectrum_switchdev.c | 68 ++-
.../selftests/drivers/net/mlxsw/rtnetlink.sh | 392 ++++++++++++++++++
6 files changed, 639 insertions(+), 183 deletions(-)
--
2.20.0
Powered by blists - more mailing lists