From: Ido Schimmel <ido...@nvidia.com> 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