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>