OSDN Git Service

mlxsw: Add support for IP-in-IP with IPv6 underlay for Spectrum-2 and above
authorAmit Cohen <amcohen@nvidia.com>
Thu, 23 Sep 2021 12:37:00 +0000 (15:37 +0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 24 Sep 2021 09:26:52 +0000 (10:26 +0100)
commitba1c71324bc22fae1d9d0f531c2db2fd0934c963
tree586c9858538cf3882fdc4e80b134baa1a67def65
parent8d4f10463cd67cd5a7aeff74af0a91cc07f94fd8
mlxsw: Add support for IP-in-IP with IPv6 underlay for Spectrum-2 and above

Currently, mlxsw driver supports IP-in-IP only with IPv4 underlay.
Add support for IPv6 underlay for Spectrum-2 and above.

Most of the configurations are same to IPv4, the main difference between
IPv4 and IPv6 is related to saving IP addresses.
IPv6 addresses are saved as part of KVD and the relevant registers hold
pointer to them.
Add API for that as part of ipip_ops, so then only Spectrum-2 and above
will save IPv6 addresses in this way.

Signed-off-by: Amit Cohen <amcohen@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/spectrum_ipip.c
drivers/net/ethernet/mellanox/mlxsw/spectrum_ipip.h
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c