summaryrefslogtreecommitdiff
path: root/sysdep/unix
diff options
context:
space:
mode:
authorMaria Matejka <mq@ucw.cz>2023-02-07 14:27:23 +0100
committerMaria Matejka <mq@ucw.cz>2023-02-07 14:27:23 +0100
commita2fd889a3b95960311560a3796be5cdf92affcfc (patch)
treea2a1a2fbe6a957a37e0b6e2241d072555e07b95a /sysdep/unix
parentf7c2a886c9fb73b2749d5e270f15b79c44e72a62 (diff)
parent0bb04d5390f21b0c96fc4894ba5d5510c541f0ef (diff)
Merge commit '0bb04d5390f21b0c96fc4894ba5d5510c541f0ef' into HEAD
Diffstat (limited to 'sysdep/unix')
-rw-r--r--sysdep/unix/krt.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/sysdep/unix/krt.c b/sysdep/unix/krt.c
index b3681c9c..fdfaa2d4 100644
--- a/sysdep/unix/krt.c
+++ b/sysdep/unix/krt.c
@@ -163,6 +163,15 @@ kif_shutdown(struct proto *P)
return PS_DOWN;
}
+static void
+kif_cleanup(struct proto *p)
+{
+ if (p->debug & D_EVENTS)
+ log(L_TRACE "%s: Flushing interfaces", p->name);
+ if_start_update();
+ if_end_update();
+}
+
static int
kif_reconfigure(struct proto *p, struct proto_config *new)
{
@@ -238,6 +247,7 @@ struct protocol proto_unix_iface = {
.init = kif_init,
.start = kif_start,
.shutdown = kif_shutdown,
+ .cleanup = kif_cleanup,
.reconfigure = kif_reconfigure,
.copy_config = kif_copy_config
};
@@ -845,7 +855,7 @@ krt_init(struct proto_config *CF)
p->p.preexport = krt_preexport;
p->p.rt_notify = krt_rt_notify;
- p->p.if_notify = krt_if_notify;
+ p->p.iface_sub.if_notify = krt_if_notify;
p->p.reload_routes = krt_reload_routes;
p->p.feed_end = krt_feed_end;