ipv4: fib: Notify about nexthop status changes
When a multipath route is hit the kernel doesn't consider nexthops that are DEAD or LINKDOWN when IN_DEV_IGNORE_ROUTES_WITH_LINKDOWN is set. Devices that offload multipath routes need to be made aware of nexthop status changes. Otherwise, the device will keep forwarding packets to non-functional nexthops. Add the FIB_EVENT_NH_{ADD,DEL} events to the fib notification chain, which notify capable devices when they should add or delete a nexthop from their tables. Cc: Roopa Prabhu <roopa@cumulusnetworks.com> Cc: David Ahern <dsa@cumulusnetworks.com> Cc: Andy Gospodarek <andy@greyhouse.net> Signed-off-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: Jiri Pirko <jiri@mellanox.com> Reviewed-by: Andy Gospodarek <gospo@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

szülő
70ad35067c
commit
982acb9756
@@ -214,11 +214,18 @@ struct fib_entry_notifier_info {
|
||||
u32 nlflags;
|
||||
};
|
||||
|
||||
struct fib_nh_notifier_info {
|
||||
struct fib_notifier_info info; /* must be first */
|
||||
struct fib_nh *fib_nh;
|
||||
};
|
||||
|
||||
enum fib_event_type {
|
||||
FIB_EVENT_ENTRY_ADD,
|
||||
FIB_EVENT_ENTRY_DEL,
|
||||
FIB_EVENT_RULE_ADD,
|
||||
FIB_EVENT_RULE_DEL,
|
||||
FIB_EVENT_NH_ADD,
|
||||
FIB_EVENT_NH_DEL,
|
||||
};
|
||||
|
||||
int register_fib_notifier(struct notifier_block *nb,
|
||||
|
Reference in New Issue
Block a user