[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220704061139.1208770-1-idosch@nvidia.com>
Date: Mon, 4 Jul 2022 09:11:26 +0300
From: Ido Schimmel <idosch@...dia.com>
To: netdev@...r.kernel.org
Cc: davem@...emloft.net, kuba@...nel.org, pabeni@...hat.com,
edumazet@...gle.com, petrm@...dia.com, amcohen@...dia.com,
mlxsw@...dia.com, Ido Schimmel <idosch@...dia.com>
Subject: [PATCH net-next v2 00/13] mlxsw: Unified bridge conversion - part 6/6
This is the sixth and final part of the conversion of mlxsw to the
unified bridge model. It transitions the last bits of functionality that
were under firmware's responsibility in the legacy model to the driver.
The last patches flip the driver to the unified bridge model and clean
up code that was used to make the conversion easier to review.
Patchset overview:
Patch #1 sets the egress VID for known unicast packets. For multicast
packets, the egress VID is configured using the MPE table. See commit
8c2da081c8b8 ("mlxsw: spectrum_fid: Configure egress VID classification
for multicast").
Patch #2 configures the VNI to FID classification that is used during
decapsulation.
Patch #3 configures ingress router interface (RIF) in FID classification
records, so that when a packet reaches the router block, its ingress RIF
is known. Care is taken to configure this in all the different flows
(e.g., RIF set on a FID, {Port, VID} joins a FID that already has a RIF
etc.).
Patch #4 configures the egress VID for routed packets. For such packets,
the egress VID is not set by the MPE table or by an FDB record at the
egress bridge, but instead by a dedicated table that maps {Egress RIF,
Egress port} to a VID.
Patch #5 removes VID configuration from RIF creation as in the unified
bridge model firmware no longer needs it.
Patch #6 sets the egress FID to use in RIF configuration so that the
device knows using which FID to bridge the packet after routing.
Patches #7-#9 add a new 802.1Q family and associated VLAN RIFs. In the
unified bridge model, we no longer need to emulate 802.1Q FIDs using
802.1D FIDs as VNI can be associated with both.
Patches #10-#11 finally flip the driver to the unified bridge model.
Patches #12-#13 clean up code that was used to make the conversion
easier to review.
v2:
* Fix build failure [1] in patch #1.
[1] https://lore.kernel.org/netdev/20220630201709.6e66a1bb@kernel.org/
Amit Cohen (13):
mlxsw: Configure egress VID for unicast FDB entries
mlxsw: spectrum_fid: Configure VNI to FID classification
mlxsw: Configure ingress RIF classification
mlxsw: spectrum_fid: Configure layer 3 egress VID classification
mlxsw: spectrum_router: Do not configure VID for sub-port RIFs
mlxsw: Configure egress FID classification after routing
mlxsw: Add support for VLAN RIFs
mlxsw: Add new FID families for unified bridge model
mlxsw: Add support for 802.1Q FID family
mlxsw: Add ubridge to config profile
mlxsw: Enable unified bridge model
mlxsw: spectrum_fid: Remove flood_index() from FID operation structure
mlxsw: spectrum_fid: Remove '_ub_' indication from structures and
defines
drivers/net/ethernet/mellanox/mlxsw/cmd.h | 13 +
drivers/net/ethernet/mellanox/mlxsw/core.h | 2 +
drivers/net/ethernet/mellanox/mlxsw/pci.c | 5 +
drivers/net/ethernet/mellanox/mlxsw/reg.h | 30 +-
.../net/ethernet/mellanox/mlxsw/spectrum.c | 29 +-
.../net/ethernet/mellanox/mlxsw/spectrum.h | 8 +-
.../ethernet/mellanox/mlxsw/spectrum_fid.c | 780 ++++++++++++++----
.../ethernet/mellanox/mlxsw/spectrum_pgt.c | 21 +-
.../ethernet/mellanox/mlxsw/spectrum_router.c | 147 +++-
.../ethernet/mellanox/mlxsw/spectrum_router.h | 1 -
.../mellanox/mlxsw/spectrum_switchdev.c | 28 +-
11 files changed, 829 insertions(+), 235 deletions(-)
--
2.36.1
Powered by blists - more mailing lists