mirror of
https://gitlab.labs.nic.cz/labs/bird.git
synced 2024-05-11 16:54:54 +00:00
Moved interface list flush to device protocol cleanup hook.
The interface list must be flushed when device protocol is stopped. This was done in a hardcoded specific hook inside generic protocol routines. The cleanup hook was originally used for table reference counting late cleanup, yet it can be also simply used for prettier interface list flush.
This commit is contained in:
@@ -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)
|
||||
{
|
||||
@@ -239,6 +248,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
|
||||
};
|
||||
|
Reference in New Issue
Block a user