diff options
author | Maria Matejka <mq@ucw.cz> | 2023-02-07 14:27:23 +0100 |
---|---|---|
committer | Maria Matejka <mq@ucw.cz> | 2023-02-07 14:27:23 +0100 |
commit | a2fd889a3b95960311560a3796be5cdf92affcfc (patch) | |
tree | a2a1a2fbe6a957a37e0b6e2241d072555e07b95a /sysdep | |
parent | f7c2a886c9fb73b2749d5e270f15b79c44e72a62 (diff) | |
parent | 0bb04d5390f21b0c96fc4894ba5d5510c541f0ef (diff) |
Merge commit '0bb04d5390f21b0c96fc4894ba5d5510c541f0ef' into HEAD
Diffstat (limited to 'sysdep')
-rw-r--r-- | sysdep/unix/krt.c | 12 |
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; |