Thread (16 messages) flat view 16 messages, 2 authors, 2021-09-24
STALE1777d

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

From: Ido Schimmel <hidden>
Date: 2021-09-23 12:38:08

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(-)

-- 
2.31.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help