[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181121080141.16676-1-idosch@mellanox.com>
Date: Wed, 21 Nov 2018 08:02:32 +0000
From: Ido Schimmel <idosch@...lanox.com>
To: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"bridge@...ts.linux-foundation.org"
<bridge@...ts.linux-foundation.org>
CC: "davem@...emloft.net" <davem@...emloft.net>,
Jiri Pirko <jiri@...lanox.com>,
Petr Machata <petrm@...lanox.com>,
"roopa@...ulusnetworks.com" <roopa@...ulusnetworks.com>,
"nikolay@...ulusnetworks.com" <nikolay@...ulusnetworks.com>,
"stephen@...workplumber.org" <stephen@...workplumber.org>,
"ivecera@...hat.com" <ivecera@...hat.com>,
mlxsw <mlxsw@...lanox.com>, Ido Schimmel <idosch@...lanox.com>
Subject: [PATCH net-next 00/16] mlxsw: Add VxLAN learning support
This patchset adds VxLAN learning support in the mlxsw driver.
The first five patches from Petr add the required switchdev APIs which
allow device drivers to notify the VxLAN driver about learned / aged-out
FDB entries.
First in patch #1, an unnecessary argument is dropped from
__vxlan_fdb_delete().
In patches #2-#4, the VxLAN FDB handling code is extended to make
sending the switchdev events configurable; to mark user-added entries as
such; and to make sure HW-learned FDB entries do not take over
user-added ones.
Finally in patch #5, the necessary switchdev notifications are added and
handled by VxLAN, similarly to how this is handled in the bridge driver.
Patch #6 allows changing of the VxLAN's device ageing time since it is
useful for the selftest in the last patch.
Patch #7 adds support for querying bridge port flags of a given
netdevice, as a new entry should not be learned and notified to the
bridge driver in case learning is disabled on the bridge port.
Next patches gradually add learning support in mlxsw.
The last patch adds a new test case for VxLAN learning.
Ido Schimmel (11):
vxlan: Allow changing ageing time
bridge: Allow querying bridge port flags
mlxsw: reg: Add definition of unicast tunnel record for SFN register
mlxsw: spectrum_fid: Store ifindex of NVE device in FID
mlxsw: spectrum_fid: Allow FID lookup by its index
mlxsw: spectrum_nve: Add API to resolve learned IP addresses
mlxsw: spectrum_switchdev: Process learned VxLAN FDB entries
mlxsw: spectrum_switchdev: Allow deletion of learned FDB entries
mlxsw: spectrum_nve: Allow VxLAN learning
selftests: mlxsw: Consider VxLAN learning enabled as valid
selftests: forwarding: vxlan_bridge_1d: Add learning test
Petr Machata (5):
vxlan: __vxlan_fdb_delete(): Drop unused argument vid
vxlan: vxlan_fdb_notify(): Make switchdev notification configurable
vxlan: Mark user-added FDB entries
vxlan: Don't override user-added entries with ext-learned ones
vxlan: Add hardware FDB learning
drivers/net/ethernet/mellanox/mlxsw/reg.h | 64 ++++++
.../net/ethernet/mellanox/mlxsw/spectrum.h | 8 +-
.../ethernet/mellanox/mlxsw/spectrum_fid.c | 56 ++++-
.../ethernet/mellanox/mlxsw/spectrum_nve.c | 16 +-
.../mellanox/mlxsw/spectrum_nve_vxlan.c | 8 +-
.../mellanox/mlxsw/spectrum_switchdev.c | 206 ++++++++++++++++--
drivers/net/vxlan.c | 192 ++++++++++++----
include/linux/if_bridge.h | 6 +
include/net/switchdev.h | 2 +
include/net/vxlan.h | 1 +
net/bridge/br_if.c | 12 +
.../selftests/drivers/net/mlxsw/vxlan.sh | 2 +-
.../net/forwarding/vxlan_bridge_1d.sh | 108 +++++++++
13 files changed, 606 insertions(+), 75 deletions(-)
--
2.19.1
Powered by blists - more mailing lists