Yuval says: The series is intended to allow offloading IPv6 multicast routes and is split into two parts:
- First half of the patches continue extending ip6mr [& refactor ipmr] with missing bits necessary for the offloading - fib-notifications, mfc refcounting and default rule identification. - Second half of the patches extend functionality inside mlxsw, beginning with extending lower-parts to support IPv6 mroutes to host and later extending the router/mr internal APIs within the driver to accommodate support in ipv6 configurations. Lastly it adds support in the RTNL_FAMILY_IP6MR notifications, allowing driver to react and offload related routes. Yuval Mintz (15): ipmr: Make vif fib notifiers common ipmr: Make MFC fib notifiers common ipmr: Make ipmr_dump() common ip6mr: Support fib notifications ip6mr: Add API for default_rule fib ip6mr: Add refcounting to mfc mlxsw: reg: Configure RIF to forward IPv6 multicast packets mlxsw: reg: Add register settings for IPv6 multicast routing mlxsw: spectrum_mr: Pass protocol as part of catchall route params mlxsw: spectrum_router: Support IPv6 multicast to host CPU mlxsw: spectrum_mr: Convert into using mr_mfc mlxsw: spectrum_router: Make IPMR-related APIs family agnostic mlxsw: spectrum_mr: Add ipv6 specific operations mlxsw: spectrum_router: Process IP6MR fib notification mlxsw: spectrum: Add multicast router trap for PIMv6 drivers/net/ethernet/mellanox/mlxsw/reg.h | 74 +++++- drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 1 + drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c | 293 +++++++++++++-------- drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h | 9 +- .../net/ethernet/mellanox/mlxsw/spectrum_mr_tcam.c | 105 +++++--- .../net/ethernet/mellanox/mlxsw/spectrum_router.c | 98 +++++-- .../net/ethernet/mellanox/mlxsw/spectrum_router.h | 1 + drivers/net/ethernet/mellanox/mlxsw/trap.h | 1 + include/linux/mroute.h | 33 --- include/linux/mroute6.h | 10 + include/linux/mroute_base.h | 128 +++++++++ include/net/netns/ipv6.h | 2 + net/ipv4/ipmr.c | 110 +------- net/ipv4/ipmr_base.c | 42 +++ net/ipv6/ip6mr.c | 125 ++++++++- 15 files changed, 701 insertions(+), 331 deletions(-) -- 2.14.3