On 27/02/18 20:58, Yuval Mintz wrote: > mfc_cache and mfc6_cache are almost identical - the main difference is > in the origin/group addresses and comparison-key. Make a common > structure encapsulating most of the multicast routing logic - mr_mfc > and convert both ipmr and ip6mr into using it. > > For easy conversion [casting, in this case] mr_mfc has to be the first > field inside every multicast routing abstraction utilizing it. > > Signed-off-by: Yuval Mintz <[email protected]> > --- > drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c | 21 +- > include/linux/mroute.h | 45 +--- > include/linux/mroute6.h | 23 +-- > include/linux/mroute_base.h | 45 ++++ > net/ipv4/ipmr.c | 234 +++++++++++---------- > net/ipv6/ip6mr.c | 241 > +++++++++++----------- > 6 files changed, 312 insertions(+), 297 deletions(-) >
I feel uneasy about these casts all over the place, anyway functionally the patch looks fine. Acked-by: Nikolay Aleksandrov <[email protected]>
