]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
When in persist mode, don't delete routes from kernel tables even if
authorMartin Mares <mj@ucw.cz>
Tue, 16 May 2000 13:36:38 +0000 (13:36 +0000)
committerMartin Mares <mj@ucw.cz>
Tue, 16 May 2000 13:36:38 +0000 (13:36 +0000)
they cease to exist in our routing tables due to protocols having shut down.

TODO
sysdep/unix/krt.c

diff --git a/TODO b/TODO
index 64a0628d8d65b462156d0a6bb20705c4c632945e..c8fb0d1a4d597d0feead381655b4d1dac500f0a1 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,15 +1,7 @@
 Core
 ~~~~
-- configure: default CFLAGS?
-
-- filters: deletion of mandatory attributes?
-- filters: user defined attributes?
-- filters: arithmetics and define'd symbols
-
 - kernel: persistent mode
 
-- cli: show tables?
-
 - client: Ctrl-R eats one more enter
 - client: paging?
 - client: data losses on large dumps?
@@ -48,6 +40,7 @@ Various ideas
 - netlink: realms
 - netlink: import Linux route attributes to our rta's, so that they can be filtered?
 - config: executable config files
+- filters: user defined attributes?
 - client: access control
 - io: use poll if available
 - IPv6 router advertisements
@@ -59,6 +52,7 @@ Various ideas
 - generate default route if any working BGP connection exists (aggregate engine again?)
 - generate default route to IGP's (aggregate engine yet another time?)
 - look at RFC 2386 (QoS-based routing)
+- cli: show tables?
 
 
 OSPF
index 74ab2239157ab57a51c4f64b5eb7c8e7b3235398..9bc2980835884686995fd43de5e62c017568e784 100644 (file)
@@ -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))