summaryrefslogtreecommitdiffstats
path: root/sysdep/unix/krt.c
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>2000-05-16 15:36:38 +0200
committerMartin Mares <mj@ucw.cz>2000-05-16 15:36:38 +0200
commitf990fc61e0dd13ae90c9bbff811736dfd52988b0 (patch)
tree969f9f03d3e449ca62d8ec68d55b4838b4040208 /sysdep/unix/krt.c
parentc5a06f65ee20328b8d0f2276287e223e4fd4a595 (diff)
downloadbird-f990fc61e0dd13ae90c9bbff811736dfd52988b0.tar
bird-f990fc61e0dd13ae90c9bbff811736dfd52988b0.zip
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/krt.c')
-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 74ab223..9bc2980 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))