summary refs log tree commit diff
diff options
context:
space:
mode:
authorIdo Schimmel <idosch@mellanox.com>2019-12-23 15:28:14 +0200
committerDavid S. Miller <davem@davemloft.net>2019-12-24 22:37:29 -0800
commit51bf7f387fdfe5ec8c33734b3124ccec83c8d0c3 (patch)
treef54fafc19d8262b324178edf710ebeae6f2221dd
parentc10c4279c778df03f404a4d6906d7d4b840eb95f (diff)
downloadlinux-51bf7f387fdfe5ec8c33734b3124ccec83c8d0c3.tar.gz
ipv6: Notify route if replacing currently offloaded one
Similar to the corresponding IPv4 patch, only notify the new route if it
is replacing the currently offloaded one. Meaning, the one pointed to by
'fn->leaf'.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Reviewed-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/ipv6/ip6_fib.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c
index 045bcaf5e770..7cf9554888b0 100644
--- a/net/ipv6/ip6_fib.c
+++ b/net/ipv6/ip6_fib.c
@@ -1231,6 +1231,13 @@ add:
 		}
 
 		if (!info->skip_notify_kernel) {
+			enum fib_event_type fib_event;
+
+			fib_event = FIB_EVENT_ENTRY_REPLACE_TMP;
+			if (ins == &fn->leaf)
+				err = call_fib6_entry_notifiers(info->nl_net,
+								fib_event, rt,
+								extack);
 			err = call_fib6_entry_notifiers(info->nl_net,
 							FIB_EVENT_ENTRY_REPLACE,
 							rt, extack);