Merge branch 'mlxsw-Prepare-for-VLAN-aware-bridge-w-VxLAN'
authorDavid S. Miller <davem@davemloft.net>
Tue, 27 Nov 2018 23:27:08 +0000 (15:27 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 27 Nov 2018 23:27:08 +0000 (15:27 -0800)
commit50853808ff4ab3fc85707bd51703b046546cf822
treec8cf6625f3fd7d0f9bf0b52feb81891ed83a4ce8
parent4e3c7c00bba0636b97eb23d582c20b0f5d95ce20
parentc2e7490c31ff6f53617bae4cd85faf50fa543d56
Merge branch 'mlxsw-Prepare-for-VLAN-aware-bridge-w-VxLAN'

Ido Schimmel says:

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

Signed-off-by: David S. Miller <davem@davemloft.net>