diff options
author | Martin Mares <mj@ucw.cz> | 2000-05-16 15:36:38 +0200 |
---|---|---|
committer | Martin Mares <mj@ucw.cz> | 2000-05-16 15:36:38 +0200 |
commit | f990fc61e0dd13ae90c9bbff811736dfd52988b0 (patch) | |
tree | 969f9f03d3e449ca62d8ec68d55b4838b4040208 /sysdep/unix | |
parent | c5a06f65ee20328b8d0f2276287e223e4fd4a595 (diff) | |
download | bird-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')
-rw-r--r-- | sysdep/unix/krt.c | 2 |
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)) |