fib: notifier: Add VIF add and delete event types
authorYotam Gigi <yotamg@mellanox.com>
Wed, 27 Sep 2017 06:23:11 +0000 (08:23 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 27 Sep 2017 18:33:27 +0000 (11:33 -0700)
In order for an interface to forward packets according to the kernel
multicast routing table, it must be configured with a VIF index according
to the mroute user API. The VIF index is then used to refer to that
interface in the mroute user API, for example, to set the iif and oifs of
an MFC entry.

In order to allow drivers to be aware and offload multicast routes, they
have to be aware of the VIF add and delete notifications.

Due to the fact that a specific VIF can be deleted and re-added pointing to
another netdevice, and the MFC routes that point to it will forward the
matching packets to the new netdevice, a driver willing to offload MFC
cache entries must be aware of the VIF add and delete events in addition to
MFC routes notifications.

Signed-off-by: Yotam Gigi <yotamg@mellanox.com>
Reviewed-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Reviewed-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/fib_notifier.h

index 669b9716dc7a67c8c9048d70a97229546d8fc29b..54cd6b839d2f6659f2208e20608d577c6aee4061 100644 (file)
@@ -20,6 +20,8 @@ enum fib_event_type {
        FIB_EVENT_RULE_DEL,
        FIB_EVENT_NH_ADD,
        FIB_EVENT_NH_DEL,
+       FIB_EVENT_VIF_ADD,
+       FIB_EVENT_VIF_DEL,
 };
 
 struct fib_notifier_ops {