ipmr: ip6mr: Create new sockopt to clear mfc cache or vifs
authorCallum Sinclair <callum.sinclair@alliedtelesis.co.nz>
Sun, 17 Feb 2019 21:07:52 +0000 (10:07 +1300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 21 Feb 2019 21:05:05 +0000 (13:05 -0800)
commitca8d4794f669e721fb5198f6d142e42dd8080239
treea48755897c6931d7e77ef0f2ef15245b2a146995
parentfd8ca8944580404acd9c221b93984bd787b4a604
ipmr: ip6mr: Create new sockopt to clear mfc cache or vifs

Currently the only way to clear the forwarding cache was to delete the
entries one by one using the MRT_DEL_MFC socket option or to destroy and
recreate the socket.

Create a new socket option which with the use of optional flags can
clear any combination of multicast entries (static or not static) and
multicast vifs (static or not static).

Calling the new socket option MRT_FLUSH with the flags MRT_FLUSH_MFC and
MRT_FLUSH_VIFS will clear all entries and vifs on the socket except for
static entries.

Signed-off-by: Callum Sinclair <callum.sinclair@alliedtelesis.co.nz>
Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/mroute.h
include/uapi/linux/mroute6.h
net/ipv4/ipmr.c
net/ipv6/ip6mr.c