diff options
author | Martin Mares <mj@ucw.cz> | 2000-05-16 13:36:38 +0000 |
---|---|---|
committer | Martin Mares <mj@ucw.cz> | 2000-05-16 13:36:38 +0000 |
commit | f990fc61e0dd13ae90c9bbff811736dfd52988b0 (patch) | |
tree | 969f9f03d3e449ca62d8ec68d55b4838b4040208 | |
parent | c5a06f65ee20328b8d0f2276287e223e4fd4a595 (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.
-rw-r--r-- | TODO | 10 | ||||
-rw-r--r-- | sysdep/unix/krt.c | 2 |
2 files changed, 4 insertions, 8 deletions
@@ -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 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)) |