From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-il-dmz.mellanox.com ([193.47.165.129]:33560 "EHLO mellanox.co.il" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S934682AbeB1Uu6 (ORCPT ); Wed, 28 Feb 2018 15:50:58 -0500 Date: Wed, 28 Feb 2018 22:50:24 +0200 From: Yuval Mintz To: Nikolay Aleksandrov Cc: Yuval Mintz , netdev@vger.kernel.org, mlxsw@mellanox.com, kuznet@ms2.inr.ac.ru, yoshfuji@linux-ipv6.org Subject: Re: [PATCH net-next 06/11] ipmr, ip6mr: Make mfc_cache a common structure Message-ID: <20180228205023.GA52760@dev-r-vrt-155.mtr.labs.mlnx> References: <1519757908-32863-1-git-send-email-yuvalm@mellanox.com> <1519757908-32863-7-git-send-email-yuvalm@mellanox.com> <25be1f39-a85d-ee16-5f72-76f4b539f07f@cumulusnetworks.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <25be1f39-a85d-ee16-5f72-76f4b539f07f@cumulusnetworks.com> Sender: netdev-owner@vger.kernel.org List-ID: On Wed, Feb 28, 2018 at 12:38:20AM +0200, Nikolay Aleksandrov wrote: > 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 > > --- > > 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. Well, testing revealed a bug in handling unresolved cache entries; I'll fix it as well in v2.