[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210317103529.2903172-1-idosch@idosch.org>
Date: Wed, 17 Mar 2021 12:35:22 +0200
From: Ido Schimmel <idosch@...sch.org>
To: netdev@...r.kernel.org
Cc: davem@...emloft.net, kuba@...nel.org, jiri@...dia.com,
amcohen@...dia.com, petrm@...dia.com, mlxsw@...dia.com,
Ido Schimmel <idosch@...dia.com>
Subject: [PATCH net-next 0/7] mlxsw: Allow 802.1d and .1ad VxLAN bridges to coexist on Spectrum>=2
From: Ido Schimmel <idosch@...dia.com>
This patchset allows user space to simultaneously configure both 802.1d
and 802.1ad VxLAN bridges on Spectrum-2 and later ASICs. 802.1ad VxLAN
bridges are still forbidden on Spectrum-1.
The reason for the current limitation is that up until now the EtherType
that was pushed to decapsulated VxLAN packets was a property of the
tunnel port, of which there is only one. This meant that a 802.1ad VxLAN
bridge could not be configured if the tunnel port was already configured
to push a 802.1q tag.
This patchset improves the situation by making two changes. First,
decapsulated packets are marked as having their EtherType decided by the
egress port. Second, local ports member in the bridge (e.g., swp1) are
configured to set the correct egress EtherType.
Patchset overview:
Patch #1 adds a register required for the first change
Patches #2-#3 add the register required for the second change and a
corresponding API
Patch #4 prepares the driver for the split in behavior between
Spectrum-1 and later ASICs
Patch #5 performs the two above mentioned changes to allow the driver to
support simultaneous 802.1ad and 802.1d VxLAN bridges on Spectrum-2 and
later ASICs
Patch #6 adds a selftest
Patch #7 removes a selftest that verified the limitation that was lifted
by this patchset
Amit Cohen (7):
mlxsw: reg: Add egr_et_set field to SPVID
mlxsw: reg: Add Switch Port Egress VLAN EtherType Register
mlxsw: spectrum: Add mlxsw_sp_port_egress_ethtype_set()
mlxsw: Add struct mlxsw_sp_switchdev_ops per ASIC
mlxsw: Allow 802.1d and .1ad VxLAN bridges to coexist on Spectrum>=2
selftests: forwarding: Add test for dual VxLAN bridge
selftests: mlxsw: spectrum-2: Remove q_in_vni_veto test
drivers/net/ethernet/mellanox/mlxsw/reg.h | 45 +++
.../net/ethernet/mellanox/mlxsw/spectrum.c | 19 +
.../net/ethernet/mellanox/mlxsw/spectrum.h | 8 +
.../ethernet/mellanox/mlxsw/spectrum_nve.h | 1 -
.../mellanox/mlxsw/spectrum_nve_vxlan.c | 15 +-
.../mellanox/mlxsw/spectrum_switchdev.c | 74 +++-
.../net/mlxsw/spectrum-2/q_in_vni_veto.sh | 77 ----
.../net/forwarding/dual_vxlan_bridge.sh | 366 ++++++++++++++++++
8 files changed, 513 insertions(+), 92 deletions(-)
delete mode 100755 tools/testing/selftests/drivers/net/mlxsw/spectrum-2/q_in_vni_veto.sh
create mode 100755 tools/testing/selftests/net/forwarding/dual_vxlan_bridge.sh
--
2.29.2
Powered by blists - more mailing lists