Message ID | 20210923123700.885466-1-idosch@idosch.org (mailing list archive) |
---|---|
Headers | show |
Series | mlxsw: Add support for IP-in-IP with IPv6 underlay | expand |
Hello: This series was applied to netdev/net-next.git (refs/heads/master): On Thu, 23 Sep 2021 15:36:46 +0300 you wrote: > From: Ido Schimmel <idosch@nvidia.com> > > Currently, mlxsw only supports IP-in-IP with IPv4 underlay. Traffic > routed through 'gre' netdevs is encapsulated with IPv4 and GRE headers. > Similarly, incoming IPv4 GRE packets are decapsulated and routed in the > overlay VRF (which can be the same as the underlay VRF). > > [...] Here is the summary with links: - [net-next,01/14] mlxsw: spectrum_router: Create common function for fib_entry_type_unset() code https://git.kernel.org/netdev/net-next/c/45bce5c99d46 - [net-next,02/14] mlxsw: spectrum_ipip: Pass IP tunnel parameters by reference and as 'const' https://git.kernel.org/netdev/net-next/c/aa6fd8f177d6 - [net-next,03/14] mlxsw: spectrum_router: Fix arguments alignment https://git.kernel.org/netdev/net-next/c/8aba32cea3f3 - [net-next,04/14] mlxsw: spectrum_ipip: Create common function for mlxsw_sp_ipip_ol_netdev_change_gre() https://git.kernel.org/netdev/net-next/c/80ef2abcddbc - [net-next,05/14] mlxsw: Take tunnel's type into account when searching underlay device https://git.kernel.org/netdev/net-next/c/59bf980dd90f - [net-next,06/14] mlxsw: reg: Add Router IP version Six Register https://git.kernel.org/netdev/net-next/c/dd8a9552d484 - [net-next,07/14] mlxsw: reg: Add support for rtdp_ipip6_pack() https://git.kernel.org/netdev/net-next/c/a917bb271d16 - [net-next,08/14] mlxsw: reg: Add support for ratr_ipip6_entry_pack() https://git.kernel.org/netdev/net-next/c/c729ae8d6cbc - [net-next,09/14] mlxsw: reg: Add support for ritr_loopback_ipip6_pack() https://git.kernel.org/netdev/net-next/c/36c2ab890b8f - [net-next,10/14] mlxsw: Create separate ipip_ops_arr for different ASICs https://git.kernel.org/netdev/net-next/c/a82feba686e8 - [net-next,11/14] mlxsw: spectrum_ipip: Add mlxsw_sp_ipip_gre6_ops https://git.kernel.org/netdev/net-next/c/713e8502fd3e - [net-next,12/14] mlxsw: Add IPV6_ADDRESS kvdl entry type https://git.kernel.org/netdev/net-next/c/53eedd61dea9 - [net-next,13/14] mlxsw: spectrum_router: Increase parsing depth for IPv6 decapsulation https://git.kernel.org/netdev/net-next/c/8d4f10463cd6 - [net-next,14/14] mlxsw: Add support for IP-in-IP with IPv6 underlay for Spectrum-2 and above https://git.kernel.org/netdev/net-next/c/ba1c71324bc2 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
From: Ido Schimmel <idosch@nvidia.com> Currently, mlxsw only supports IP-in-IP with IPv4 underlay. Traffic routed through 'gre' netdevs is encapsulated with IPv4 and GRE headers. Similarly, incoming IPv4 GRE packets are decapsulated and routed in the overlay VRF (which can be the same as the underlay VRF). This patchset adds support for IPv6 underlay using the 'ip6gre' netdev. Due to architectural differences between Spectrum-1 and later ASICs, this functionality is only supported on Spectrum-2 onwards (the software data path is used for Spectrum-1). Patchset overview: Patches #1-#5 are preparations. Patches #6-#9 add and extend required device registers. Patches #10-#14 gradually add IPv6 underlay support. A follow-up patchset will add net/forwarding/ selftests. Amit Cohen (14): mlxsw: spectrum_router: Create common function for fib_entry_type_unset() code mlxsw: spectrum_ipip: Pass IP tunnel parameters by reference and as 'const' mlxsw: spectrum_router: Fix arguments alignment mlxsw: spectrum_ipip: Create common function for mlxsw_sp_ipip_ol_netdev_change_gre() mlxsw: Take tunnel's type into account when searching underlay device mlxsw: reg: Add Router IP version Six Register mlxsw: reg: Add support for rtdp_ipip6_pack() mlxsw: reg: Add support for ratr_ipip6_entry_pack() mlxsw: reg: Add support for ritr_loopback_ipip6_pack() mlxsw: Create separate ipip_ops_arr for different ASICs mlxsw: spectrum_ipip: Add mlxsw_sp_ipip_gre6_ops mlxsw: Add IPV6_ADDRESS kvdl entry type mlxsw: spectrum_router: Increase parsing depth for IPv6 decapsulation mlxsw: Add support for IP-in-IP with IPv6 underlay for Spectrum-2 and above drivers/net/ethernet/mellanox/mlxsw/reg.h | 86 +++- .../net/ethernet/mellanox/mlxsw/spectrum.h | 2 + .../ethernet/mellanox/mlxsw/spectrum2_kvdl.c | 1 + .../ethernet/mellanox/mlxsw/spectrum_ipip.c | 432 ++++++++++++++++-- .../ethernet/mellanox/mlxsw/spectrum_ipip.h | 27 +- .../ethernet/mellanox/mlxsw/spectrum_router.c | 186 ++++++-- .../ethernet/mellanox/mlxsw/spectrum_router.h | 2 + 7 files changed, 641 insertions(+), 95 deletions(-)