summaryrefslogtreecommitdiff
path: root/sysdep/unix
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>2000-05-16 13:36:38 +0000
committerMartin Mares <mj@ucw.cz>2000-05-16 13:36:38 +0000
commitf990fc61e0dd13ae90c9bbff811736dfd52988b0 (patch)
tree969f9f03d3e449ca62d8ec68d55b4838b4040208 /sysdep/unix
parentc5a06f65ee20328b8d0f2276287e223e4fd4a595 (diff)
When in persist mode, don't delete routes from kernel tables even if
they cease to exist in our routing tables due to protocols having shut down.
Diffstat (limited to 'sysdep/unix')
-rw-r--r--sysdep/unix/krt.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sysdep/unix/krt.c b/sysdep/unix/krt.c
index 74ab2239..9bc29808 100644
--- a/sysdep/unix/krt.c
+++ b/sysdep/unix/krt.c
@@ -667,6 +667,8 @@ krt_notify(struct proto *P, net *net, rte *new, rte *old, struct ea_list *attrs)
{
struct krt_proto *p = (struct krt_proto *) P;
+ if (shutting_down && KRT_CF->persist)
+ return;
if (new && (!krt_capable(new) || new->attrs->source == RTS_INHERIT))
new = NULL;
if (!(net->n.flags & KRF_INSTALLED))