netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/5] mlxsw: Prepare for VLAN-aware bridge w/VxLAN
@ 2018-11-25  9:43 Ido Schimmel
  2018-11-25  9:43 ` [PATCH net-next 1/5] mlxsw: spectrum_switchdev: Do not set field when it is reserved Ido Schimmel
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Ido Schimmel @ 2018-11-25  9:43 UTC (permalink / raw)
  To: netdev@vger.kernel.org
  Cc: davem@davemloft.net, Jiri Pirko, Petr Machata, mlxsw,
	Ido Schimmel

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-11-28 10:27 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-25  9:43 [PATCH net-next 0/5] mlxsw: Prepare for VLAN-aware bridge w/VxLAN Ido Schimmel
2018-11-25  9:43 ` [PATCH net-next 1/5] mlxsw: spectrum_switchdev: Do not set field when it is reserved Ido Schimmel
2018-11-25  9:43 ` [PATCH net-next 2/5] mlxsw: spectrum_fid: Make flood index calculation more robust Ido Schimmel
2018-11-25  9:43 ` [PATCH net-next 3/5] mlxsw: spectrum_fid: Introduce emulated 802.1Q FIDs Ido Schimmel
2018-11-25  9:43 ` [PATCH net-next 4/5] mlxsw: spectrum_router: Introduce emulated VLAN RIFs Ido Schimmel
2018-11-25  9:43 ` [PATCH net-next 5/5] mlxsw: spectrum: Flip driver to use emulated 802.1Q FIDs Ido Schimmel
2018-11-27 23:28 ` [PATCH net-next 0/5] mlxsw: Prepare for VLAN-aware bridge w/VxLAN David Miller

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).