mbox series

[net-next,00/14] mlxsw: Add support for IP-in-IP with IPv6 underlay

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

Message

Ido Schimmel Sept. 23, 2021, 12:36 p.m. UTC
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(-)

Comments

patchwork-bot+netdevbpf@kernel.org Sept. 24, 2021, 9:40 a.m. UTC | #1
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