[PATCH net-next 0/8] mlxsw: Add support for VxLAN with IPv6 underlay
flat view
STALE1760d
From: Ido Schimmel <idosch@nvidia.com>
Date: 2021-12-14 14:26:11
So far, mlxsw only supported VxLAN with IPv4 underlay. This patchset extends mlxsw to also support VxLAN with IPv6 underlay. The main difference is related to the way IPv6 addresses are handled by the device. See patch #1 for a detailed explanation. Patch #1 creates a common hash table to store the mapping from IPv6 addresses to KVDL indexes. This table is useful for both IP-in-IP and VxLAN tunnels with an IPv6 underlay. Patch #2 converts the IP-in-IP code to use the new hash table. Patches #3-#6 are preparations. Patch #7 finally adds support for VxLAN with IPv6 underlay. Patch #8 removes a test case that checked that VxLAN configurations with IPv6 underlay are vetoed by the driver. A follow-up patchset will add forwarding selftests. Amit Cohen (8): mlxsw: spectrum: Add hash table for IPv6 address mapping mlxsw: spectrum_ipip: Use common hash table for IPv6 address mapping mlxsw: spectrum_nve_vxlan: Make VxLAN flags check per address family mlxsw: Split handling of FDB tunnel entries between address families mlxsw: reg: Add a function to fill IPv6 unicast FDB entries mlxsw: spectrum_nve: Keep track of IPv6 addresses used by FDB entries mlxsw: Add support for VxLAN with IPv6 underlay selftests: mlxsw: vxlan: Remove IPv6 test case drivers/net/ethernet/mellanox/mlxsw/reg.h | 30 +++- .../net/ethernet/mellanox/mlxsw/spectrum.c | 143 +++++++++++++++ .../net/ethernet/mellanox/mlxsw/spectrum.h | 18 ++ .../ethernet/mellanox/mlxsw/spectrum_ipip.c | 28 +-- .../ethernet/mellanox/mlxsw/spectrum_nve.c | 165 +++++++++++++++++- .../ethernet/mellanox/mlxsw/spectrum_nve.h | 2 + .../mellanox/mlxsw/spectrum_nve_vxlan.c | 97 ++++++++-- .../ethernet/mellanox/mlxsw/spectrum_router.c | 14 ++ .../mellanox/mlxsw/spectrum_switchdev.c | 127 +++++++++++--- .../selftests/drivers/net/mlxsw/vxlan.sh | 18 -- 10 files changed, 558 insertions(+), 84 deletions(-) -- 2.31.1