From: Ido Schimmel <[email protected]>
This patch set adds support for nexthop objects in mlxsw. Nexthop
objects are treated as another front-end for programming nexthops, in
addition to the existing IPv4 and IPv6 front-ends.
Patch #1 registers a listener to the nexthop notification chain and
parses the nexthop information into the existing mlxsw data structures
that are already used by the IPv4 and IPv6 front-ends. Blackhole
nexthops are currently rejected. Support will be added in a follow-up
patch set.
Patch #2 extends mlxsw to resolve its internal nexthop objects from the
nexthop identifier encoded in the FIB info of the notified routes.
Patch #3 finally removes the limitation of rejecting routes that use
nexthop objects.
Patch #4 adds a selftest.
Patches #5-#8 add generic forwarding selftests that can be used with
veth pairs or physical loopbacks.
Ido Schimmel (8):
mlxsw: spectrum_router: Add support for nexthop objects
mlxsw: spectrum_router: Enable resolution of nexthop groups from
nexthop objects
mlxsw: spectrum_router: Allow programming routes with nexthop objects
selftests: mlxsw: Add nexthop objects configuration tests
selftests: forwarding: Do not configure nexthop objects twice
selftests: forwarding: Test IPv4 routes with IPv6 link-local nexthops
selftests: forwarding: Add device-only nexthop test
selftests: forwarding: Add multipath tunneling nexthop test
.../ethernet/mellanox/mlxsw/spectrum_router.c | 498 +++++++++++++++++-
.../ethernet/mellanox/mlxsw/spectrum_router.h | 1 +
.../selftests/drivers/net/mlxsw/rtnetlink.sh | 189 +++++++
.../net/forwarding/gre_multipath_nh.sh | 356 +++++++++++++
.../net/forwarding/router_mpath_nh.sh | 12 +-
.../selftests/net/forwarding/router_nh.sh | 160 ++++++
6 files changed, 1201 insertions(+), 15 deletions(-)
create mode 100755 tools/testing/selftests/net/forwarding/gre_multipath_nh.sh
create mode 100755 tools/testing/selftests/net/forwarding/router_nh.sh
--
2.28.0