On 25/09/17 12:35, Nikolay Aleksandrov wrote: > On 24/09/17 20:22, Jiri Pirko wrote: >> From: Yotam Gigi <yot...@mellanox.com> >> >> Make the ipmr module register as a FIB notifier. To do that, implement both >> the ipmr_seq_read and ipmr_dump ops. >> >> The ipmr_seq_read op returns a sequence counter that is incremented on >> every notification related operation done by the ipmr. To implement that, >> add a sequence counter in the netns_ipv4 struct and increment it whenever a >> new MFC route or VIF are added or deleted. The sequence operations are >> protected by the RTNL lock. >> >> The ipmr_dump iterates the list of MFC routes and the list of VIF entries >> and sends notifications about them. The entries dump is done under RCU >> where the VIF dump uses the mrt_lock too, as the vif->dev field can change >> under RCU. >> >> Signed-off-by: Yotam Gigi <yot...@mellanox.com> >> Reviewed-by: Ido Schimmel <ido...@mellanox.com> >> Signed-off-by: Jiri Pirko <j...@mellanox.com> >> --- >> v1->v2: >> - Take the mrt_lock when dumping VIF entries. >> --- >> include/linux/mroute.h | 15 ++++++ >> include/net/netns/ipv4.h | 3 ++ >> net/ipv4/ipmr.c | 137 >> ++++++++++++++++++++++++++++++++++++++++++++++- >> 3 files changed, 153 insertions(+), 2 deletions(-) >> > > LGTM, > > Reviewed-by: Nikolay Aleksandrov <niko...@cumulusnetworks.com> > >
One note here if you're going to spin another version of the set, you can consider renaming the call_* functions to either mroute_* or ipmr_* (e.g. ipmr_call_...). I personally prefer the ipmr prefix.