[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181125094210.17298-1-idosch@mellanox.com>
Date: Sun, 25 Nov 2018 09:43:53 +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 0/5] mlxsw: Prepare for VLAN-aware bridge w/VxLAN
The driver is using 802.1Q filtering identifiers (FIDs) to represent the
different VLANs in the VLAN-aware bridge (only one is supported).
However, the device cannot assign a VNI to such FIDs, which prevents the
driver from supporting the enslavement of VxLAN devices to the
VLAN-aware bridge.
This patchset works around this limitation by emulating 802.1Q FIDs
using 802.1D FIDs, which can be assigned a VNI and so far have only been
used in conjunction with VLAN-unaware bridges.
The downside of this approach is that multiple {Port,VID}->FID entries
are required, whereas a single VID->FID entry is required with "true"
802.1Q FIDs.
First four patches introduce the new FID family of emulated 802.1Q FIDs
and the associated type of router interfaces (RIFs). Last patch flips
the driver to use this new FID family.
The diff is relatively small because the internal implementation of each
FID family is contained and hidden in spectrum_fid.c. Different internal
users (e.g., bridge, router) are aware of the different FID types, but
do not care about their internal implementation. This makes it trivial
to swap the current implementation of 802.1Q FIDs with the new one,
using 802.1D FIDs.
Ido Schimmel (5):
mlxsw: spectrum_switchdev: Do not set field when it is reserved
mlxsw: spectrum_fid: Make flood index calculation more robust
mlxsw: spectrum_fid: Introduce emulated 802.1Q FIDs
mlxsw: spectrum_router: Introduce emulated VLAN RIFs
mlxsw: spectrum: Flip driver to use emulated 802.1Q FIDs
.../net/ethernet/mellanox/mlxsw/spectrum.c | 14 +++---
.../net/ethernet/mellanox/mlxsw/spectrum.h | 1 +
.../ethernet/mellanox/mlxsw/spectrum_fid.c | 44 ++++++++++++++++++-
.../ethernet/mellanox/mlxsw/spectrum_router.c | 11 ++++-
.../mellanox/mlxsw/spectrum_switchdev.c | 3 +-
5 files changed, 63 insertions(+), 10 deletions(-)
--
2.19.1
Powered by blists - more mailing lists